Я думаю, вам следует переосмыслить, какую часть блок-схемы вы планируете посвятить константам: -)
Использование чисел непосредственно в коде, эквивалент немаркированных констант на блок-диаграмме LabVIEW, является признанным антишаблон .Если причина константного значения не является очевидной и фундаментальной для выполняемой операции, любой, кто просматривает ваш код (включая вас, через пару недель после его написания), не поймет, почему было выбрано значение.Поэтому вы должны прояснить это, пометив константу каким-либо образом (эквивалентно присвоению ее имени на текстовом языке), а также упростить изменение значения при необходимости.
Обычно ясно, что 0
или 1
константа работает там, но в коде вы разместили две константы 1000
и одну 999
.Почему это 1000, и если я решу, что это будет (скажем) 2000, нужно ли мне обновлять и другие два значения?Если это так, вы должны определить его один раз, пометить его подходящим именем, описывающим, что это такое (в вашем примере это может быть chunk size
или что-то в этом роде), и связать это значение с тем местом, где вам нужно его использовать.Там, где у вас есть константа 999
, вы можете получить это значение с помощью функции Decrement или вы также можете изменить свою функцию Greater Than
на Greater or Equal
и сравнить ее непосредственно со значением 1000.Таким образом, ваше первоначальное определение константы будет занимать больше места из-за метки, но вы сэкономите место и улучшите удобство сопровождения, передавая это значение туда, где вам это нужно, вместо размещения дополнительных констант.
Если вам нужночтобы ссылаться на одни и те же константы в нескольких местах на блок-диаграмме, вы можете поместить константы (и только константы, а не любую другую программную логику) в subVI, где каждая константа связана с индикатором с подходящей меткой, и каждый индикаторподключен к другому выходу на панели разъемов.При наведении инструмента на клеммы SubVI вы увидите этикетку на полоске наконечника.В качестве альтернативы, особенно если вам нужно множество разных значений констант, вы можете сделать то же самое, но в вашем SubVI объединить разные константы в именованный кластер (который вы сохраняете как typedef), а затем использовать Unbundle by Name
для доступа к конкретным значениям констант.из кластера, где они вам нужны.Опять же, это не обязательно экономит место на блок-диаграмме, но делает ваш код более читабельным и понятным.