Комплект эксплуатационной и технической документации

Программное обеспечение

PDF версия


1.     Специальное программное обеспечение

Специальное программное обеспечение (СПО) предназначено для прошивки микроконтроллера STM32F373.

СПО представлено исходным кодом на языке высокого уровня С, созданным в среде IDE µVision V5 и предназначенного для формирования исполнимого кода (прошивки) микроконтроллера STM32F373.

Загружать СПО в микроконтроллер можно средствами IDE µVision V5 или с использованием программы «STM32 ST-Link Utility».

СПО предназначено для:

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

1.1. Логическая структура СПО

Структурно СПО состоит из процедур инициализации и конфигурации периферии микроконтроллера (GPIO, ADC, SDADC, USART) и синтезатора частоты, выполняемых однократно при запуске СПО, главного рабочего цикла, вызывающего по мере необходимости рабочие процедуры (обмен по протоколу Modbus, опрос каналов, цифровая обработка) и процедуры приёма данных по интерфейсу RS-485, работающей в фоновом режиме по прерыванию.

1.2. Алгоритм исполнения СПО

При появлении питания запускается исполнение СПО микроконтроллера. При этом происходит выполнение следующих процедур:

  • инициализация задающего тактового генератора микроконтроллера;
  • инициализация внутренних переменных и таблиц;
  • инициализация портов ввода/вывода;
  • инициализация интерфейса USART;
  • инициализация АЦП и СДАЦП;
  • калибровка АЦП и СДАЦП;
  • инициализация синтезатора частоты AD9851;
  • настройка интерфейса RS-485;
  • считывание калибровочных регистров встроенного датчика температуры.
После этого происходит переход в рабочий цикл. В рабочем цикле проверяется значение регистра управления режимом измерения. Если значение регистра равно 1 или 2 происходит вызов процедуры опроса всех каналов АЦП и СДАЦП, цифровая обработка полученных данных и заполнение таблицы регистров данных. Далее проверяется признак приёма команд по протоколу Modbus-RTU. Если команда поступила, то вызывается процедура интерпретатора команд Modbus-RTU, выполняющая, в зависимости от полученной команды, соответствующие манипуляции с таблицами регистров и формирующей ответный пакет. Если поступившая команда модифицировала регистры управления, то в зависимости от их значений происходит одно из действий:

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

2.     Прикладное программное обеспечение

Прикладное программное обеспечение (ППО) запускается на головном устройстве – рабочей станции, работающей под управлением операционной системы Windows.

ППО предназначено для реализации функций:

  • управления и контроля состояния прибора;
  • сбора, окончательной обработки, визуализации и сохранения результатов измерения прибором.

ППО реализуется как программы на графическом языке программирования «G» фирмы National Instruments. Для работы программ необходимо наличие рабочей станции с установленной на ней средой для выполнения кода LabVIEW 2012 SP1 Runtime.

ППО представлено файлами графического языка программирования «G».

2.1. Логическая структура ППО

2.1.1. MB-server-6.vi

Структурно ППО MB-server-6.vi состоит из трех крупных блоков, оформленных на виртуальной лицевой панели прибора в виде отдельных вкладок, имеющих интуитивно понятный графический интерфейс:

  • Work – измерение ɛ, σ и температуры;
  • FTable – работа с таблицей калибровочных параметров – чтение, загрузка, запись.
  • Debug – полный доступ ко всем ресурсам прибора.

2.1.2. Спектр PtP AD9851.vi

Структурно это очень простая программа – снимает частотную зависимость GAIN и PHASE в отсчетах АЦП и сохраняет результат в текстовый табличный файл.

2.1.3. Просмотр результатов PtP.vi

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

2.2. Алгоритм исполнения ППО

2.2.1. MB-server-6.vi

Перед запуском программы на исполнение необходимо на служебной вкладке Service (Рис. 1) в поле VISA resource name выбрать из списка виртуальный последовательный порт, соответствующий интерфейсу RS-485, к которому подключен прибор:

SW-fig-1.png
Рис. 1. Вкладка Service окна программы «MB-server-6.vi».

После запуска программы происходит инициализация графического интерфейса и последовательного порта для связи с прибором. Далее управление передается программному блоку Work (Рис. 3), который посылает в прибор команду на включение режима 1 (измерение ɛ и σ), активирует вкладку Work (Рис. 2) и в цикле ожидает нажатия экранной кнопки READ . При нажатии на кнопку READ производится чтение регистров данных (Input Register) прибора с накоплением и последующим усреднением. Результат выводится в соответствующие индикаторы. Зеленый индикатор OK загорается в случае успешного выполнения операции чтения.

