При работе в ModelBuilder вы можете использовать выходные данные процесса в качестве входных для предыдущего процесса. Такие действия называются обратной связью, поскольку выходные данные подаются на вход предыдущего процесса.
Есть два способа установления обратной связи.
- Из свойств переменной
- Использование инструмента Соединить (Сonnect)
В приведенном ниже примере выходные данные инструмента Буфер (Buffer) подаются на вход инструмента Буфер (Buffer) на каждой итерации.
Из свойств переменной
- Выберите переменную и щелкните по ней правой кнопкой мыши.
- В закладке Общие (General) выберите переменную, которую вы хотите использовать для обратной связи из списка Переменная обратной связи (Feedback Variable).
Появится пунктирная линия обратной связи, соединяющая выходную и входную переменную. На каждой итерации выходная переменная будет использована в качестве входной для следующей итерации.
Использование инструмента Соединить (Сonnect)
- В ModelBuilder выберите инструмент Соединить (Connect). .
- Щелкните по выходным данным, которые вы хотите использовать для обратной связи, а затем — по входным данным.
Модель соединит выходные данные со входными и автоматически создаст пунктирную линию соединителя обратной связи. На каждой итерации выходная переменная будет использована в качестве входной для следующей итерации.
Ограничение числа итераций модели
Модель должна иметь определенное количество итераций, иначе она будет выполняться бесконечное число раз. См. приведенный ниже пример.
- Чтобы ограничить количество итераций в модели используйте итератор Для (For).
- Чтобы повторить цикл обратной связи заданное количество раз, введите соответствующие значения От значения (From Value), До значения (To Value) и По значению (By Value). Например, чтобы выполнить 4 цикла итераций модели установите для параметра От значения (From Value) значение 1, для параметра До значения (To Value) значение 4 и значение интервала равное 1 для параметра По значению (By Value).
- Задайте выходное значение инструмента Для (For) как предварительное условие для следующего инструмента. Благодаря этому количество итераций для следующего инструмента уже будет задано. Дополнительные сведения о настройке предварительных условий
- Во избежание перезаписи выходного значения после каждой итерации, добавьте после выходного имени линейную переменную %Value%. При выполнении модели вместо переменной %Value% подставится количество 1, 2, 3, 4 и т. д. в зависимости от выходного значения параметра Значение (Value) в итераторе Для (For).
- Настройте инструмент таким образом, чтобы выходное значение было входным в следующем цикле как в приведенном ниже примере, где выход Буфера (Buffer) связан с переменной на Входе (Input).
- Также соедините выход инструмента (в примере — Результат (Output)) с инструментом Собрать значения (Collect Values).
- Запустите модель.