несколько clk в stateflow
09.08.2021
есть два clk сигнала (clk1 и clk2). нужно, чтобы при clk1 по фронту выключался свет (light=0), а при clk2 также по фронту включался свет (light=1). одднако при реалиации выдает такую диаграмму
есть два clk сигнала (clk1 и clk2). нужно, чтобы при clk1 по фронту выключался свет (light=0), а при clk2 также по фронту включался свет (light=1). одднако при реалиации выдает такую диаграмму
Комментарии
Подозреваю, что вы добавляли входные порты через EventPort, хотя вам куда больше бы подошли пара input под каждый сигнал. Ну и потом, у вас генераторы сигналов работают синхронно. Их фронты появляются одновременно, что может вопроиниматься чартом как взаимное отрицание или мгновенное переключение туда и обратно. Разнесите их немного во времени.
event clk1 и clk2 я задавал в model explorer. Разнес фронты сигналов немного, и, похоже, все работает верно, но делал это вручную. как это сделать автоматически, чтобы при задании частоты clk1 и clk2 их фронты не совпадали?
Можете попробовать различные блоки с приставкой delay.
Судя по модели, у Вас только один вход, и тот триггерный. А обращение к нему идет как к двум числовым входам. Stateflow так не распознает, что надо, хотя и ошибку не выдает. Надо завести два раздельных порта и обрабатывать их по is change.
Либо обработать оба входа и внутри чарта реализовать переключения по локальным событиям. Но, в любом случае, входа должно быть два.