Управляйте выходным ключом с действиями события и функцией Simulink

В этом примере показов, как изменить выбранный выходом порт Entity Output Switch блока, чтобы маршрутизировать сущности по различным путям, где путь выбран на базис сущности, а не на заранее определенном временном графике.

Управляйте выходным ключом с Simulink Function блоком

Следующий пример иллюстрирует сценарий, в котором блок Entity Output Switch управляется блоком Simulink Function.

  1. Дважды кликните сигнатуру функции на блоке Simulink Function и введите SwitchCtrl().

  2. Дважды кликните Simulink Function блок. Добавьте блок Repeating Sequence Stair и установите его параметр Sample time равным -1 (унаследовано), блок Message Send и блок Out1. Соедините блоки как показано на рисунке.

  3. В блоке Repeating Sequence Stair установите Vector of output values равным [3 2 1].

    Когда блок Simulink Function выполняется, он выводит следующий номер из повторяющейся последовательности и блок Message Send выводит значения сообщений 3, 2, или 1 на основе последовательности значений, заданных в блоке Repeating Sequence Stair.

  4. В блоке Entity Server в поле Exit action введите этот код.

    SwitchCtrl();

Когда сервис в блоке Entity Server завершен, сущность выходит из блока и переходит к блоку Entity Output Switch. Уход сущности из блока Entity Server вызывает SwitchCtrl() функция, которая активирует блок Simulink Function. Затем выходное сообщение блока Simulink Function определяет, какой выходной порт использует сущность, когда он покидает блок Entity Output Switch.

Выбор начального порта

Когда блок Entity Output Switch использует сообщение входа, блок может попытаться использовать сообщение перед его первым шагом расчета попаданием. Если начальное значение сообщения не области значений (для примера оно недоступно). Затем необходимо задать начальный выбор порта в диалоговом окне Entity Output Switch блока. Чтобы добиться этого, вы можете следовать этим шагам.

  1. В Entity Output Switch выберите From control port как Switching criterion.

  2. Установите Initial port selection на требуемый начальный порт. Значение должно быть целым числом от 1 до Number of output ports. Блок Entity Output Switch использует Initial port selection пока не появится первое сообщение порта управления.

См. также

| | |

Похожие примеры

Подробнее о