Вы вошли на сайт, как Гость
Регистрация

Case Structures

Основы программирования в LabView
(Case Structures)

структура Case позволяет осуществить выбор одного из двух (или более) случаев, и выполнить в зависимости от этого выбора нужную подпрограмму. Case structure похожа на конструкцию if...then...else в обычных текстовых языках программирования (а еще больше на Select case:) Как это работает? Очень просто - на поле диаграммы ставится рамочка Case structure, сверху в ней есть переключатель случаев - . Щелкая по стрелкам, можно посмотреть какие случаи доступны (по умолчанию только два - true и false соответственно). На вход подается какое-то значение, и в зависимости от него выбирается нужный случай. Если на вход подается булево число, то значений всего два (как уже говорилось). Если подать целое, или например строку, то значений может быть 2^31 - 1. Для каждого предусмотренного значения можно написать свою подпрограмму (переключаться между ними можно, щелкая по стрелочкам). Одно из значений выбирается значением по умолчанию (default), и подпрограмма соответствующая этому значению будет выполнена, если на вход будет подано любое значение, для которого подпрограмма не задана. Например, если заданы случаи для чисел 1,2,3 а на вход подать число 4, то будет выполнена дефолтная подпрограмма. Рассмотрим пример:

Здесь в зависимости от шкалы происходит или не происходит пересчет градусов по Цельсию в градусы по Фаренгейту. В принципе, тут было бы достаточно функции Select, но у Case structure более широкие возможности - ведь внутрь рамки можно добавить еще много чего более сложного:) Плюс, выбор осуществить можно не из двух, а гораздо большего числа случаев, что с помощью той же Select организовать можно, но довольно коряво.

Туннели

В Case structure можно использовать туннели. При этом, если подать что-то на вход, то туннель появится для всех случаев. Можно использовать, можно не использовать - по желанию. С выходными туннелями несколько сложнее. Их тоже можно не подключать в каждой подпрограмме. При этом туннель будет отображаться в виде белых квадратных скобок. Если в каждом случае что-то (не обязательно одно и то же, главное чтобы тип данных совпадал) будет подключено к туннелю, то квадратик туннеля будет заполнен сплошным цветом. Если щелкнуть по туннелю правой кнопкой мыши и выбрать Use Default If Unwired, то для случаев с не подключенным туннелем, будет использоваться значение из дефолтного случая (как нетрудно догадаться по названию опции).

Оригинальный источник материала: www.labview.webhost.ru