Similar presentations:
Массивы и кластеры. Лекция 5
1. Лекция 5 Массивы и кластеры
Обсуждаемые вопросы:Введение в массивы
Автоиндексация массивов
Функции для работы с массивами
Полиморфизм
Введение в кластеры
Функции для работы с кластерами
Кластеры ошибок
2. Массивы
Набор элементов одного и того же типа31
•Одно и более измерений, до 2 элементов в измерении
• Доступ к элементу осуществляется через его индекс; индекс первого
элемента равен 0
индекс
Массив 10 элементов
0
1
2
3
4
5
6
7
8
9
1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7
Двумерный массив 0
0
1
2
3
4
5
6
1
2
3
4
Массив из 35 элементов, 5 строк и 7 столбцов
3. Array Controls and Indicators
1. Выберите шаблон Array изпалитры Controls
2. Поместите объекты
внутрь шаблона
Для создания
двумерного
массива
выберите
Add dimension
4. Создание константы массива
1. Выберите шаблонArray Constant из
подпалитры Array
2. Поместите объекты внутрь шаблона
5. Автоиндексация
• Циклы могут накапливатьмассивы на своих
границах при включённой
автоиндексации
• Автоиндексация цикла For
включена по умолчанию
• В циклах While по
умолчанию
автоиндексация
отключена
• Щелкните правой кнопкой
по туннелю для
включения/выключения
автоиндексации
Автоиндексация включена
Проводник
становится толще
1D Array
0 1
2
3 4
5
Автоиндексация отключена
Проводник остаётся
прежним
Только одна величина
(последняя итерация)
передаётся из цикла
6. Создание двухмерного массива
1D Array0 1
2
3 4
5
•Внутренний цикл создаёт элементы столбцов
• Внешний «складывает» их в строки
Двухмерный
массив
7. Автоиндексация входа
• Входной массив можетиспользоваться для
установки количества
итераций цикла For
Число элементов массива
равно количеству итераций
• Стрелка Run не разорвана
8. Основные функции для работы с массивами
Array Size-размер
массива
Initialize Array
Инициализация
массива
9. Основные функции для работы с массивами
Array Subset –Подмножество массива
10. Функция Build Array (создание массива)
Присоединение элементаConcatenate Inputs - создание более длинного массива
Создание массива большей размерности
По умолчанию
11. Функция Index Array
Выделяет элементВыделяет строку
Выделяет элемент строки
12. Полиморфизм
На вход функций могут подаваться даные разных типовВсе арифметические функции LabVIEW полиморфны
Комбинация
Скаляр + скаляр
Массив + скаляр
Результат
скаляр
массив
Массив + массив
массив
Массив + массив
массив
13. Обобщение
Массивы объединяют элементы одного типа. Можно создатьмассив логических элементов, числовых элементов, строк,
сигнальных данных, путей и кластеров
Нумерация массива начинается с нулевого элемента
Для создания массива элементов управления или индикаторов
выберите шаблон из палитры Controls»Array & Cluster,
поместите его на лицевую панель и перенесите в него
нужный элемент
При связывании массива к входному туннелю цикла For или
While, вы можете считывать и обрабатывать все элементы
массива, если включена автоиндексация
По умолчанию автоиндексация включена для цикла For и
отключена для цикла While.
Полиморфизм – это способность функций принимать данные
различных типов
14. Кластеры
• Структуры для группировки данных• Данные могут быть разных типов
• Аналогичны struct в C или record в Pascal
• Все элементы в кластерах должны быть или
элементами управления или индикаторами
• Аналогичны проводам, объединённым в кабель
14
15. Кластеры элементов управления и индикаторов
1. Выберите шаблонCluster из подпалитры
Array & Cluster
15
2. Поместите элементы внутрь
шаблона кластера
16. Создание константы кластера
1. Выберите шаблонCluster Constant из
подпалитры Cluster
2. Поместите элемены внутрь шаблона
кластера
17. Порядок элементов в кластере
• Элементы имеют номер (начиная с 0)• Для изменения порядка щёлкните правой кнопкой мыши по
границе кластера и выберите Reorder Controls in Cluster...
17
18. Использование кластера для передачи данных в под ВП
Используете кластеры дляпередачи нескольких данных
через один терминал
Снимает ограничение,
накладываемое максимально
допустимым числом терминалов
(28)
Упрощает связывание
элементов
18
19. Функции для работы с кластерами - Bundle
BundleBy Name
Bundle
Создание нового кластера
19
Для использования этой
функции необходимо
иметь существующий
кластер
Изменение существующего
кластера
20. Функции для работы с кластерами - Unbundle
Unbundle20
Unbundle By Name
21. Кластер ошибок
Используйте терминал входа (error in) и терминал выходакаждого ВП для обработки ошибок.
Кластер ошибок находится в подпалитре Controls»Array &
Cluster
22. Кластер ошибок - структура
• Status – логическая величина,принимающая значение TRUE, если
наблюдается ошибка. Большинство ВП,
структур и функций используют этот
параметр.
• Code - целое 32-битное число со знаком,
которое определяет код ошибки.
Ненулевое значение сode в сочетании со
статусом FALSE сообщает о
предупреждении, а не фатальной ошибке.
• Source – строка, которая
идентифицирует элемент, в котором
наблюдалась ошибка.
23. Обработка ошибок с использованием кластеров
• LabVIEW не обрабатывает ошибки автоматически, для этого выможете использовать специальные ВП.
• Обработка ошибок следует модели потока данных в LabVIEW –
ошибка наблюдается после прохождения данных через ВП.
• Связываете все элементы блок диаграммы с помощью
терминалов ошибок с начала до конца.
Error Cluster
24. Simple Error Handler (Простой обработчик ошибок)
Используйте Simple Error Handler для обработки в конце потокавыполнения
ВП Simple Error Handler расположен в палитре Functions»All
Functions»Time and Dialog. Подключайте этот ВП через входной
терминал Error In (no error).
25. Использование циклов While для обработки ошибок
Вы можете связать кластер ошибок с терминалом условияцикла While для остановки работы цикла.
Только величины TRUE или FALSE параметра status
передаются в терминал.
Когда возникает ошибка,
цикл Loop прекращает работу.
26. Обобщение
• Кластеры группируют данные смешанных типов. Кластеры немогут содержать смесь элементов управления и индикаторов
• Для создания кластеров выберите элемент Controls»Array &
Cluster из палитры элементов, поместите его на лицевую панель
и перенесите внутрь этого шаблона индикаторы или элементы
управления.
• Используйте функции для работы с кластерами из палитры
Functions»All Functions»Cluster для того, чтобы создавать
кластеры и работать с ними.
• Проверка ошибок сообщает о том, где и почему наблюдалась
ошибка.
• Кластер ошибок сообщает статус, код и источник ошибки
• Используйте элементы управления и отображения кластеров
ошибок при создании собственного ВП.