Сохраните информацию состояния

Сохраните информацию состояния для каждого шага моделирования

Можно сохранить информацию состояния для регистрируемых состояний для каждого шага моделирования во время моделирования. Тот уровень информации состояния может быть полезным для отладки.

  1. Установите флажок Configuration Parameters> Data Import/Export> States.

  2. В окне редактирования Штатов можно задать различную переменную для получения информации состояния, если вы не хотите использовать переменную xout по умолчанию.

  3. Также в панели Импорта/Экспорта Данных, установленной параметр Формата на Dataset, Structure или Structure with time, если вы не используете формат массивов для совместимости с устаревшей моделью.

    Формат Dataset не поддерживает:

    • Журналирование информации о состояниях в подсистеме вызова функций

    • Быстрый режим моделирования акселератора

    • Генерация кода

  4. Нажмите Apply.

  5. Моделируйте модель.

Сохраните частичную информацию конечного состояния

Сохранять просто регистрируемые состояния (непрерывные и дискретные состояния блоков):

  1. Выберите Параметры конфигурации> Импорт/Экспорт Данных> флажок конечных состояний.

  2. В окне редактирования конечных состояний можно задать различную переменную для получения информации состояния, если вы не хотите использовать переменную xFinal по умолчанию.

  3. Очиститесь Сохранение завершают SimState в параметре конечного состояния.

  4. Установите параметр Формата на Dataset, Structure или Structure with time.

  5. Нажмите Apply.

  6. Моделируйте модель.

Исследуйте информацию состояния, сохраненную без SimState

Если вы включаете Параметры конфигурации> Импорт/Экспорт Данных> конечные состояния или параметры состояний, Simulink® сохраняет информацию состояния в формате, который вы задаете с параметром Формата. Переменной по умолчанию для получения информации о конечном состоянии является xFinal, и переменной для получения информации состояния для получения информации о состояниях является xout.

Если модель не имеет никаких сохраненных состояний, то xFinal и xout являются пустыми переменными. Чтобы определить, имеет ли модель сохраненные состояния, используйте команду isempty(xout).

Информация о конечном состоянии в формате набора данных

Например, предположите, что вы сохранили информацию конечного состояния в формате Dataset, и используйте переменную xFinal по умолчанию для сохраненной информации состояния.

xFinal
xFinal = 

Simulink.SimulationData.Dataset 'xFinal' with 2 elements

                        Name    BlockPath 
                        ______  _________ 
    1  [1x1 State]      CSTATE  vdp/x1   
    2  [1x1 State]      DSTATE  vdp/x2   

  - Use braces { } to access, modify, or add elements using index.

Исследуйте первый элемент набора данных состояния.

xFinal{1}

ans = 

  Simulink.SimulationData.State
  Package: Simulink.SimulationData

  Properties:
         Name: 'CSTATE'
    BlockPath: [1x1 Simulink.SimulationData.BlockPath]
        Label: CSTATE
       Values: [1x1 timeseries]

Информация о конечном состоянии в структуре с форматом времени

Например, предположите, что вы сохранили информацию конечного состояния в структуре с форматом времени, и используйте переменную xFinal по умолчанию для сохраненной информации состояния.

Чтобы найти время симуляции и количество состояний в модели vdp, введите переменную xFinal.

xFinal
xFinal = 

       time: 20
    signals: [1x2 struct]

В этом случае время симуляции равняется 20 и существует два состояния. Чтобы исследовать первое состояние, используйте эту команду.

xFinal.signals(1)
ans = 

               values: 2.0108
           dimensions: 1
                label: 'CSTATE'
            blockName: 'vdp/x1'
            stateName: ''
    inReferencedModel: 0

Поля values и blockName первой структуры состояния показывают, что окончательное значение для выходного сигнала блока x1 2.018.

Примечание

Если вы пишете скрипт, чтобы анализировать информацию состояния, используйте комбинацию label и значений blockName, чтобы идентифицировать определенное состояние исключительно. Не полагайтесь на порядок состояний.

Сохраните информацию конечного состояния с SimState

Чтобы сохранить полную информацию состояния, сохраните SimState для моделирования.

  1. Выберите Параметры конфигурации> Импорт/Экспорт Данных> флажок конечных состояний.

  2. Также в панели Импорта/Экспорта Данных, выберите Save, завершенный SimState в параметре конечного состояния.

  3. В окне редактирования рядом с Сохранением завершают SimState в параметре конечного состояния, вводят имя переменной для SimState и нажимают Apply.

  4. Моделируйте модель.

Для получения дополнительной информации об использовании SimState смотрите, Сохраняют и состояние Моделирования Восстановления как SimState.

Связанные примеры

Больше о

Была ли эта тема полезной?