Лекция 5 Массивы и кластеры
Массивы
Array Controls and Indicators
Создание константы массива
Автоиндексация
Создание двухмерного массива
Автоиндексация входа
Основные функции для работы с массивами
Основные функции для работы с массивами
Функция Build Array (создание массива)
Функция Index Array
Полиморфизм
Обобщение
Кластеры
Кластеры элементов управления и индикаторов
Создание константы кластера
Порядок элементов в кластере
Использование кластера для передачи данных в под ВП
Функции для работы с кластерами - Bundle
Функции для работы с кластерами - Unbundle
Кластер ошибок
Кластер ошибок - структура
Обработка ошибок с использованием кластеров
Simple Error Handler (Простой обработчик ошибок)
Использование циклов While для обработки ошибок
Обобщение

Массивы и кластеры. Лекция 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 Array
0 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

Bundle
By Name
Bundle
Создание нового кластера
19
Для использования этой
функции необходимо
иметь существующий
кластер
Изменение существующего
кластера

20. Функции для работы с кластерами - Unbundle

Unbundle
20
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 для того, чтобы создавать
кластеры и работать с ними.
• Проверка ошибок сообщает о том, где и почему наблюдалась
ошибка.
• Кластер ошибок сообщает статус, код и источник ошибки
• Используйте элементы управления и отображения кластеров
ошибок при создании собственного ВП.
English     Русский Правила