Я пытаюсь использовать диаграмму Stateflow для управления выполнением модели Simulink, взаимодействующей с реальным оборудованием через CAN. Я использую набор инструментов «Транспортная сеть» с Simulink Desktop Real-Time для запроса и управления серводвигателем с помощью сообщений CAN.
Я использую блок CAN Receive
для запуска блока Function Call Subsystem
, который содержит CAN Unpack
block.
Если я помещу эту коллекцию блоков в мою базовую модель, все будет работать именно так, как и предполагалось.
Однако, если я помещу эти блоки в состояние Simulink внутри моей диаграммы Stateflow, блоки больше не получают сообщений CAN. Я знаю, что оборудование все еще получает сообщения CAN и передает их в Simulink, потому что блок журнала CAN в базовой рабочей области по-прежнему регистрирует каждое сообщение.
Снимок экрана рабочего примера в Simulink:
Снимок экрана нерабочего примера в Simulink: