В этом примере показано, как задать интервалы логгирования. Simulink® ограничивает регистрацию данных заданными интервалами.
Откройте модель в качестве примера, sldemo_mdlref_bus
.
Чтобы уменьшать сумму записанных данных, ограничьте регистрацию данных определенными интервалами времени симуляции. В этом примере вы задаете два интервала, чтобы регистрировать данные двух системных событий, инициированных increment
и reset
сигналы. Первый интервал получает первое событие сброса. Второй интервал получает поведение системы после того, как инкрементное событие происходит, и сигналы достигают более низких пределов насыщения. Интервалы основаны на increment
и reset
значения сигналов.
Чтобы установить параметр конфигурации Интервалов Логгирования, в Панели инструментов Simulink, на вкладке Modeling, нажимают Model Settings. В диалоговом окне Configuration Parameters, на вкладке Data Import/Export, включают параметр Интервалов Логгирования путем выбора симуляции Single выход.
Значение параметров Интервалов Логгирования должно быть действительной двойной матрицей с двумя столбцами. Элементами матрицы не должен быть NaN. Каждая строка задает времена начала и конца для интервала. Интервалы должны быть непересекающимися и упорядочены.
В данном примере установите Интервалы Логгирования на [9,10.5;14.5,30]
.
Симулируйте модель.
OUTERDATA является широким сигналом с двумя элементами. Осциллограф показывает значения сигнала OUTERDATA в процессе моделирования. Осциллограф не соблюдает установку Logging Intervals.
Установка Logging Intervals соблюдается при логгировании времени, корневых выходных портов, сигналов, памяти хранилища данных, состояний и других видов данных. Чтобы отобразить регистрируемые значения OUTERDATA, полученного как часть логгирования сигнала, используйте stem
функция, которая игнорирует настройки интерполяции данных.
time = out.get('topOut').get('OUTERDATA').Values.Time; data = out.get('topOut').get('OUTERDATA').Values.Data; stem(time,data,':.'); xlabel('Simulation Time'); xlim([0 35]); ylabel('OUTERDATA'); ylim([0 45]);