Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASVT Материалы / основы_labview_basics_2.pdf
Скачиваний:
133
Добавлен:
29.03.2016
Размер:
3.71 Mб
Скачать

Раздел 3.03

Раздел 3.04 Б. Типичные трудности и ошибки

При переработке виртуальных приборов возникает риск внесения в код новых ошибок. Минимизировать этот риск можно путем постепенного изменения кода небольшими фрагментами и тщательным тестированием ВП после каждого изменения. Последовательность действий при переработке ВП показана на Рисунке 3-17.

Рисунок 3-17. Последовательность переработки ВП

При переработке и улучшении качества диаграммы кода старайтесь первоначально провести небольшие «косметические» правки перед тем как браться за серьезные исправления. Так, например, гораздо проще обнаружить повторяющиеся участки кода, если диаграмма хорошо организована и терминалы функций содержат текстовые ярлыки.

Существует несколько принципиальных моментов, затрудняющих работу с виртуальными приборами, полученными от других разработчиков. Следующий список описывает типичные проблемы и приемы переработки, делающие ВП более понятными и простыми для модификации.

Блок-диаграмма слишком плохо организована. Улучшить читабельность ВП можно путем оптимального перемещения объектов внутри диаграммы. Вы можете также создать виртуальные подприборы из наиболее «запутанных» участков диаграммы, снабдив эти ВПП комментариями, помогающими разобраться в их функциональном назначении.

3-23

Блок-диаграмма содержит много неясных имен терминалов и функций и плохо понятные иконки ВПП. Этим часто отличаются ВП, полученные «из третьих рук». Например, ярлык элемента управления Control1, показанного на Рисунке 3-18, не позволяет догадаться о его назначении. Control 2 – тот же самый элемент управления, но переименованный для лучшего пояснения его назначения, и, тем самым, для большей наглядности кода ВП.

 

 

1 Неподходящий ярлык

2 Подходящий ярлык

Рисунок 3-18. Варианты ярлыков элементов управления

Имена ВПП и изображения их иконок также важны для улучшения читабельности ВП. Например, имя ВПП «Сбор данных.vi», расположенного в левой части диаграммы на Рисунке 3-19, предоставляет недостаточную информацию о назначении этого ВПП, поэтому целесообразно дать подприбору более осмысленное имя. Для этого сохраните его копию под новым именем и замените все вхождения данного ВПП на новое. Наиболее простой метод реализации этой задачи – открыть все ВП верхнего уровня, которые используют данный ВПП, и затем сохранить ВПП под новым именем. LabVIEW автоматически заменит во всех открытых ВП ссылки на новое имя ВПП. Так, имя Измерения температуры окна.vi лучше отражает функциональное назначение данного виртуального подприбора.

 

 

1 Неподходящее имя и 2 Подходящее имя ВПП

3 Подходящее имя и

иконка ВПП

иконка ВПП

Рисунок 3-19. Варианты имен и иконок ВПП

Иконка ВП также призвана пояснять его назначение. Иконка, создаваемая LabVIEW по умолчанию, не может отобразить эту информацию – например, варианты 1 и 2 иконок на Рисунке 3-19. Улучшить восприятие ВП поможет подходящая по смыслу иконка, такая как приведена в варианте 3.

Переименованием элементов управления и созданием наглядных иконок ВП и ВПП вы можете добиться значительного улучшения восприятия и понятности кода, полученного от других разработчиков.

3-24

Блок-диаграмма содержит ненужные логические конструкции.

Если рассмотреть диаграмму, показанную на Рисунке 3-20, можно обратить внимание на наличие в ней ненужных логических конструкций. Если какой-либо фрагмент диаграммы заведомо не будет выполнен, смело удаляйте его. Довольно трудно бывает понять код, который выполняется, но совершенно невозможно понять код, который не будет выполняться никогда. Более того, ненужные кодовые конструкции сильно загромождают диаграмму ВП.

Рисунок 3-20. Иллюстрация ненужных логических конструкций

Блок-диаграмма содержит повторяющиеся логические конструкции.

Если диаграмма ВП содержит повторяющиеся фрагменты, вам в любом случае необходимо переработать такой ВП, наиболее просто – созданием ВПП из повторяющихся фрагментов. Так вы достигнете большей наглядности ВП, а также его пригодности к модификациям и тестированию.

Алгоритм не следует принципу программирования «по потоку данных»

Если диаграмма ВП, полученного вами от других разработчиков, содержит много Структур Последовательности (sequence structures) и локальных переменных (local variables), данный ВП очевидно создавался без соблюдения принципа программирования «по потоку данных».

Вам следует заменить большую часть последовательностей на шаблон разработки машина состояний. Локальные переменные целесообразно убрать, оставив вместо них обычные элементы управления или индикаторы, соединенные проводниками данных.

Диаграмма содержит очень сложный и громоздкий алгоритм

Чересчур сложные алгоритмы делают ВП трудным в чтении и понимании. Более того, переработка таких алгоритмов сильно затрудняется возросшей вероятностью внести ошибки. При переработке сложных и громоздких алгоритмов старайтесь производить коррекции малыми шагами и сразу

3-25

же проводить тестирование обновленных ВП. В ряде случаев упрощение сложных алгоритмов можно проводить при помощи встроенных функций LabVIEW. Например, ВП, показанный на Рисунке 3-21, проверяет имя и пароль, введенные пользователем, на соответствие сохраненным в базе данных.

Рисунок 3-21. ВП со сложным алгоритмом

Вы можете переработать этот ВП при помощи встроенной функции, осуществляющей поиск текстовых строк, так, как показано на Рисунке 3-22.

Рисунок 3-22. Переработанный ВП

Диаграмма слишком велика

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

3-26

диаграмма никак не может уместиться на один экран, хотя бы ограничьте необходимость в прокрутке одной координатой.

3-27