SW-fig-2.png
Рис. 2. Вкладка Work окна программы «MB-server-6.vi».

SW-fig-3.png
Рис. 3. Программный блок Work программы «MB-server-6.vi».

При активации вкладки FTable (Рис. 4) управление передается программному блоку FTable (Рис. 5), который в цикле опрашивает состояние экранных кнопок READ ,  Write To Memory  и Write To EEPROM . При нажатии на одну из этих кнопок в прибор посылается соответствующая команда на чтение или запись регистров. После нажатия на кнопку READ поле Table заполняется прочитанными значениями параметров. Значения параметров можно отредактировать и загрузить в прибор, нажав на кнопку Write To Memory. Для того чтобы записать загруженные параметры в энергонезависимую память прибора нужно нажать на кнопку Write To EEPROM .

SW-fig-4.png
Рис. 4. Вкладка FTable окна программы «MB-server-6.vi».

SW-fig-5.png
Рис. 5. Программный блок FTable программы «MB-server-6.vi».

Для того чтобы получить полный доступ ко всем ресурсам прибора, доступным по протоколу Modbus, нужно активировать вкладку Debug (Рис.6). При этом управление передается программному блоку Debug (Рис. 7), который в цикле опрашивает состояние экранных кнопок Write, Read группы Регистры хранения и Read группы Регистры ввода. При нажатии на одну из этих кнопок в прибор посылается соответствующая команда на чтение или запись регистров. Подробное описание реализации протокола Modbus, адреса и назначение регистров прибора приведены в разделе «Команды интерфейса RS-485 (MODBUS-RTU)».

SW-fig-6.png
Рис. 6. Вкладка Debug окна программы «MB-server-6.vi».

SW-fig-7.png
Рис. 7. Программный блок Debug программы «MB-server-6.vi».

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

2.2.2. Спектр PtP AD9851.vi

Перед запуском программы на исполнение в поле VISA resource name (Рис. 8) необходимо выбрать из списка виртуальный последовательный порт, соответствующий интерфейсу RS-485, к которому подключен прибор, а также ввести значения в поля Count (количество накоплений в каждой точке), StartFreq (kHz) (начальная частота) и StopFreq (kHz) (конечная частота).

SW-fig-8.png
Рис. 8. Окно программы «Спектр PtP AD9851.vi».

SW-fig-9.png
Рис. 9. Программа «Спектр PtP AD9851.vi».

После запуска программы происходит инициализация последовательного порта для связи с прибором (ВП STM32_INIT_MBUS). Рутинные операции по обмену данными с прибором для получения спектра выполняет ВП СПЕКТР_AD9851. После завершения процесса получения частотной зависимости результат отображается на графиках, а также активируется диалоговое окно с тремя кнопками NEXT, WRITE, EXIT.  Кнопка NETX запускает новый измерительный цикл. При нажатии на кнопку WRITE результаты измерений записываются в текстовый табличный файл и программа, послав в прибор команду на прекращение измерений и освободив ресурсы виртуального последовательного порта, завершается.

2.2.3. Просмотр результатов PtP.vi

Сразу после запуска программы (Рис. 10) начинается цикл While и активируется диалоговое окно выбора файла с результатами измерений (Рис. 11), созданного в программе «Спектр PtP AD9851.vi»

SW-fig-10.png
Рис. 10. Программа «Просмотр результатов PtP.vi».

SW-fig-11.png
Рис. 11. Диалоговое окно выбора файла результата программы «Просмотр результатов PtP.vi».

После выбора файла происходит чтение таблицы в числовой многомерный массив и построение двух графиков частотных зависимостей. Цикл завершается экранным диалогом с двумя кнопками NEXT и EXIT. Если нажата кнопка NEXT, то последует выбор и чтение нового файла. Графики дополнятся новой зависимостью. Выбор EXIT завершает программу (Рис. 12). Теперь каждый график можно рассмотреть более подробно, используя встроенные средства работы с графиками (масштабирование, курсорные измерения и т.п.).

SW-fig-12.png
Рис. 12. Окно программы «Просмотр результатов PtP.vi» после завершения чтения файлов с результатами измерений.



Наименование   Дистрибутив      Описание
СПО V5-AD9851.tar Исходный текст прошивки - проект IDE µVision V5
и файл конфигурации ST32CubeMX для STM32F373.
ППО MB-server-6.vi Исходный текст программы «MB-server-6.vi» на языке LabView2012
Спектр PtP AD9851.tar
Исходный текст программы «Спектр PtP AD9851.vi» на языке LabView2012
Просмотр результатов PtP.vi Исходный текст программы «Просмотр результатов PtP.vi» на языке LabView2012