Этот фрагмент руководства получился довольно обширным, в связи с чем большая часть убрана под кат.
Далее рассмотрено решение несколько иной задачи, в которой проверяется логика наличия соответствия между входной информацией и некоторой наперёд заданной константой (пусть, например, значение константы равно "5"). Соответствие, как известно, может быть, а также его может и не быть. В качестве ответа на заданный вход должен получиться логический (двоичный / булевский) сигнал. Это означает, что имеется возможность модифицировать ранее созданную программу виртуального прибора, исключив из неё численный индикатор и заменив его логическим индикатором. Все логические элементы содержатся в разделе логических или булевских.
Подсветка в панели элементов управления раздела логических элементов ("Boolean")
В перечне логических элементов существуют два наиболее примечательных индикатора: квадратный (и это только название "Square", а на деле - элемент прямоугольной формы) светодиод и круглый светодиод. По смысловой нагрузке эти элементы равноценны, потому размещаются на графическом пользовательском интерфейсе по усмотрению автора виртуального прибора.
Содержимое раздела логических элементов ("Boolean") с подсветкой логического индикатора типа "квадратный светодиод" ("Square LED")
Как правило, круглые элементы менее строги к вниманию оператора, прямоугольные элементы - более требовательны к вниманию (правило из области психологии человека). Рассмотрим строгий пример - применим к графическому пользовательскому интерфейсу логический индикатор прямоугольной формы.
Размещение прямоугольного светодиода на передней панели виртуального прибора
Как и для случая с численным индикатором не стоит забывать о существовании правил вежливости программиста, а также правил обеспечения дружественности графического пользовательского интерфейса, потому необходимо ввести значащее имя для нового логического индикатора.
Формирование значащего имени для переменной, связанной с логическим индикатором
Далее потребуется ещё раз обратиться к разделу численных элементов, но уже в рамках блок-диаграммы создаваемого виртуального прибора (см. рисунок).
Подсветка в панели функций раздела численных элементов ("Numeric")
Из раздела понадобится численная константа, расположенная в левом нижнем углу окна, содержащего перечень элементов данного типа.
Содержимое раздела численных функций ("Numeric") с подсветкой численной константы ("Numeric Constant")
Напомним, что любая константа характеризуется типом и значением, причём значение константы определяет её тип. Таким образом, пока в рамке указано целое число - это будет целочисленная константа (см. рисунок ниже), как только там появится значение с плавающей запятой - это будет вещественная константа. Причём, существует возможность задать константу "NaN" ("Not a Number" - не числовое значение), позволяющую в отдельных случаях отлавливать ошибки.
Размещение целочисленной константы на блок-диаграмме
Не будем выходить за область целых чисел, потому в качестве константы в данном примере выставим значение равное "5".
Изменение значения целочисленной константы с "0" на "5"
После этого следует перейти к сравнению значения переменной, задаваемому численным контроллером, с константой, для чего обратиться в панели функций области блок-диаграммы к разделу элементов сравнения.
Подсветка в панели функций раздела элементов сравнения ("Comparison")
Для всех случаев, где требуется сравнение со значениями, отличными от нуля, на входе необходимы два операнда, а для случаев сравнения с нулём - один операнд. Далее рассматривается простейший случай сравнения на точное соответствие элементов - их эквивалентность. Соответствующий элемент располагается в левом верхнем углу окна, содержащего элементы этого типа.
Содержимое раздела функций сравнения ("Comparison") с подсветкой оператора однозначного соответствия / проверки на эквивалентность ("Equal?")
Итого размещаем элемент на блок-диаграмме и видим, что на ней теперь всего достаточно для запуска программы на исполнение. Остаётся только настроить связи между элементами.
Размещение оператора однозначного соответствия на блок-диаграмме
Не стоит забывать о правилах вежливости программиста: написанный код должен обладать читаемостью. Для графического кода в этом смысле существует куда больше дополнений, ограничивающих понятие читаемости. Так, например, необходимо стремиться к минимизации изломов линий связи - они отвлекают внимание на себя, а также стремиться к минимизации занимаемого графическим кодом пространства. Последнее пришло, скорее, из электроники, где при проектировании печатных плат стараются минимизировать количество использованного проводника, поскольку каждый сантиметр потраченного медного провода повышает стоимость разработки. В работе, естественно, создаётся только модель, но о минимизации затрат на проводящий материал нужно привыкать думать и помнить уже на данном этапе. Если выработается привычка минимизации занимаемого элементами схемы пространства в рамках задач "Учебной практики" - это значимый шаг для решения практических инженерных задач в будущем.
Соединение размещённых элементов между собой
Протестируем созданный, очень простой виртуальный прибор. В алгоритме имеет место разветвляющийся вычислительный процесс, в котором существуют лишь два исхода, потому для доказательства работоспособности нового программного обеспечения необходимо подобрать и отработать два тестовых примера. Подадим для начала на вход численного контроллера виртуального прибора значение равное "2". В этих условиях логическое выражение отвечает ложным результатом и лампочка не загорается.
Отклик лампы на значение "2,00", поданное на вход
Затем подадим на вход численного контроллера виртуального прибора значение, равное "5". Здесь логическое выражение отвечает истинным результатом - лампочка загорается.
Отклик лампы на значение "5,00", поданное на вход