microchip

MPLAB IDE. Интерфейс управления и мониторинга данных (DMCI)

DMCI (Data Monitor and Control Interface) – интерфейс управления и мониторинга данных – интегрированный с MPLAB IDE-проектами интерфейс, позволяющий динамически задавать значения переменных  в определенном диапазоне или в одно из двух состояний (on/off), если переменная является двоичной. Кроме того, имеется возможность графического отображения результатов.

DMCI имеет по 9 слайдеров и кнопок для задания значений переменных и 4 окна для отображения результатов в графической форме.

Что такое DMCI? Интерфейс позволяет Вам контролировать и отображать используемые в проекте данные. Он имеет средства  управления данными, позволяющие динамически задавать их величины (9 слайдеров и 9 кнопок (вкл/выкл)) и средства отображения результатов (4 графических окна).

DMCI обеспечивает навигацию переменных, используемых в проекте, с помощью установки соответствия между величиной переменной и положения слайдера либо от положения кнопки (on/off), если соответствующая переменная является двоичной. Таким образом, средства управления позволяют Вам в интерактивном режиме задавать значения программных переменных в пределах IDE MPLAB.

Рис.1

Как запустить DMCI? Выберите в меню “Tools” подменю “Data Monitor and Control Interface”

Как применять DMCI? В качестве простого примера применения интерфейса DMCI, рассмотрим программу, написанную с использованием MPLAB C30 для контроллера dsPIC33FJ256GP710 в симуляторе MPLAB SIM. Если у Вас нет MPLAB C30, Вы можете скачать бесплатную студенческую версию по адресу http://www.microchip.com/c30.

Файлы проекта выложены в конце статьи.

Этот простой пример сохраняет значения (Amp * sinl (Freq * t) в массиве, значения которого мы потом будем графически отображать во времени. Создайте проект как показано на рис2. После создания проекта, откройте DMCI и настройте один слайдер для управление глобальной переменной ‘Amp’, а другой – для управления переменной ‘Freq’. Разрешение работы соответствующего слайдера осуществляется постановкой галочки в чекбоксе над  слайдером.

Рис.2

В окне настройки параметров первого слайдера (Dinamic Control Properties) рис3 выберите переменную ‘Amp’ в окне динамических глобальных переменных (Dynamic Global Symbols) и задайте верхний и нижний порог ее изменения (Upper and low limits) – [0,1000].

Аналогичным образом настройте второй слайдер для задания величины переменной ‘Freq’.

Рис.3

Таким образом, эти 2 слайдера мы будем использовать для динамического задания значений переменных 'Amp' и 'Freq'.  Далее необходимо настроить средства отображения результатов в качестве которых мы будем использовать значения (Amp * sinl (Freq * t).

Как настроить средства динамического отображения информации? Выберите вкладку “Dynamic Data View Tab”, с помощью которой можно настроить имеющиеся четыре окна отображения данных (рис4).

Рис.4

Активизируете График 1 (Graph 1), поставив галочку в соответствующем чекбоксе. Нажмите правую кнопку в области Graph 1 и выберите в контекстном меню вкладку “Configure Data Source” (рис5).

Рис.5

В окне “Dynamic Control Properties” (параметры динамического управления) (рис6) сконфигурируйте Graph1 на отображение значений динамической глобальной переменной ‘mybuffer’. Следует отметить, что в DMCII имеется возможность изменять названия каждой из координатных осей, но это в нашем примере не столь важно, хотя и подразумевается по умолчанию.

Рис.6

Таким образом, мы настроили интерфейс мониторинга и задания значений переменных DMCI для нашего проекта-примера.
Теперь мы должны войти в функцию, которую мы хотим протестировать: установим точку останова на вызов функции Example() и войдем в нее. Также установим точку останова после вызова функции.
Далее с помощью слайдеров установим такие значения соответствующих переменных, которые позволят нам отобразить результаты наилучшим образом (рис7).

Рис.7

Мы готовы к запуску проекта. Нажмем кнопку «Start» в окне DMCI. Это приведет к тому, что значения, установленные с помощью слайдеров, будут присвоены соответствующим переменным и пуску отладчика (в нашем примере симулятора).  После останова программы после выхода из функции Example(), можно посмотреть отображенные на графике результаты работы программы на вкладке “Dynamic Data View”.

На графике (Graph1) должен отображаться  во времени массив ‘mybuffer’ (рис8).

Рис.8

Поскольку соответствующая функция выполняется в бесконечном цикле, можно изменять значения переменных ‘Amp’ и ‘Freq’ с помощью слайдеров и запускать программу заново.

Пример (исходные тексты и файл проекта) на этом диске

©2007 Гамма-Санкт-Петербург