Общие Сведения
Типы операции
Все исполняемые блоки (операции) программы можно разделить на несколько категорий.
► Библиотечная операция:
- действие с тестируемым устройством;
- действие с контрольно-измерительным устройством;
- действие с периферийным оборудованием;
- вспомогательные библиотеки (Фурье);
► Скрипт.
► Вызов теста (в том числе рекурсия).
► Логическая операция:
► Вычислительная операция:
► Работа с массивом:
- SetArrayValue;
- GetArrayValue;
- перебор ForEach.
- GenerateTimeStamps
Свойства блоков
На вход или выход блока может передаваться значение одного из трёх типов: Variable, Constant, Expression.
- Variable - существующая переменная с панели "Переменные". В зависимости от блока, в списке будут отображаться только переменные подходящего типа.
- Constant (константа) - постоянная величина, значение которой пользователь устанавливает напрямую.
- Expression (выражение) - математическое, логическое или иное выражение, результат которого, будет использовать данный блок. При использовании переменных, их имена должны точно совпадать с их именами на панели "Переменные". Используется синтаксис языка С#.
Входы и выходы блоков
Блок может иметь различное количество входов и выходов, либо не иметь входов вовсе (например, начало тестовой процедуры). Входы и выходы используются для построения логики переходов между блоками.
Каждый из входов и выходов всегда находится в одном из следующих состояний:
- active - активен
- inactive - неактивен
Входы блоков
Количество входов блоков можно увеличивать и уменьшать в допустимых для данного вида операции пределах. Это необходимо для управления логикой перехода между операциями. Чтобы изменить количество входов, необходимо открыть контекстное меню блока, кликнув по нему правой кнопкой, и выбрать соответствующий пункт.
Входы активируются входными связями, подключенными к ним. Если связь, подключенная к входу, активируется, вход переходит в состояние active, независимо от того, в каком состоянии он находился до этого момента.
Все входы операции переходят в состояние inactive в момент начала выполнения операции.
Состояние входов операции определяет условие ее запуска. Для того что бы операция была запущена все ее входы должны находиться в состоянии active. В случае, если необходимо запустить операцию, когда все предыдущие связанные операции завершены, нужно каждую из входящих связей подключать к отдельному входу операции. Если же наоборот, необходимо запустить операцию, когда любая из предыдущих связанных операций завершена, нужно все входящие связи подключить к одному (единственному) входу блока.
Так же эти два варианта можно комбинировать между собой, в зависимости от решаемой задачи.
Например, необходимо выполнить операцию D, после завершения одной из операций A или B и завершения операции C. Для этого необходимо операции A и B подключить к первому входу операции D, а операцию С - ко второму.
Выходы блоков
Выходом активируются выходные связи, подключенные к данному выходу.
Все выходы операции переходят в состояние inactive в момент начала выполнения операции.
Все блоки, имеют как минимум следующие выходы:
- success - выход активируется при завершении операции без ошибок.
- error - выход активируется при возникновении ошибки, во время выполнения операции.
Полное количество выходов операции определяется логикой данной операции.
Например, логическая операции If имеет два дополнительных выхода:
- true - определяемое входным параметром условие проверки выполняется
- false - определяемое входным параметром условие проверки не выполняется
Результатом выполнения операции If будет одна из следующих комбинаций выходов:
Выход | Выполняется | Не выполняется | Ошибка |
---|---|---|---|
sucess | active | active | inactive |
error | inactive | inactive | active |
true | active | inactive | inactive |
false | inactive | active | inactive |
Параметры блока
Блок имеет входные и выходные параметры, которые можно сопоставить с переменными или значениями.
Каждый из параметров операции имеет:
- Имя (например, strParam)
- Тип (например,string)
Каждый из входных параметров дополнительно имеет:
- Значение по умолчанию (например, "не задан")
Сопоставить с параметром можно только переменные или значения соответствующего типа.
Например, для параметра типа string можно сопоставить:
- Строковое значение ("Строка для операции").
- Переменную (strValue).
- Элемент строкового массива.
При сопоставлении переменной с входным параметром, в момент начала выполнения операции, в него будет передано значение сопоставленной переменной. Если переменная будет изменена после начала операции, в самой операции будет продолжать использоваться предыдущее значение переменной.
При сопоставлении переменной с выходным параметром, в момент завершения выполнения операции в переменную будет записано значение соответствующего параметра.
Повернуть блок
По умолчанию предполагается, что программа будет строиться на холсте сверху вниз, но при желании можно вести линию программы в любом направлении. В этом случае для удобства отображения, блок инструмента на схеме может быть повёрнут. Для этого необходимо открыть контекстное меню, кликом правой кнопкой мыши по требуемому блоку на холсте и выбрать один из пунктов "Повернуть". Тогда входы и выходы на блоке переместятся на соседнюю сторону блока. При этом, созданные связи останутся на месте.
Отключить блок
После добавления блока в программу, его можно отключить. Для этого необходимо открыть контекстное меню блока кликом правой кнопкой мыши и выбрать пункт "Отключить". Блок на холсте станет прозрачным и будет пропущен программой во время исполнения.
Индексы
Для того, чтобы управлять контекстом выполнения блоков, к ним можно добавить номера (индексы). Это можно сделать через контекстное мекню блока, выбрав пункт "Установить номер".
Разные индексы, установленные на блоках одного вида приводят к созданию отдельных объектов этого вида для каждого индекса. Это можно использовать в ситуации когда необходимо осуществлять одновременное взаимодействие с двумя одинаковыми устройствами. Задав их блокам SetConnection разные индесксы можно каждому из них передать свой Connection и потом выполнять взаимодействие с соответствующим переданному Connection устройством посредством указания его индекса на блоках взаимодействия.
Предупреждающие знаки
При добавлении блоков на холст, на некоторых из них могут появляться предупреждающие знаки жёлтого или красного цветов. Они напоминают о том, что для корректной работы блока необходимо внести изменения в его свойства.
Жёлтая иконка - предупреждение, что на блок не назначены выходные аргументы.
Красная иконка - ошибка, на блок не назначены входные аргументы.