Справка онлайн | Advanced Serial Port Monitor
О программе
Программа предназначена для работы с последовательным портом (RS232, COM port, UART) на IBM - совместимых компьютерах под управлением операционной системы Windows и обладает следующими возможностями:
•передача произвольных данных в обоих направлениях (от компьютера и к нему) в дуплексном режиме (одновременный прием и передача);
•работа в автоматическом и ручном режимах;
•возможность работать в режиме наблюдателя, когда исследуется обмен данными другой программы;
•произвольный источник данных (строка ввода или файл);
•вывод принимаемых данных в файл;
•гибкая настройка параметров связи (скорость, биты данных, и т.д.);
•возможность подключения внешних модулей;
•дружественный, полностью настраиваемый интерфейс.
Системные требования
Для запуска программы необходима одна из ниже перечисленных операционных систем:
•Windows 2000 и выше (требуются права администратора).
•Windows Server 2003 и выше (требуются права администратора).
Необходимо наличие хотя бы одного свободного СОМ порта, не занятого никаким устройством (например, мышью), для подключения внешних устройств.
Процесс установки
Запустите программу установки aspmon4.exe.
Если на Вашем компьютере была ранее установлена любая бета-версия, то удалите ее.
Выйдите на время установки из работающей программы Advanced Serial Port Monitor
По умолчанию, Advanced Serial Port Monitor будет установлен в директорию "/Programs Files/Advanced Serial Port Monitor" вашего системного диска, но Вы можете изменить этот путь.
В стандартной поставке Advanced Serial Port Monitor отсутствуют файлы дополнительных модулей, которые Вы можете скачать с нашего сайта.
Первый запуск
Спасибо за то, что вы уделили свое время на ознакомление с нашей программой и для чтения этого руководства. В этом разделе кратко описано то, как быстро приступить к работе с программой и получить результат. Более подробное руководство читайте в последующих разделах.
При первом запуске программы, сразу после инсталляции, Вы попадаете в главное окно программы (рис.1).
Рис.1. Главное окно программы.
Для того, чтобы сразу приступить к работе с COM портом необходимо выполнить следующие действия:
1. | настроить параметры связи (скорость, количество бит данных, количество стоповых битов и т.п.); |
2. | выбрать из списка доступных COM портов, нужный Вам; |
3. | нажать кнопку "Открыть". После того, как Вы нажали кнопку "Открыть" COM порт станет недоступным для других программ, т.к. программа использует его в монопольном режиме. Если COM порт уже был занят ранее другим приложением, то будет выведено предупреждающее сообщение; |
4. | набрав нужные данные в строке ввода нажмите клавишу "Enter" и кнопку "Отправить" в окне программы. |
Теперь Ваши данные были отправлены в COM порт. Принимаемые данные будут отображаться на экране.
Для того, чтобы выбрать в качестве источника исходных данных файл, необходимо выбрать имя файла. Для быстрого доступа к этой опции воспользуйтесь кнопкой с изображением дискеты.
Переключение между режимами работы программы осуществляется с помощью пункта меню "Режим".
После выхода из программы все выбранные Вами настройки сохраняться и будут восстановлены при следующем запуске программы.
Как пользоваться
В главном окне программы необходимо установить параметры связи. Такие как: скорость передачи данных, количество бит данных, количество стоповых бит и т.п. Если Вы не знаете что это такое, то я советую сначала почитать информацию о COM-портах и последовательном способе передачи данных.
Расширенные настройки протокола передачи данных и методов контроля передачи данных доступны в опциях. Доступна работа программы режиме интерфейса RS-485, позволяющей вести полудуплексную передачу данных, при которой программа управляет линии RTS для выбора направления потока данных.
Далее необходимо нажать кнопку "Открыть". При нажатии на эту кнопку произойдет открытие (эксклюзивное) COM-порта с заданным номером. В случае успешного выполнения операции открытия, в статусной строке появляется сообщение, и СОМ-порт становится доступным для отправки и получения данных.
Замечание: Под номером СОМ-порта подразумевается не физическое расположение устройства, а номер заданный данному СОМ-порту в свойствах операционной системы Windows. Этот номер связан с адресом устройства (UART - устройства асинхронной передачи данных) в данной системе. Этот адрес можно изменить в установках BIOS/Setup.
Внимание: Если Вы не знаете, что такое BIOS или UART, то познакомьтесь и не производите никаких настроек в Setup'е. Это может привести к нежелательным последствиям.
Также в главном окне программы находятся (см. рис.1 в предыдущем разделе):
•Окно для вывода поступающих данных;
•Панель управления работой COM порта;
•Кнопка очистки окна отображения данных;
•Поле, в котором Вы можете разрешить или запретить запись в файл поступающих данных;
•Панель отображения текущего состояния линии связи, некоторыми сигналами которой Вы можете управлять вручную;
•Кнопки для быстрого доступа к наиболее часто используемым опциям;
Необходимо определиться с режимом работы программы:
•Ручной - в этом режиме данные отсылаются при нажатии кнопки "Отправить";
•Автоматический - в этом режиме данные отсылаются автоматически, пакетами, через интервал, определенный в поле "Задержка" в главном окне программы;
•Наблюдатель - Наблюдатель - в этом режиме наблюдается передача данных через COM порт другой программой. Поэтому в этом режиме недоступна настройка параметров коммуникации, за исключением номера наблюдаемого COM порта;
•Внешние модули - в этом режиме управление передается выбранному внешнему (дополнительному) модулю, осуществляющего контроль за приемом и передачей данных. Для более продуктивной работы Вы можете запускать несколько внешних модулей.
Подробнее о каждом из режимов читайте в соответствующем разделе. В зависимости от выбранного режима становятся доступными те или иные элементы управления.
В ручном и автоматическом режимах Вы можете использовать в качестве источника данных файл. Это может быть текстовый или двоичный файл. Выбор источника данных осуществляется через пункт меню "Исходные данные".
•Строка ввода - для отправки данных используется строка ввода в главном окне программы. Вы можете сформировать пакет данных, содержащий также символы с кодом < #20h, отправка которого произойдет в соответствии с выбранным режимом работы;
•Файл - данные берутся из файла, который Вы определили в опциях. Пока файл не задан этот режим остается недоступным.
Подробнее о каждом из источников данных читайте в соответствующем разделе.
Если во время работы программы происходит также прием данных, то они отображаются в окне принимаемых данных. Формат и способ отображения данных задается в опциях. Существует много настроек для более эффективной работы.
Окно принимаемых данных можно очищать вручную по мере необходимости или задать в опциях размер экранного буфера.
Принимаемые и отсылаемые данные также могут сохранятся в одном или разных файлах. Расширенная настройка режима формирования файлов и разделения данных доступна в опциях.
Для того, чтобы произвести полную настройку программы перейдите к пункту меню "Опции|Настройка программы". В появившемся окне (рис.1), переходя от одного раздела к другому внесите необходимые изменения.
Рис.1 Контроль передачи данных
Признак конца строки
Для идентификации передаваемых пакетов данных Вы может добавлять в конец пакета признак его окончания. Также для того, чтобы программа могла выделять пакеты данных из общего входящего информационного потока необходимо задать признак конца строки на прием данных. Эта параметры настраиваются опциях в пункте "COM порт|Признак конца строки"
Рис.1. Признак конца строки
Во время работы программы, выбранный Вами символ или строка будем считаться признаком конца пакета данных. При выводе этот признак будет добавляться к тексту, введенному в строке ввода, или считанному из ASCII файла. При приеме данных этот символ служит признаком, по которому будет подсчитываться длина строки и осуществляться формирование новой строки на экране. Также этот символ определяет событие для внешнего модуля на прием очередной строки.
Допускается определять символ(ы) конца строки на прием и передачу. Причем эти символы могут быть различными. Также вы можете отказаться от любого перечисленных символов (или их комбинации), выбрав "Нет". Значение типа символа конца строки сохраняется при закрытии программы и восстанавливается при очередной загрузке.
Вид окна и отображение данных
Удобство и дружественный интерфейс это одно из основных достоинств нашей программы. Вы можете настраивать многие мелкие детали интерфейса начиная с цвета фона и заканчивая расположением панелей инструментов в главном окне программы.
Все настройки автоматически сохраняются при выходе из программы и восстанавливаются при очередном запуске.
В опциях в пункте "Прочее|Вид окна" вы можете настроить (перечислено сверху - вниз):
Рис.1. Вид окна
1. | Запускать в свернутом состоянии - при старте программы главное окно не появляется на рабочем столе, а помещает свою иконку в системную панель; |
2. | Сворачивать в панель рядом с часами - Вы можете выбрать, чтобы программа при сворачивании помещала свою иконку на панели рядом с часами (SysTray). Потом, при необходимости, Вы можете щелкнув левой кнопкой мыши по иконке восстановить прежнее положения окна. При нажатии правой кнопки мыши на иконке будет выведено контекстное меню. Во время нахождения курсора на иконкой в Systray будет выведено краткое текущее состояние Advanced Serial Port Monitor. |
3. | Сворачивать при запуске внешнего модуля - главное окно программы будет исчезать до завершения работы внешнего модуля. |
4. | Выводить данные на экран в свернутом состоянии - данные на экран будут выводиться только в том случае если главное окно программы видимо. В некоторых случаях это может уменьшить нагрузку на процессор. |
5. | Скрыть строку статуса, скрыть экран принимаемых данных - Вы можете изменить внешний вид окна, растянув его по вертикали или горизонтали. Также Вы можете убрать из поля зрения строку статуса или окно принимаемых данных. |
6. | Вид экрана - позволить Вам настроить цвет фона и символов в окне принимаемых данных |
7. | Полоса прокрутки - отображать или нет полосу прокрутки в окне отображения принимаемых данных |
8. | Количество строк в экранном буфере - если будет превышено количество строк, указанное в этой настройке то окно отображения принимаемых данных будет автоматически очищено. |
Также в пункте "Прочее|Отображение данных" Вы можете настроить вид данных отображаемых в окне программы:
Рис.2. Вид данных
1. | Режим отображения данных с кодом < 20 Hex - поскольку принимаемые данные состоят из набора байтов Вы может настроить отображение байт данных с кодом < 20 Hex. Эти данные не имеют соответствующего символа, поэтому эти данные могут быть отображены только в виде шестнадцатеричного или десятичного кода. |
2. | Режим отображения данных с кодом > 20 Hex - поскольку принимаемые данные состоят из набора байтов Вы может настроить отображение байт данных с кодом > 20 Hex. Вы можете указать отображать эти данные в виде шестнадцатеричного или десятичного кода или в виде символа, соответствующего данному коду. |
3. | Вы можете настроить пользовательский формат отображения байт данных. Директива %d указывает отображать значение десятичного кода, директива %x - значение шестнадцатеричного кода. Вы можете указывать в формате другие обрамляющие символы. |
4. | Если ведется прием данных в ASCII кодировке, то можно указать кодировку принимаемых данных, для корректного отображения их в окне принимаемых данных. |
5. | Отображать длину принятого пакета данных - будет подсчитываться длина пакета и выводиться в окно принимаемых данных; |
6. | Подсвечивать на экране отсылаемые данные - строка, с отсылаемыми данными будет подсвечена указанным цветом. |
Полезные советы
•Просмотрите всплывающие подсказки на всех элементах окна - это поможет Вам получить представление о выполняемой этим элементом функции;
•Нажатие кнопки "Послать" аналогично нажатию клавиши "Enter" в строке ввода;
•Скорость передачи, количество бит данных, количество битов останова, тип четности и прочее можно менять в процессе работы программы без закрытия COM порта;
•Многие элементы главного окна программы имеют "горячие" клавиши для быстрого доступа их функциям:
•Ctrl+S - аналогично нажатию клавиши "Послать";
•Ctrl+O - аналогично нажатию клавиши "Открыть/Закрыть";
•Ctrl+W - активировать/отключить запись в файл;
•Ctrl+C - аналогично нажатию кнопки "Очистить";
•F4 - переход к строке ввода данных;
•Ctrl+T - активизировать режим, где исходными данными является строка ввода;
•Ctrl+F - активизировать режим, где исходными данными является файл;
•Ctrl+Alt+E - переход к опциям настройки признаков конца пакета данных;
•Ctrl+Alt+F - переход к опциям настройки формирования файлов протокола;
•Ctrl+Alt+С - переход к дополнительным опциям конфигурирования COM порта.
•При смене номера коммуникационного порта не обязательно нажимать кнопку "Стоп". Закрытие текущего и открытие нового коммуникационного порта произойдет автоматически;
•Вы можете вручную изменять состояние сигналов RTS и DTR линии связи кликнув несоответствующий индикатор.
Вид метки времени
Эта закладка позволяет настроить вид метки даты и времени, которая будет отображаться на экране и выводиться в файл. С опцией "Добавлять для принимаемых данных" и "Добавлять для отправляемых данных" вы можете включить штамп времени для соответствующего направления передачи данных.
Затем вы можете настроить вид штампа времени. Выберите желаемый формат в группе "Режим отображения" и вы увидите пример в поле "Образец". Поле "Обрамляющие символы" позволяет добавить символы, которые будут добавлять до и после метки времени. На закладке "Шрифт и цвета" вы можете задать цвет метки времени. Если вы будете анализировать лог файлы или данных в большом объеме, то возможно, что вам будет полезна опция "Добавлять знак направления в метку". При ее включении метка времени будет содержать признак направления передачи данных (TX - передача, RX - прием, SYS - системные события).
Рис.1. Настройка вида метки времени
Параметры командной строки
С помощью параметров командной строки вы можете скорректировать параметры ASPM при запуске программы и выполнить несложные автоматические операции. У ASPM есть только один параметр следующего формата.
aspmon.exe -f script.txt
При запуске программа выполнит скрипт из файла script.txt.
Краткое описание команд скриптового языка приведено в отдельно разделе.
Произвольная скорость передачи
Вы можете добавить свою произвольную скорость передачи в список, который уже есть в программе. Для этого откройте в текстовом редакторе файл "custombaud.txt" в папке с программой и добавьте вашу скорость передачи, по одной в строке. После изменения файла, необходимо перезапустить ASPM.
Пример:
; Please, add your custom baud rates here
; One baudrate per row. Please, use digits only
; After you finished, please, restart ASPM
28800
Файлы
В программе Advanced Serial Port Monitor используется два типа файлов.
•Файл исходных (отправляемых) данных - из этого файла считываются данные для передачи через COM порт.
•Файлы протокола - используются для сохранения данных, полученных или отправленных через COM порт;
Настройка режима работы программы с каждым из вышеперечисленных типов файлов доступна в опциях.
В некоторых режимах работы программы возможно дублирование исходных данных в другом файле, для создания протокола обмена данными.
Файл исходных данных
Для облегчения процесса передачи больших объемов данных или передачи повторяющихся блоков данных Вы можете использовать файлы исходных данных.
Программа может работать со следующими типами файлов:
Рис.1. Файл исходных данных
•Текстовые - данные из этого типа файла считываются построчно. При считывании строки из файла обрезается существующий признак конца строки, а при передаче данных добавляется (или нет) признак конца строки, заданный в настройках программы;
•Двоичные - данные из этого типа файла считываются поблочно. Признаком конца блока считается признак конца строки, заданный в программе для отсылаемых данных. При считывании блока он полностью и без модификаций отсылается через COM порт. В случае, если в двоичном файле не будет найден признак окончания блока данных, то будет передан весь двоичный файл как один блок.
В тех случаях, когда необходимо передавать данные постоянно, задайте режим вывода файла. Если Вы выберите многократный режим вывода файла, то при достижении конца файла передача данных продолжится при следующей отправке с первого байта файла.
В случае, если Вы не задали файл исходных данных Вы не сможете выбрать файл в качестве источника данных.
В некоторых случаях может потребоваться протоколирование передачи данных. В этом случае необходимо указать выводить исходные данные в файл в меню "Опции" главного окна программы. Режим протоколирования данных описан в следующем разделе.
Файлы протокола
Данный тип файлов позволяет сохранять всю историю обмена данными между Advanced Serial Port Monitor и принимающей стороной. В файл протокола могут быть записаны как принимаемые данные, так и передаваемые данные. Разрешение на запись исходных данных в файл протокола задается в меню "Опции" главного окна программы. Для быстрого доступа к окну настройки формирования файлов протокола воспользуйтесь кнопкой в главном окне программы.
Рис.1 Файлы протокола
Существует несколько возможностей формирования файлов протокола:
•Один файл для отсылаемых и получаемых данных - все данные протоколируются в одном файле, имя и расположения которого вы укажите;
•Отсылаемые и принимаемые данные в разных файлах - отсылаемые и принимаемые данные могут располагаться в разных файла. Имя и расположения файлов Вы также можете настроить;
•Каждый пакет данных в отдельном файле - в этом режиме каждый запрос и полученная порция данных записывается в отдельный файл (запрос и принятый пакет в разных файлах). Вам необходимо указать папку, где будут формироваться файлы. Имя файла формируется из префикса (который Вы можете настроить) и автоматически увеличивающегося номера. Поступающие пакеты данных должны формироваться отсылающей стороной с частотой не менее 300 мс. Иначе принимаемые данные будут записаны как один пакет. Поскольку имя файла формируется автоматически, то возможна ситуация, когда будет формироваться файл с именем уже существующего файла. В этом случае старый файл будет уничтожен и на его место будет записан новый. Вы можете настроить, что новые данные будут дописаны в конец существующего файла.
Активизация записи в файл протокола принимаемых произойдет при нажатии "горячей клавиши" или при изменении состояния разрешения записи в файл в главном окне программе.
Внимание: При активизации записи в файл в первых двух режимах, все данные в нем, если он существовал будут сохранены, поэтому необходимо следить за размером файла, дабы не допустить неограниченного роста его объема!
Принимаемые данные сохраняются в файл без какой-либо модификации. Вид на экране и данные в файле будут иметь разный вид. Проанализировать данные в сформированных файлах Вы сможете с использованием любой программы просмотра файлов. Двоичные данные могут быть проанализированы с помощью любой программы для работы с шестнадцатеричными данными. Мы рекомендуем использовать Far Manager, как инструмент совмещающий в себе все необходимые функции.
Ручной режим работы
В этом режиме отправка данных через СОМ-порт осуществляется после нажатия кнопки "Послать". Источником данных может служить строка ввода или файл данных. При этом:
•если задан источником данных строка ввода - будет передана непустая строка из поля ввода или предыдущее посланное значение. Предыдущее значение сохраняется при выходе из программы и восстанавливается при очередном старте;
•если задан источником данных файл - очередной пакет данных из выбранного файла. Формирование пакета данных осуществляется в соответствии с описанием, приведенном ранее.
Рис.1. Поле ввода команды для отправки
Автоматический режим работы
В этом режиме данные из строки ввода или файла отправляются через интервал, заданный в поле "Задержка". Принцип отправления строк не отличается от описанного выше в пункте "Ручной режим".
Если же исходные данные берутся из файла, то для текстовых (ASCII) файлов берется очередная строка, для двоичных файлов берется порция данных до очередного признака конца строки на передачу. Если признак конца строки не задан, то будет послан ВЕСЬ файл.
Задержка - время ожидания в тысячных долях секунды перед отправлением очередной порции данных из файла или строки из поля ввода в автоматическом режиме работы программы. Задержка выставляется в милисекуднах в зависимости от требований.
Режим наблюдателя
В этом режиме Advanced Serial Port Monitor не отсылает и не принимает никаких данных, а только лишь наблюдает за обменом данными, производим другими программами.
Для того, чтобы наблюдать передаваемые и принимаемые данные необходимо открыть COM порт до запуска исследуемой программы. В случае, если исследуемая программа будет передавать или принимать данные через COM порт, весь процесс обмена данными будет отражаться в окне принимаемых данных. Не забудьте выставить флаг в меню "Опции|Выводить исходные данные на экран" для того, чтобы наблюдать передаваемые исследуемой программой данные (если это необходимо). Также можно вести протокол обмена данными.
Для того, чтобы выйти из Advanced Serial Port Monitor по завершении работы необходимо закрыть исследуемую программу или остановить обмен данными через COM порт в ней.
Рис.1 Системные события
Режим внешних модулей
В этом режиме Advanced Serial Port Monitor может расширять свои возможности за счет дополнительных модулей.
В самом простом случае это эмулировать работу устройства, работающего через интерфейс RS232 или RS485. Процесс эмуляции определяется подключенным внешним модулем. В режиме внешних модулей Advanced Serial Port Monitor при приеме данных передает управление внешнему модулю, а также находится в ожидании команд от внешнего модуля.
Принимаемые данные в этом режиме не отображаются в окне принимаемых данных.
Для завершения работы внешнего модуля необходимо закрыть его окно.
Строка ввода
Строка ввода служит для оперативной передачи информации через COM под управлением пользователя. В случае выбора этого источника пакет данных для передачи формируется из введенной строки символов, при условии, что строка не пуста. Иначе будет браться предыдущее посланное значение.
Рис.1. Поле ввода в главном окне
Искать Hex коды в виде #XX - В строке ввода также можно задавать символы с заранее известным кодом от 0 до FF Hex. Для этого необходимо ввести (или добавить к уже имеющейся последовательности символов) строку вида #XX, где # - символ-префикс, а XX шестнадцатеричное значение. Если необходимо послать символ #, то его необходимо набрать дважды.
Рис.2 Обработка введенной строки
Пример 1: Необходимо послать символ с кодом 128 (Dec) или 80(Hex). Тогда вводимая строка будет иметь вид: #80.
Пример 2: Необходимо послать символ с кодом 2 (Dec) или 2(Hex). Тогда вводимая строка будет иметь вид: #02.
Пример 3: Необходимо послать строку вида #02MB. Тогда вводимая строка будет иметь вид: ##02MB.
•Находить ASCII коды с обрамляющими символами - в этом режиме вы можете ввести код ASCII в текстовом виде из списка: NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US. Введя "<", затем текстовое обозначение кода ASCII, ">" (без кавычек).
Пример 5: <STX>Test<ETX>
Для того чтобы послать строку, можно лишь нажать Enter в строке ввода. При этом строка ввода будет очищена, а посланное значение будет добавлено в список посланных значений.
Для быстрой вставки шестнадцатеричного значения символа можно воспользоваться контекстным меню в строке ввода. В этом случае при выборе пункта меню, содержащего необходимый символ, его значение будет вставлено в позицию курсора в строке редактирования.
Рис.3 Меню
Файл
См. раздел "Файл исходных данных"
Script Language
The basic syntax of the script language of Advanced Serial Port Monitor (ASPM) is:
<command> <data1> <data2> ;<comment>
where <command> describes the action to perform, <data1> and <data2> are optional arguments, and <comment> is an optional comment. The format of the arguments vary among commands. The various components of each line must be separated by at least one space or a comma. Additional spaces are permitted but ignored. Commands are not case-sensitive.
The following is a list of supported commands followed by brief descriptions and discussions of the relationships between various commands:
:<label>
;<comment>
INITPORT <COM1..COM99>
IF CONNECTED <label>
DONEPORT
SEND 'XXXXXX'
WAIT 'XXXX' <timeout in ms>
IF SUCCESS <label>
IF TIMEOUT <label>
IF FAIL <label>
WAITMULT 'XXX|YYY|ZZZ' <timeout in ms>
IF 1,2,3...127
GOTO <label>
DISPLAY 'XX XX'
SENDBREAK <duration in ms>
DELAY <duration in ms>
SET <option> <data>
RUN <command> <wait>
:<label>
A point in the script file that can be jumped to via a GOTO or IF instruction. A label name can be any type of string without embedded spaces. For example ':TopOfLoop', ':TOP_OF_LOOP' are both acceptable; ':top of loop' is not.
;<comment>
Any line that starts with a semicolon is considered a comment. Blank lines are also considered comments and may be freely added for readability.
INITPORT <COM1..COM99>
Opens the specified port. Only one port at a time may be opened.
DONEPORT
Closes a port previously opened with INITPORT.
SEND 'XXXXXX'
Transmits the string 'XXXXXX'. Control characters may transmitted by preceding a character with '^'. For example, a control C character is represented by ^C. You'll use this feature most often when sending carriage returns. For example, SEND 'myname^M' might be an appropriate response to a logon prompt where you would normally type your name and press <Enter>. NOTE: The control characters must be inside the quote marks, if quote marks are necessary. If the string does not contain any embedded blanks the beginning and ending quotes can be omitted. The quotes are required if the string has embedded blanks. Here are some examples to illustrate this point:
SEND ABC sends ABC
SEND 'ABC' sends ABC
SEND A B C sends only the A ('B C' is considered a comment)
SEND 'A B C' sends A B C
WAIT 'XXXXX' <timeout in ms>
Waits up to <timeout in ms> milliseconds for a particular received string. The string comparison is always case insensitive. However, the string comparison need not be complete. If, for example, a host returns the string 'Host XXXX ready' where XXXX might vary from session to session, the WAIT command should wait for 'ready' only. As with the SEND command, beginning and ending quotes are only required if the string contains embedded blanks. This command sets one of three conditions: SUCCESS, FAIL or TIMEOUT, which can be tested with the IF command. SUCCESS is set if the string is received before the timeout. TIMEOUT is set if the timeout expires before the string is received. FAIL is set if the timeout expires and all retries are exhausted.
IF SUCCESS/TIMEOUT/FAIL/RING/RTS/CTS/DTR/DSR <label>
Tests the condition set by the last command and, if the tested condition is true, script execution jumps to <label>. If the condition is not true then execution continues with the next statement.
RING/RTS/CTS/DTR/DSR condition tests corresponding pin state.
WAITMULTI 'XXX|ZZZ|YYY', <timeout in ms>
Waits up to <timeout in ms> milliseconds for one of several substrings. The bar character (|) separates the substrings. The comparisons are always case insensitive. The maximum length of the entire string is 255 characters. As with the SEND command, beginning and ending quotes are only required if the string contains embedded blanks.
This command sets a numeric condition result based on the substring received: '1' is set if the first substring is received, '2' is set if the second substring is received, and so on. If none of the strings are received then TIMEOUT is set; if all retries have been exhausted then FAIL is set.
Note: YYY is being tested first then ZZZ and XXX. ZZZ is being tested first then XXX. If YYY is a part of ZZZ or XXX, but a serial port received ZZZ or XXX, then YYY condition will be executed.
IF 1,2,3...127 <label>
Tests the condition set by the last WAITMULTI command and, if the tested condition is true, script execution jumps to <label>. If the condition is not true then execution continues with the next statement.
The following example sends a modem dial command, then waits for one of CONNECT, NO CARRIER, or BUSY responses. If none of the responses are received then control falls through to the GOTO statement:
send 'atdt260-9726^m'
waitmulti 'connect|no carrier|busy' 60000
if 1 HandleConnect
if 2 HandleNoConnect
if 3 HandleBusy
goto HandleTimeout
:HandleConnect
...proceed with session
:HandleNoConnect
...handle noconnect error
:HandleBusy
...handle busy error
...
GOTO <label>
Unconditionally jumps to <label>.
DISPLAY 'Just did something'
This can be used to monitor the progress of the script and to aid in debugging.
EXIT
Exit the program.
SENDBREAK <duration in ms>
Transmits a break of <duration in ms> milliseconds.
DELAY <duration in ms>
Delays for <duration in ms> milliseconds. The script doesn't yield during delays so keep the delays as short as possible.
PLUGIN START <file name>
Execute plugin module with <file name> file name. This plugin must exists in the Plugins folder of ASPM.
PLUGIN STOP <file name>
Stop <file name> plugin's execution. This plugin must exists in the Plugins folder of ASPM.
PLUGIN SHOW <file name>
Sets the plugin's main window to normal state.
PLUGIN HIDE <file name>
Sets the plugin's main window to minimized state.
MODE <mode>
Value:
SOURCE <data source>
Value:
• string - use the input string as a data source;
• file - use file as a data source.
CLEAR - clear data in the screen.
SET BAUD <number>
Sets the Baud property of ASPM.
SET DATABITS <5,6,7,8>
Sets the DataBits property of the ASPM. Allowable values are 5, 6, 7 or 8.
SET FLOW <RTS/CTS,XON/XOFF,NONE>
Sets flow control options for the ASPM. Allowable values are RTS/CTS for hardware flow control, XON/XOFF for software flow control, and NONE to turn off all flow control.
SET PARITY <NONE,ODD,EVEN,MARK,SPACE>
Sets the Parity property of the ASPM. Allowable values are NONE, ODD, EVEN, MARK or SPACE.
SET STOPBITS <1,2>
Sets the StopBits property of the ASPM. Allowable values are 1 and 2.
SET RETRY <data>
Sets an internal retry count that is incremented whenever WAIT or WAITMULTI result in a TIMEOUT condition. When <retry count> TIMEOUTs have occurred the FAIL condition is set. The default is 1, meaning no retries are attempted.
SET LEFT <data>
Sets the position of main window on screen.
SET TOP <data>
Sets the position of main window on screen.
SET WIDTH <data>
Sets the main window width in pixels.
SET HEIGHT <data>
Sets the main window height in pixels.
SET WINDOWSTATE <data>
Sets the main window state. 0 - maximized, 1 - minimized, 2 - normal state.
RUN <command> <wait>
Executes the specified command, batch file or program. <wait> can be true or false; and determines whether the script waits for the command to complete its execution. <wait> is true by default.
Note: the command should contain full path to batch file or program. If the path contains spaces then the command should be enclosed by "".
Command example: RUN "c:\Program Files\Advanced Serial Port Monitor\command.bat" false
Here's an example logon script showing how these commands might be used to log into a host or terminal server:
SET RETRY 10 ;Try 10 times
:Again
SEND ^C ;Send an attention character
WAIT 'READY' 182 ;Wait 10 seconds for response
IF SUCCESS Logon ;Got prompt, continue with logon
IF TIMEOUT Again ;Try again if we timed out
IF FAIL, Done ;Give up after 10 tries
:Logon
SEND 'Name, password^M' ;Send name and password
...
:Done
SEND 'Bye^M'
Additional set commands
Main window options
SET MAIN.OUTINPUTDATATOSCR <value> - Output data sent on &screen
Value: True, False
SET MAIN.AUTOSCROLL <value> - Auto-scroll monitor window
Value: True, False
SET MAIN.COM1VISIBLE <value> - Visibility of the COM port #1 toolbar
Value: True, False
SET MAIN.COM2VISIBLE <value> - Visibility of the COM port #2 toolbar
Value: True, False
SET MAIN.COMBOVISIBLE <value> - Visibility of the COM port management toolbar
Value: True, False
SET MAIN.STATUSVISIBLE <value> - Visibility of the line status toolbar
Value: True, False
SET MAIN.BUTTONSVISIBLE <value> - Visibility of the quick access toolbar
Value: True, False
SET MAIN.STATESVISIBLE <value> - Visibility of the additional toolbar
Value: True, False
SET MAIN.SHORTCUTSVISIBLE <value> - Visibility of the shortcuts toolbar
Value: True, False
SET MAIN.PARSEXX <value> - Parse #XX Hex codes
Value: True, False
SET MAIN.PARSEASCII <value> - Parse ASCII codes with framing characters
Value: True, False
SET MAIN.DIFFERENTSETT <value> - Use different settings for each program instance
Value: True, False
SET MAIN.PORT <value> - Avalaible COM port number
Value:
•0 - COM1
•1 - COM2
•etc..
SET MAIN.SPEED <value> - COM port baud rate
Value:
•0 - 110
•1 - 300
•2 - 600
•3 - 1200
•4 - 2400
•5 - 4800
•6 - 9600
•7 - 14400
•8 - 19200
•9 - 38400
•10 - 56000
•11 - 57600
•12 - 115200
•13 - 230400
•14 - 460800
•15 - 921600
•16 - 15600 (custom baud)
•17 - 28800 (custom baud)
SET MAIN.BITS <value> - Number of data bits
Value:
•0 - 5
•1 - 6
•2 - 7
•3 - 8
SET MAIN.PARITY <value> - Parity
Value:
•0 - None
•1 - Odd
•2 - Even
•3 - Mark
•4 - Space
SET MAIN.STOPBITS <value> - Stop bits (1.5 will be exposed automatically for 5 data bits and 2 stop bits)
Value:
•0 - 1
•1 - 2
SET MAIN.DELAY <value> - Data output delay (in miliseconds)
Value: Data output delay (in miliseconds)
SET MAIN.AUTO <value> - &Auto delay
Value: True, False
SET MAIN.COMMAND <value> - Input string. Enter data and press 'Enter' (F4)
Value: Input string. Enter data and press 'Enter' (F4)
SET MAIN.OUTRECEIVEDTOFILE <value> - Output data received to a file
Value: True, False
SET MAIN.OUTINPUTDATATOFILE <value> - Output data sent to a file
Value: True, False
SET MAIN.OUTSYSDATATOFILE <value> - Output system events (in the spy mode) to a file
Value: True, False
Data flow control
Hardware flow control
SET USEDTR <value> - Use DTR
Value: True, False
SET USERTS <value> - Use RTS
Value: True, False
SET REQUIREDSR <value> - Require DSR
Value: True, False
SET REQUIRECTS <value> - Require CTS
Value: True, False
Software flow control
SET FLOWCONTROL <value> - Software flow control
Value:
•0 - None
•1 - On receiving
•2 - On transmitting
•3 - Both
SET XOFFCHAR <value> - Character that is sent to disable remote sending (Xoff). You should type string, where each #XX block will be replaced with character with XX hex code.
Value: One or more characters
SET XONCHAR <value> - Character that is sent to enable remote sending (Xon). You should type string, where each #XX block will be replaced with character with XX hex code.
Value: One or more characters
SET RS485MODE <value> - RS485 interface mode
Value: True, False
SET FLUSHBUFFER <value> - Flush incoming buffer on line error
Value: True, False
For problem drivers only
SET IGNOREERR <value> - Ignore non-important port opening errors (for problematic ports only)
Value: True, False
Signs of end of string
SET INEND <value> - Termination string or character while receiving
Value:
•0 - #0D - CR
•1 - #00 - NUL
•2 - #0A - LF
•3 - Custom
•4 - #0D#0A - CR+LF
•5 - #0A#0D - LF+CR
•6 - None
SET OUTEND <value> - Termination string or character while transmitting
Value:
•0 - #0D - CR
•1 - #00 - NUL
•2 - #0A - LF
•3 - Custom
•4 - #0D#0A - CR+LF
•5 - #0A#0D - LF+CR
•6 - None
SET CUSTOMSEND <value> - Custom termination string
Value: One or more characters
SET CUSTOMREC <value> - Custom termination string
Value: One or more characters
SET GB9BIT <value> - 9-bit data transfer format
Value:
•0 - Off
•1 - Mark parity on send
•2 - Space parity on send
SET ADDBEFORE <value> - Add before a data packet while transmitting
Value: True, False
SET ADDBEFORE <value> - Send data before each data block. You should type string, where each #XX block will be replaced with character with XX hex code.
Value: One or more characters
File with source data
SET SOURCEFILE <value> - The name of a file with data, which will be sent over serial port
Value: 'drive:directory\file name'. If your path and/or file name contains spaces, then you should add double quotes before and after value: '"drive:directory\file name"'
SET FILEMODE <value> - File output mode
Value:
•0 - Unitary
•1 - Repeated
SET FILETYPE <value> - File type
Value:
•0 - ASCII or plain text
•1 - Binary
ASCII mode
SET FILEINTERPRET <value> - Interpret characters in the file like #XX or (depend on the corresponding option) as a character with same Hex code
Value: True, False
Binary mode
Reading data block size
SET BLOCKFIXEDSIZE <value> - Fixed size (bytes):
Value: True, False
SET BLOCKRANDOMSIZE <value> - Random size (bytes min/max):
Value: True, False
SET BLOCKFIXEDSIZE <value> - Reading data blocks from the source file with this size
Value: 1..1000000
SET BLOCKRANDOMSIZEMIN <value> - Reading data blocks from the source file with this min size
Value: 1..1000000
SET BLOCKRANDOMSIZEMAX <value> - Reading data blocks from the source file with this max size
Value: 1..1000000
SET BLOCKUNTIL <value> - Reading from a file until occurrence of a termination character
Value: True, False
Protocol files
SET CREATEFILEMODE <value> - Create new file mode
Value:
•0 - One file for all data
•1 - Data sent and received in different files
•2 - Each sent and received packet in a different file
One file for all data
SET OUTPUTFILE <value> - File name
Value: 'drive:directory\file name'. If your path and/or file name contains spaces, then you should add double quotes before and after value: '"drive:directory\file name"'
Data sent and received in different files
SET FILEFORSENT <value> - File name for data sent
Value: 'drive:directory\file name'. If your path and/or file name contains spaces, then you should add double quotes before and after value: '"drive:directory\file name"'
SET FILEFORRECEIVED <value> - File name for data received
Value: 'drive:directory\file name'. If your path and/or file name contains spaces, then you should add double quotes before and after value: '"drive:directory\file name"'
Each sent and received packet in a different file
SET DIRECTORYEDIT <value> - Folder for files with data received and sent
Value: '"drive:directory\"'. If your path contains spaces, then you should add double quotes before and after value: '"drive:directory"'
SET FILENAMEPREFIXSENT <value> - File name prefix for data sent
Value: One or more characters
SET FILENAMEPREFIXRECEIVED <value> - File name prefix for data received
Value: One or more characters
SET OVERWRITEFILES <value> - Overwrite existing files
Value: True, False
SET ADDNAMESTAMP <value> - Add date/time stamp to a file name
Value: True, False
SET FILENAMEEXT <value> - File name extension
Value: One or more characters
SET COUNTERFMT <value> - File name counter format
Value: One or more characters
SET MAXCOUNTER <value> - Maximum counter value (-1 - no limitations)
Value: Any decimal number
SET FILENAMESUFFIXSENT <value> - File name suffix for data sent
Value: One or more characters
SET FILENAMESUFFIXRECEIVED <value> - File name suffix for data received
Value: One or more characters
SET COMMONCNT <value> - Common counter for received and sent files
Value: True, False
SET SEPARATOR <value> - Separator between data packets. You can type any characters here, where each #XX block will be replaced with character with XX hex code.
Value: One or more characters
SET ADDBODYSTAMP <value> - Write date/time stamp to a file before writing data and events
Value: True, False
SET FILEFORMAT <value> - Format of the file output
Value:
•0 - Without any changes
•1 - As you see it on screen
Window view
SET STARTMINIMIZED <value> - Start up in minimized state
Value: True, False
SET HIDETOSYSTRAY <value> - Minimize to Systray (a panel near clock)
Value: True, False
SET HINTBALOON <value> - Hint balloon
Value: True, False
SET HIDEMAINFORM <value> - Hide on plugin start up
Value: True, False
SET SHOWINHIDE <value> - Display data sent and received in minimized state
Value: True, False
SET HIDESTATUS <value> - Hide status bar
Value: True, False
SET HIDESCR <value> - Hide window with data
Value: True, False
SET STAYONTOP <value> - Stay on top (over other windows)
Value: True, False
SET AUTOCOMPLETE <value> - Disable autocompletion in the input string
Value: True, False
SET WRAPWORDS <value> - Wrap words
Value: True, False
SET LINESCOUNT <value> - Number of strings in a screen buffer
Value: 10..30000
Font and colors
SET HIGHLIGHT <value> - Highlight data sent on screen
Value: True, False
SET COLORHIGHLIGHT <value> - Data highlighting color
Value: Data highlighting color
SET FONTLIST <value> - Courier
Value: Courier
SET FONTCOLOR <value> - Main window a font color
Value: Main window a font color
SET BACKCOLOR <value> - Main window a background color
Value: Main window a background color
SET COMBOCOLORPROFILE <value> - Default
Value:
•0 - Dark
•1 - Default
SET FONTBOLD <value> - Bold
Value: True, False
SET FONTITALIC <value> - Italic
Value: True, False
HEX view
SET COLGRIDLINES <value> - Grid lines color
Value: Grid lines color
SET COLEVENCOL <value> - Grid lines color
Value: Grid lines color
SET COLOFFSET <value> - Grid lines color
Value: Grid lines color
Data view
SET CHARSET <value> - Charset of data received
Value:
•0 - DOS
•1 - Windows
View mode of characters with code
SET SYM20HEX <value> - 0x00h - 0x1Fh
Value:
•0 - Don't display
•1 - As Hex #XX code
•2 - User's format
•3 - As ASCII character code
SET SYM80HEX <value> - 0x20h - 0x7Fh
Value:
•0 - Don't display
•1 - As Hex #XX code
•2 - As same character
•3 - User's format
SET SYMFFHEX <value> - 0x80h - 0xFFh
Value:
•0 - Don't display
•1 - As Hex #XX code
•2 - As same character
•3 - User's format
SET SHOWSTRLEN <value> - View received packet length
Value: True, False
SET SHOWEND <value> - View string that completes a data packet
Value: True, False
SET USERFORMAT <value> - User view mode of characters with code < 20 Hex %d - decimal value of character code %x - hexdecimal value %.2x - hexdecimal value with leading zero
Value: One or more characters
SET FRAMEBEGIN <value> - Beginning characters of a frame for an ASCII code
Value: One or more characters
SET FRAMEEND <value> - Ending characters of a frame for an ASCII code
Value: One or more characters
HEX window view
SET BYTESROW <value> - Bytes per row
Value: 1..128
SET BYTESCOL <value> - Bytes per column
Value: 1..8
SET HEXTRANS <value> - Translation
Value:
•0 - Windows
•1 - ASCII
•2 - BCD
•3 - DOS
•4 - Mac
SET SHOWOFFSET <value> - Show offset
Value: True, False
SET HEXLOWER <value> - Hex lowercase
Value: True, False
SET SWAPNIBBLES <value> - Swap nibbles
Value: True, False
SET GRIDLINES <value> - Grid lines
Value: True, False
SET BYTESROWAUTO <value> - Automatically calculate number of bytes per row
Value: True, False
Date/time stamp
SET STAMPVIEW <value> - View mode
Value:
•0 - Default
•1 - Unix syslog
•2 - Custom
SET CUSTOMSTAMPFMT <value> - Custom view mode of a datetime stamp
Value: One or more characters
SET ADDSCRSTAMPSYS <value> - Add to display output for system events
Value: True, False
SET ADDSCRSTAMPSEND <value> - Add to display output for data sent
Value: True, False
SET ADDSCRSTAMPREC <value> - Add to display output for data received
Value: True, False
SET STAMPFRAMEBEGIN <value> - Beginnig characters of a frame for a datetime stamp
Value: One or more characters
SET STAMPFRAMEEND <value> - Ending characters of a frame for a datetime stamp
Value: One or more characters
SET ADDDATADIR <value> - Add data direction sign to a stamp
Value: True, False
SET TIMEOUTINT <value> - Auto-insert a stamp every (ms) in a continuous data flow
Value: 1..65535
System events
SET EVENTS <value> - 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|
Value: 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|
Control characters
Control characters may transmitted by preceding a character with '^'. For example, a control C character is represented by ^C. You'll use this feature most often when sending carriage returns. For example, SEND 'myname^M' might be an appropriate response to a logon prompt where you would normally type your name and press <Enter>. NOTE: The control characters must be inside the quote marks, if quote marks are necessary.
Control character
|
Dec
|
Hex
|
^@
|
0
|
0x00
|
^A
|
1
|
0x01
|
^B
|
2
|
0x02
|
^C
|
3
|
0x03
|
^D
|
4
|
0x04
|
^E
|
5
|
0x05
|
^F
|
6
|
0x06
|
^G
|
7
|
0x07
|
^H
|
8
|
0x08
|
^I
|
9
|
0x09
|
^J
|
10
|
0x0A
|
^K
|
11
|
0x0B
|
^L
|
12
|
0x0C
|
^M
|
13
|
0x0D
|
^N
|
14
|
0x0E
|
^O
|
15
|
0x0F
|
^P
|
16
|
0x10
|
^Q
|
17
|
0x11
|
^R
|
18
|
0x12
|
^S
|
19
|
0x13
|
^T
|
20
|
0x14
|
^U
|
21
|
0x15
|
^V
|
22
|
0x16
|
^W
|
23
|
0x17
|
^X
|
24
|
0x18
|
^Y
|
25
|
0x19
|
^Z
|
26
|
0x1A
|
^[
|
27
|
0x1B
|
^\
|
28
|
0x1C
|
^]
|
29
|
0x1D
|
^_
|
31
|
0x1F
|
Если программа не запускается или не работает
Необходимо убедиться в корректной установке времени на Вашем компьютере, т.к. если Вы перевели часы после установки программы, то срабатывает защита от использования после пробного периода.
Также программа не будет работать, если у Вас запущена среда отладки приложений SoftIce или какая-либо другая.
В любом другом случае, пожалуйста, сообщите разработчикам о Ваших проблемах по адресу https://www.aggsoft.ru/support/!
FAQ или часто задаваемые вопросы
Вопрос: Почему, когда я нажимаю кнопку "Открыть" СОМ-порт не открывается?
Ответ: Наверное, уже какая-нибудь программа уже использует его (СОМ-порт). Это может быть DOS-приложение, например.
Вопрос: Что же тогда делать?
Ответ: Закрыть приложение, использующее данный коммуникационный порт (для DOS - приложения необходимо закрыть и окно DOS - сессии). Или использовать другой коммуникационный порт.
Вопрос: Почему при передачи некоторых файлов теряются данные?
Ответ: Для того, чтобы избежать этого, необходимо выбрать соответствующий тип файла в настройках программы.
Вопрос: Почему, когда я наблюдаю за обменом данными в режиме наблюдателя, я ничего не вижу?
Ответ: Необходимо запускать Advanced Serial Port Monitor и открывать COM порт до старта исследуемой программы.