bg

Автоматизация рабочих процессов с COM портом: скрипты и макросы

Промышленная потребность в автоматизации

В современном производстве и НИОКР ручной ввод данных в терминал становится "узким местом". Инженерам часто приходится повторять одни и те же последовательности "запрос-ответ" сотни раз в день, чтобы проверить стабильность устройства. Независимо от того, калибруете ли вы промышленные весы или тестируете новую прошивку для медицинского датчика, ручной ввод вносит человеческий фактор и лишен точности таймингов, необходимой для нагрузочного тестирования. С помощью скриптов вы можете превратить простой инструмент мониторинга в мощный контроллер автоматизированного тестового оборудования (ATE).

Ключевая особенность: Встроенный движок скриптов

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

Отправленные команды скриптом в главном окне

Разработка вашего первого автоматизированного скрипта

Для начала необходимо определить "конечный автомат" взаимодействия. Например, если устройству требуется команда "AT+START" и оно должно вернуть "OK" перед отправкой следующей команды, можно написать скрипт, который будет ждать именно эту строку.

  • Выбор COM-порта: Скрипты могут выбирать номер целевого COM-порта.
  • Инициализация параметров связи: Далее инициализируются все параметры связи.
  • Отправка пакета данных: После этого устройству отправляется пакет данных "AT+START" с символом завершения строки.
INITPORT COM1
SET BAUD 9600
SET DATABITS 7
SET FLOW NONE
SET PARITY NONE
SET STOPBITS 1
SEND AT+START^M

Упрощение настройки тестовых сред

Настройка тестового стенда с несколькими устройствами обычно включает в себя поочередную настройку параметров каждого COM-порта и строк инициализации, что может отнимать много времени. Используя функции скриптов Advanced Serial Port Monitor, вы можете объединить настройку ваших тестовых сред в единый повторяемый процесс. Вместо того чтобы вручную переключать линии RTS/CTS или отправлять пакеты "пробуждения" каждому подключенному датчику, мастер-скрипт настройки может поочередно настроить все активные порты с правильной четностью, стоповыми битами и скоростью передачи данных. Скрипты сохраняются в файлы, после чего имя скрипта используется в командной строке (-f script.txt) для запуска Advanced Serial Port Monitor, и скрипт будет выполнен автоматически.

INITPORT COM3
SET BAUD 9600
SET DATABITS 7
SET FLOW NONE
SET PARITY NONE
SET STOPBITS 1
SET STAMPVIEW 1
SET CREATEFILEMODE 0
SET OUTPUTFILE com_log.txt

Продвинутый вариант использования: Нагрузочное тестирование и проверка буфера

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

INITPORT COM2
:REPEAT
SEND LASER=1^M
DELAY 2000
SEND ?C1^M
GOTO :REPEAT

Совет эксперта: Используйте движок скриптов для логирования "времени отклика". Если устройство начинает отвечать медленнее после 5000 пакетов, вы обнаружили утечку памяти или "узкое место" в обработке данных, которое ручное тестирование, скорее всего, пропустило бы.

Обработка динамических ответов и извлечение данных

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

INITPORT COM6
SET RETRY 3                        ;Попробовать 3 раза
:Again
SEND ^C                            ;Отправить символ привлечения внимания
WAITMULT 'READY|Login:>|User:>' 3  ;Wait 3 seconds for response
IF 1,2,3 Logon                     ;Получен ответ, продожаем
IF TIMEOUT Again                   ;Повторить, если вышло время ожидания
IF FAIL, Done                      ;Прекратить после 10 попыток
:Logon
SEND 'Name, password^M'            ;Отправить имя и пароль
:Done
SEND 'Bye^M'

Безопасность, надежность и обработка ошибок

Автоматизированные скрипты должны быть устойчивыми к ошибкам. Advanced Serial Port Monitor поддерживает логику в стиле "try-catch". Если порт неожиданно закроется или устройство перестанет отвечать, скрипт может активировать оповещение, зафиксировать метку времени сбоя в логах и попытаться восстановить соединение. Такой уровень надежности необходим для длительных испытаний на отказ, когда программное обеспечение работает без присмотра в течение нескольких дней.

Смотрите также

Анализатор RS232
Мониторинг RS232
Перехватчик (сниффер) данных
Режим наблюдателя (Spy)
Автоматизация рабочих процессов с COM портом: скрипты и макросы
Сканер COM порта
5 частых ошибок при работе с COM портом в Windows