2.5.md
РАБОТА С МОНИТОРОМ ПОРТА
Монитор порта устанавливается в составе дистрибутива программного обеспечения для ПАК Рудирон.
1 Назначение ПО
1.1 Монитор порта предназначен для приема и отображения информации, направляемой микроконтроллером ПАК Рудирон в последовательный порт в процессе исполнения им программы, загруженной в память, а также отправки сообщений микроконтроллеру в виде отдельных строк.
1.2 Монитор порта имеет возможность отображать полученную от ПАК Рудирон информацию в виде текста и графиков. При этом для отображения информации в виде графиков, получаемая от контроллера информация должна соответствовать следующему шаблону:
<имя1>:<знач1>;<имя2>:<знач2>;….;<имяN>:<значN>;
Таким образом монитор порта может строить произвольное количество графиков, а именно столько, сколько будет найдено разных имен графиков в получаемой информации.
Более подробно о требованиях к обрабатываемой информации будет рассказано в разделе «Работа с графиками».
2 Состав ПО
2.1 ПО монитора порта состоит из исполняемого файла rudiron_monitor (взависимости от операционной системы rudiron_monitor.exe или rudiron_monitor.so) и вспомогательных файлов в каталоге \data:
- settings.ini;
- lucon.ttf;
- about_icon.png;
- chart_icon.png;
- config_icon.png;
- gen_icon.png;
- info.png;
- log_icon.png;
- logo.png;
- logo_large.png;
- save_icon.png;
- send_icon.png.
3 Основное окно программы
3.1 После запуска программы отображается основное окно программы
На основном окне можно выделить 5 основных зон:
1 – зона кнопок выбора режима работы;
2 – зона элементов управления приемом информации от последовательного порта;
3 – основная рабочая зона, куда будет выводиться информация в виде текста и графиков;
4 – блок элементов, которые предназначены для отправки информации пользователя в микроконтроллер ПАК Рудирон;
5 – основное меню программы.
Непосредственно после запуска программы взаимодействие с ПАК Рудирон еще не установлено, получаемой информации нет, поэтому рабочая область пуста. При этом кнопки выбора режима работы активны и можно выбирать тот или иной режим работы.
3.2 Назначение кнопок выбора режима работы
Кнопка | Назначение |
![]() | Нажатие на кнопку приводит к расширению/сворачиванию зоны кнопок выбора режима работы (зона 1) |
![]() | Нажатие на кнопку включает режим отображения текстового журнала информации, поступающей от ПАК Рудирон через последовательный порт |
![]() | Нажатие на кнопку включает режим отображения графиков |
![]() | Нажатие на кнопку включает генератор скетчей |
![]() | Нажатие на кнопку открывает диалоговое окно настроек программы |
![]() | Нажатие на кнопку открывает окно «О программе» |
3.3 Назначение элементов блока управления приемом данных через серийный порт
Элемент | Назначение |
![]() | Выпадающий список для выбора последовательного порта, к которому подключен ПАК Рудирон |
![]() | Выпадающий список для выбора скорости взаимодействия |
![]() | Переключатель приема данных |
Элемент | Назначение |
![]() | Строка для ввода данных, которые пользователь хочет отправить контроллеру ПАК Рудирон |
![]() | Нажатие кнопки вызывает функцию отправки в последовательный порт информации, введенной в вышеуказанную строку ввода |
![]() | Установка/снятие переключателя включает/выключает реакцию на нажатие клавиши Enter при вводе информации в строке ввода. Если флажок установлен, нажатие на Enter вызовет передачу строки в последовательный порт, аналогично нажатию кнопки «Отправка» |
4 Включение обмена информацией с ПАК Рудирон
4.1 Сначала необходимо подключить контроллер ПАК Рудирон к USB-порту с помощью кабеля.
4.2 При нажатии на кнопку выпадающего списка «Порт» монитор порта проведет сканирование доступных в ОС портов и поместит все доступные порты в список выбора. Для операционной системы Windows этом список будет содержать записи вида “COM 1”, “COM 2” и т.п, а для ОС семейства Linux записи вида “tty1”, “ttyUSB0” и т.п.
4.3 Выберите порт, к которому подключен ПАК Рудирон и переходите к выбору скорости обмена. Скорость обмена должна совпадать с той скоростью, которая установлена в операторе Serial.begin(), в программе для ПАК Рудирон. Наиболее часто используется скорость 115200 бит/с.
4.4 После того, как были установлены порт и скорость обмена, нажмите на переключатель приема. Если переключатель включился и стал зеленым, значит соединение по последовательному порту установлено, и должен производиться прием информации от ПАК Рудирон. Монитор порта при этом автоматически включит режим отображения текстовой информации.
ПРИМЕЧАНИЯ
1 Если открыть соединение не удалось, то монитор порта выдаст соответствующее сообщение. Проверьте правильность выбора порта и скорости, и не занят ли он другим приложением.
2 Для операционных систем семейства Linux может потребоваться установить права доступа к конкретному последовательному порту.
Это можно сделать двумя путями:
- дать права на доступ к порту вообще всем пользователям системы (путем запуска из терминала команды chmod 666 /dev/ttyUSB0 с правами суперпользователя);
- включить текущего пользователя в группу dialou средствами администрирования ОС
5 Режим отображения текстовой информации
5.1 Если от ПАК Рудирон по последовательному порту идет информация, то основное окно монитора порта в режиме отображения текстовой информации выглядит следующим образом:
Рис. 2. Режим отображения текстовой информации
5.2 В блоке кнопок управления режимом работы (зона 1 на рис. 2) появились дополнительные элементы управления, а в рабочей зоне (зона 2 на рис. 2) отображаются данные от ПАК Рудирон, полученные через последовательный порт, и дополнительный переключатель «Добавить метки времени».
5.3 Назначение дополнительных элементов управления:
Элемент | Назначение |
![]() | Нажатие на кнопку «Сохранить» вызывает сохранение текста в рабочей области в текстовый файл с расширением ** .log,* в том же каталоге, в котором расположен сам монитор порта |
![]() | Нажатие кнопки «Очистить» вызывает сброс всего текста, находящегося в рабочей области без его сохранения и возможности восстановления. |
![]() | Установка/снятие переключателя включает/выключает автоматическую прокрутку к концу текста при появлении новых данных. |
![]() | В текст в рабочей области добавляются временные отметки, показывающие, когда была передана на включение в лог соответствующая строка. |
Рис. 3. Пример текстового журнала с отметками времени
5.4 Если возникает необходимость посмотреть что-то в середине журнала, без его сохранения на диск, сначала следует отключить режим автопрокрутки, убрав флажок «Автоскроллинг», а затем уже пользоваться ползунком полосы прокрутки или колесиком мышки.
6 Режим отображения графиков
6.1 Требования к информации, поступающей от ПАК Рудирон, для построения графиков Как уже упоминалось в разделе 1, монитор порта извлекает информацию для построения графиков из серии строк следующего вида: <имя1>:<знач1>;<имя2>:<знач2>;….;<имяN>:<значN>;
В указ шаблоне <имя…> это название ряда данных (графика), а <знач…> это значение по оси Y для данного графика. Имя ряда данных может иметь любое текстовое значение (например: “line_1”, “y(x)”, “PIN-A0”), а значение должно иметь представление числа с десятичной дробной частью в текстовом виде с разделителем в виде символа “.” (например: 1.00). Пример того, как выглядит последовательность строк, пригодная для построения графиков, можно видеть на рис. 2 и 3. На них видно, что в каждой строке присутствуют 3 пары <имя>:<значение>,таким образом, монитор порта будет строить 3 графика с именами line_1, line_2, line_3.
Количество рядов данных (пар «имя-значение») может меняться со временем. Если монитор порта обнаруживает в поступающей информации новое имя, то он создает дополнительный ряд данных и начинает накапливать данные для построения графика.
Данные для построения графиков должны разделяться на блоки соответствующими символами-сепараторами. Для деления на строки стандартно используется символ перевода строки (0x0D) или последовательность “\n”, который в терминологии монитора порта называется «сепаратор строк». Строка делится на пары «имя-значение» через разделитель, называемый «сепаратор 1-го уровня». В вышеуказанных примерах сепаратором 1-го уровня выступает символ «;». Сама пара «имя-значение» также разделяется на «имя» и на «значение» символом, называемым «сепаратор 2-го уровня». В примерах это – символ «:». Каждый из символов-сепараторов может быть изменен через настройки программы. По умолчанию используются символы “\n” (сепаратор строк), «;» (сепаратор 1-го уровня), «:» (сепаратор 2-го уровня).
6.2 Основное окно монитора порта в режиме отображения графиков:
Рис. 4. Режим отображения графиков
В режиме отображения графиков в блоке переключения режимов появляются дополнительные элементы управления (зона 1 на рис. 4), в рабочей области отображаются графики и легенды для графиков (зона 3 на рис. 4). В сворачивающемся списке «Ряды данных» расположены все ряды данных, которые монитор порта смог выделить из поступивших от ПАК Рудирон данных. Видно, что имели место дефекты при передаче данных, т.к. некоторые ряды данных имеют имя, которое не должно было существовать в потоке данных (ine2, liline1). Как правило такой ряд состоит из одной пары и возникает в случает включения/отключения порта в середине посылки. Такой ряд можно удалить щелкнув на нем правой кнопкой мыши и нажав вов всплывающем меню кнопку «Удалить».
Каждый ряд данных может быть индивидуально включен/выключен из отображения на графике путем установки/снятия флажка напротив имени ряда.
Кроме того, отображение каждого из уже выбранных графиков может быть отключено/включено через нажатие кнопки на легенде графика.
6.3 Назначение дополнительных элементов управления
Элемент | Назначение |
![]() | Нажатие на кнопку «Показать всё» строит графики с использованием всех накопленных данных (включает масштаб 100% всех данных за всю имеющуюся историю) |
![]() | Нажатие кнопки «Бегущий график» включает режим построения по последней 1000 значений, если значений становится больше, график начинает сдвигаться влево. |
![]() | Делает скриншот основного экрана монитора порта и сохраняет его в файл screenshot.png в том же каталоге, где находится монитор порта. |
![]() | Очищает данные, накопленные для всех графиков, накопление данных начинается заново. |
![]() | Включает/выключает дополнительную область построения, на которой можно в увеличенном виде рассматривать область, выделенную на основном графике. |
6.4 Перемещение по основному графику, масштабирование Перемещение и детальный просмотр возможен только при отключенном приеме данных через последовательный порт. Статичный график может быть масштабирован или сдвинут по осям X и/или Y с помощью мыши. Масштабирование производится колеском мыши: на себя – увеличение масштаба (приближение), от себя – уменьшение масштаба (отдаление). Движение мышью при нажатой левой клавише вызывает «перетаскивание» графика по осям, а выделение прямоугольной области на графике с удерживаемой правой кнопкой мыши увеличит масштаб выделенной области до размеров области построения графика.
Нажатие на кнопку «Показать всё» или «Бегущий график» вернет масштаб к соответствующему виду.
Рис. 5. Пример увеличения участка графика с использованием правой кнопки мыши
6.5 Использование дополнительного графика В том случае, если необходимо изучить детали основного графика, не изменяя его масштаб, можно использовать дополнительную область построения. Для этого установите флажок «Детальный график». Ниже основной области построения появится дополнительная, в которой будет отображен тот участок, который будет выделен с удерживаемой правой кнопкой мыши в основной области построения.
Рис. 6. Использование дополнительной области построения
При этом выделенная область на основном графике может перемещаться по области построения с помощью мыши, и график в дополнительной области построения будет меняться в соответствии с положением выделенного участка на основном графике. Перед выключением дополнительного графика нужно обязательно снять выделение на основном графике. Это можно сделать, щелкнув правой кнопкой мыши в основной области построения.
7 Передача информации в ПАК Рудирон
7.1 Передача информации в ПАК Рудирон возможна при соблюдении двух условий:
- взаимодействие с ПАК Рудирон по последовательному порту установлено;
- в программе микроконтроллера ПАК Рудирон производится прием информации через серийный порт и происходит ее анализ.
Если эти условия не соблюдены, передача управляющей информации в последовательный порт либо вообще будет невозможна, либо она будет передана на отправку в последовательный порт, но обработана ПАК Рудирон не будет.
7.2 Для отправки информации в последовательный порт достаточно ввести нужную информацию в строку ввода и нажать кнопку «Отправить» или клавишу Enter при включенном флажке «Включить отправку по Enter».
Ниже на рисунке 7 показан пример отправки управляющей информации на контроллер ПАК Рудирон. Контроллер после обработки полученной команды увеличил амплитуду 1-го графика в 2,2 раза.
Рис. 7. Отправка информации в ПАК Рудирон
8 Генератор скетчей
8.1 Режим генератора скетчей предназначен для генерации текста программ для ПАК Рудирон по определенным шаблонам. В диалоговом окне нужно выбрать вкладку с желаемым шаблоном, задать исходные данные и нажать кнопку «Создать скетч». Полученный шаблон программы для ПАК Рудирон можно скопировать в буфер обмена или сохранить в файл.
8.2 Шаблон «Набор графиков»
Рис. 8. Генератор скетчей, шаблон «Набор графиков»
Данный шаблон генерирует основу программы для ПАК Рудирон, которая выдает в последовательный порт набор данных, пригодный для отображения графиков в мониторе порта
В настойках шаблона нужно указать желаемое количество графиков, и префикс для имени графика. Далее имена графиков будут формироваться по правилу «префикс + номер графика».
Для примера создадим скетч с параметрами «Количество рядов данных» равно 2, и «Префикс» = line_
Рис. 9. Пример скетча по шаблону «Набор графиков»
В зоне 1 на рис. 9 появились кнопки «Скопировать в Clipboard» и Сохранить в файл, а зоне 2 – текст скетча.
Для доведения скетча до полноценного рабочего состояния, в шаблоне скетча нужно будет дописать функции, которые реализуют вычисления значения для каждого графика (функции func1(), func2(), …). Это может быть любое выражение, которое возвращает целое число или число с плавающей точкой (данные из порта ввода вывода, вычисление математической функции, генератор случайных чисел и т.п.).
8.3 Шаблон «Чтение из АЦП»
Данный шаблон создает заготовку скетча, в котором микроконтроллер ПАК Рудирон опрашивает заданный АЦП с определенной периодичностью и отправляет результат опроса в последовательный порт
Рис. 10. Шаблон «Чтение из АЦП».
8.4 Шаблоны можно редактировать непосредственно в диалоговом окне или после копирования/сохранения в другой среде подготовки программ для ПАК Рудирон
Кроме того, скетч можно пересоздать, указав новые исходные параметры без закрытия диалогового окна.
9 Окно настроек монитора порта
9.1 В настройках программы можно настроить нужные символы-сепараторы
Рис. 11. Диалоговое окно настроек программы
По терминологии, изложенной в п.6.1, под цифрой 1 имеется ввиду сепаратор строк, под цифрой 2 – сепаратор 1-го уровня, под цифрой 3 – сепаратор 2-го уровня
Нажатие на кнопку «Применить» вызывает сохранение данных настроек в файле settings.ini, а также изменение сепараторов в текущем сеансе работы программы.
9.2 Можно также внести изменения настроек в файл settings.ini вручную с использованием текстового редактора и перезапустить программу для их активации.