
- •1 Создание кластеров из элементов управления и индикации
- •2 Порядок элементов в кластере
- •3 Создание кластера констант
- •4 Функции работы с кластерами
- •5 Сборка кластеров
- •6 Разделение кластера
- •7 Преобразование кластера в массив
- •8 Кластеры ошибок
- •9 Обработка ошибок
- •10 Кластеры ошибок
- •11 Объяснение ошибки
- •12 Использование цикла пока (While) при обработке ошибок
- •13 Использование структуры варианта (Case) при обработке ошибок
7 Преобразование кластера в массив
В палитрах Function=>Array и Function=>Cluster имеются две функции позволяющие преобразовать массив в кластер и наоборот кластер в массив.
|
Array To Cluster – преобразует одномерный массив в кластер из элементов того же типа. Через контекстное меню этого узла пункт Cluster Size можно установить размер результирующего кластера. |
|
Cluster To Array – преобразует кластер из однотипных элементов в массив. |
Пример 2 Преобразования массива в кластер и наоборот
На рис.8 можно пронаблюдать, как одномерный массив из трех элементов преобразуется сначала в кластер. Этот кластер выводится на лицевую панель, затем кластер преобразуется обратно в массив. Следует обратить внимание на определение размера кластера для функции Array To Cluster.
|
|
Рисунок 8 – Преобразования массива в кластер и наоборот
8 Кластеры ошибок
Даже в самой отлаженной программе встречаются ошибки, поэтому никогда нельзя предусмотреть все проблемы, которые могут возникнуть у пользователя. Без механизма проверки ошибок, о ВП можно сказать только то, что он не работает. Проверка ошибок позволяет узнать, в каком месте и почему произошел сбой.
При программировании любых операций ввода/вывода стоит подумать о возможном появлении ошибок. Почти все операции ввода/вывода возвращают информацию об ошибке. Чтобы правильно обрабатывать ошибки, в ВП нужно особо тщательно выполнять проверку для таких операций ввода/вывода, как файловые и последовательные операции, операции работы с приборами, операции получения данных, а также процессы передачи информации.
Проверка на ошибки в ВП выявляет, в частности:
Неправильную инициализацию связи с внешним устройством или записи в него некорректной информации.
Ситуацию, когда внешнее устройство не включено или не работает.
Изменение путей к необходимым файлам (например, по причине переустановки системного программного обеспечения).
9 Обработка ошибок
Ошибки при работе над любым проектом неизбежны. Поэтому при создании проекта важным этапом является отладка приложения, обработка ошибок. Обработка ошибок подразумевает сопоставление какого-либо действия возможным непланируемым событиям, например, вывода диалогового окна. В LabVIEW не реализована автоматическая обработка ошибок. Это сделано для того, чтобы можно было самостоятельно выбирать метод, которым обрабатываются ошибки. Например, если для ВП истекло время ожидания ввода/вывода, можно сделать так, чтобы не прекращалась работа всего приложения. Можно также заставить ВП повторить попытку через некоторое время. Процесс обработки ошибок в LabVIEW происходит на блок-диаграмме.
Существует два способа возврата ошибок в ВП и функциях: с помощью числа, обозначающего код ошибки и с помощью кластера ошибок. Как правило, функции используют число – код ошибки, а ВП принимают на вход и выдают на выходе информацию об ошибках в виде кластера.
Обработка ошибок в LabVIEW также построена на модели поточного программирования. Как и другие данные, информация об ошибках проходит через ВП. Для этого необходимо использовать входной и выходной кластеры ошибок, и включить в конце ВП обработчик ошибок для определения того, были ли сбои в процессе работы ВП.
При выполнении ВП LabVIEW следит за появлением ошибок, и, как только где-нибудь происходит сбой, составляющие части ВП перестают выполняться и только передают ошибку дальше, на выход. Для обработки появляющихся в ВП ошибок в конце потока выполнения обычно используется простой обработчик ошибок Simple Error Handler, показанный на рис.9. Simple Error Handler находится на палитре Functions=>Time and Dialog.
Рисунок 9 – Обработчик ошибок
Подсоедините кластер ошибок к полю входных данных «Error In» (по умолчанию ошибки нет). В случае возникновения ошибки данный ВП выводит диалоговое окно с информацией о возникшей ошибке.