Логгирование интервалов

В этом примере показано, как задать интервалы логгирования. 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]);

Похожие темы