Обучающая программа — Создание прикладной программы в LabWindows/CVI, страница 8

Number of Elements:      100

Maximum Value:             max

Maximum Index:             max_index

Minimum Value:             min

Minimum Index:             min_index

5. Прежде, чем Вы вставите функцию MaxMin1D в ваш исходный код, Вы должны описать переменные max, max_index, min и min_index. Щелкните на Maximum Value для его выделения и выберите Declare Variable из меню Code. Выведите окно управления для добавления сообщения к текущему блоку. Это вставит строку кода для описания переменной max внутри функции FindMaxMin. Щелкните на Х кнопке OK для продолжения.

6. Заметьте, что LabWindows/CVI автоматически вставляет символ “&” перед переменной max так, чтобы это должным образом повлияло на функцию.

7. Повторите операцию Declare Variable для средств управления Maximum Index, Minimum Value и Minimum Index на функциональной панели MaxMin1D.

8. Вставьте запрос функции MaxMin1D в ваш исходный код, выбрав Insert Function Call из меню Code. Закройте функциональную панель MaxMin1D. Вы должны увидеть функцию MaxMin1D в составе сообщения EVENT_COMMIT, находящегося внутри callback функции FindMaxMin.

9. Выведите функциональную панель SetCtrlVal, выбрав Library»User Interface»

Controls/Graphs/Strip Charts»General Functions»Set Control Value.

10. Функция SetCtrlVal устанавливает значение контроля на Вашем интерфейсе пользователя. Введите следующую информацию в функциональную панель управления, чтобы выводить максимальные значения в массив в окне Maximum :

Panel Handle:         panelHandle

Control ID:             PANEL_MAX

Value:                     max

11. Вставьте запрос функции SetCtrlVal в ваш исходный код, выбрав Insert Function Call из меню Code. Вы увидите код SetCtrlVal, вставленный в строку после запроса функции к FindMaxMin в вашем исходном файле код.

12. Теперь снова выведите функциональную панель SetCtrlVal, выбрав Library»User Interface»Controls/Graphs/Strip Charts»General Functions»Set Control Value.

13. Функция SetCtrlVal устанавливает значение контроля на Вашем интерфейсе пользователя. Введите следующую информацию в функциональную панель управления, чтобы вывести минимальные значения из массива в окно Minimum:

Panel Handle:           panelHandle

Control ID:               PANEL_MIN

Value:                       min

14. Вставьте запрос функции SetCtrlVal в ваш исходный код, выбрав Insert Function Call из меню Code. Закройте функциональную панель SetCtrlVal.


15. Ваш исходный код должен соответствовать коду, показанному на рис. 7-5.

Рис. 7-5. Законченный исходный код для sample5.c.

Управление Программой

Вы успешно написали вашу собственную функцию callback. В течение выполнения программы функция FindMaxMin будет вызываться, когда ваша программа запущена, и Вы щелкаете на командной кнопке Max & Min. Когда Вы щелкаете на командной кнопке Max & Min, возможны три случая.

1. Первое нажатие устанавливает центр входа (EVENT_GOT_FOCUS).

2. Следующее нажатие имитирует щелчок левой кнопкой мыши вниз (EVENT_LEFT_CLICK).

3. Последнее нажатие имитирует отпускание кнопки мыши (EVENT_COMMIT). В каждом случае вызывается функция FindMaxMin. Вы написали функцию, чтобы найти максимальные и минимальные значения и вывести их только в случае ПЕРЕДАЧИ. Для более практического случая применения интерфейса пользователя ознакомьтесь с работой номер 5 в Главе 9.

Запустите проект. Помните, что Вы сначала должны щелкнуть на кнопке Acquire сначала, чтобы создать случайные данные. Затем Вы можете щелкать на кнопке Max & Min, чтобы найти их значения.

На этом мы закончим данное занятие обучающей программы. Закройте и сохраните Ваш файл перед использованием его на следующем занятии.

Следующее занятие обучающей программы в главе 8 ознакомит Вас с драйверами приборов LabWindows/CVI. В Главе 8 Вы будете использовать драйверы, чтобы прочитать данные из созданного случайного массива.

Глава 8. Использование инструментального драйвера.