exponenta event banner

Stateflow. SimulationData. Государство

Активность состояния во время моделирования

Описание

Использовать Stateflow.SimulationData.State для регистрации активности состояния во время моделирования.

Создание

  1. В редакторе Stateflow ® выберите состояние.

  2. На вкладке Моделирование (Simulation) в разделе Подготовка (Prepare) выберите Журнал самостоятельной деятельности (Log Self Activity). Либо в Инспекторе свойств в разделе Ведение журнала установите флажок Вести журнал для самостоятельной работы.

Свойства

развернуть все

Имя регистрации состояния, указанное как символьный массив. По умолчанию имя регистрации для состояния является иерархическим именем с использованием точки (.) для разделения каждого уровня в иерархии состояний. Чтобы назначить состояние с более коротким именем, в инспекторе свойств задайте для параметра «Имя журнала» значение Custom и введите имя пользовательского журнала.

Типы данных: char

Путь к блоку для исходного блока, указанный как Simulink.SimulationData.BlockPath (Simulink) объект.

Типы данных: Simulink.SimulationData.BlockPath

Деятельность государства, указанная как timeseries объект. Значения данных указывают, является ли состояние активным (1) или неактивен (0). Значения времени соответствуют времени моделирования.

Типы данных: timeseries

Функции объекта

plot (Симулинк)Печать выходных данных моделирования в инспекторе данных моделирования

Примеры

свернуть все

  1. Откройте окно sf_semantics_hotel_checkin модель.

  2. Откройте окно Hotel диаграмма.

  3. Откройте панель «Символы». На вкладке Моделирование (Simulation) в разделе Подготовка (Prepare) щелкните Панель символов (Symbols Pane)

  4. Сконфигурируйте Dining_area состояние для ведения журнала.

    • В редакторе потока состояний выберите Dining_area состояние.

    • На вкладке Моделирование (Simulation) в разделе Подготовка (Prepare) выберите Журнал самостоятельной деятельности (Log Self Activity).

      В инспекторе свойств в разделе «Ведение журнала» установите флажок «Вести журнал для самостоятельной работы».

    • По умолчанию имя регистрации для этого состояния является именем иерархического сигнала Check_in.Checked_in.Executive_suite.Dining_area. Чтобы назначить состояние с более коротким именем, задайте для параметра Имя регистрации значение Custom и введите Dining Room.

  5. Вернитесь к модели Simulink ®.

  6. Моделирование модели. После начала моделирования зайдите в отель, переключив первый переключатель и заказав обслуживание номеров несколько раз, переключив второй переключатель. Во время моделирования Stateflow сохраняет записанные данные в Simulink.SimulationData.Dataset (Simulink) объект регистрации сигналов. Имя по умолчанию объекта регистрации сигналов: logsout. Дополнительные сведения см. в разделе Экспорт данных сигнала с помощью регистрации сигнала (Simulink).

  7. Остановите моделирование.

  8. Для доступа к объекту регистрации сигналов в командной строке MATLAB ® введите:

    logsout = out.logsout
    logsout = 
    
    Simulink.SimulationData.Dataset 'logsout' with 1 element
    
                            Name         BlockPath                        
                            ___________  ________________________________ 
        1  [1x1 State]      Dining Room  sf_semantics_hotel_checkin/Hotel

  9. Для доступа к записанным в журнал элементам используйте get (Simulink) метод.

    diningLog = logsout.get('Dining Room')
    diningLog = 
    
      Stateflow.SimulationData.State
      Package: Stateflow.SimulationData
    
      Properties:
             Name: 'Dining Room'
        BlockPath: [1×1 Simulink.SimulationData.BlockPath]
           Values: [1×1 timeseries]
    

  10. Для доступа к зарегистрированным данным и времени каждого зарегистрированного элемента используйте Values.Data и Values.Time свойства. Например, упорядочить записанные данные в табличной форме с помощью table функция.

    Tbl = table(diningLog.Values.Time,diningLog.Values.Data);
    Tbl.Properties.VariableNames = {'Time','Data'}
    Tbl =
    
      6×2 table
    
           Time       Data
        __________    ____
    
                 0     0  
        1.8607e+06     1  
        1.9653e+06     0  
        1.9653e+06     1  
        1.9653e+06     0  
        2.2912e+06     1  
    

Представлен в R2017b