Регистрируйте статистику симуляции

Этот пример показывает, как можно получить доступ и анализировать информацию о нулевых пересечениях во время симуляции. По умолчанию данные о пересечении нулем не регистрируются. Если вы устанавливаете флажок Log simulation statistics, логарифмическая переменная симуляции содержит дополнительный узел SimulationStatistics для каждого блока, который может произвести нулевые пересечения по цене более медленной скорости симуляции и более тяжелого потребления памяти.

  1. Откройте Механическую Систему с Переводной моделью Жесткой остановки в качестве примера путем ввода ssc_mechanical_system_translational_hardstop в Командном окне MATLAB®.

  2. Откройте диалоговое окно Configuration Parameters и затем, на левой панели, выберите Simscape. Вы видите, что эта модель в качестве примера уже имеет регистрацию данных для целой модели, включенной, а также статистика симуляции, и что именем переменной рабочей области является simlog_ssc_mechanical_system_translational_hardstop.

  3. Моделируйте модель. Это создает переменную рабочей области под названием simlog_ssc_mechanical_system_translational_hardstop (как задано параметром Workspace variable name), который содержит данные моделирования. Поскольку вы установили флажок Log simulation statistics, переменная рабочей области содержит дополнительные узлы, которые представляют данные о пересечении нулем.

  4. Переменная simlog имеет ту же иерархию как модель. Чтобы видеть целую переменную структуру, в командной строке, введите:

    simlog_ssc_mechanical_system_translational_hardstop.print

    Эта команда распечатывает целое дерево данных.

         ssc_mechanical_system_translational_hardstop
         +-Damper_M1
         | +-C
         | | +-v
         | +-R
         | | +-v
         | +-f
         | +-v
         +-Damper_M2
         | +-C
         | | +-v
         | +-R
         | | +-v
         | +-f
         | +-v
         +-MTRef_DM1
         | +-V
         |   +-v
         +-MTRef_DM2
         | +-V
         |   +-v
         +-MTRef_VS
         | +-V
         |   +-v
         +-Mass_1
         | +-M
         | | +-v
         | +-f
         | +-v
         +-Mass_2
         | +-M
         | | +-v
         | +-f
         | +-v
         +-Sensor_M1
         | +-Ideal_Translational_Motion_Sensor
         | | +-C
         | | | +-v
         | | +-P
         | | +-R
         | | | +-v
         | | +-V
         | | +-f
         | | +-v
         | | +-x
         | +-MTRef
         | | +-V
         | |   +-v
         | +-PS_Terminator
         | | +-I
         | +-PS_Terminator1
         |   +-I
         +-Sensor_M2
         | +-Ideal_Translational_Motion_Sensor
         | | +-C
         | | | +-v
         | | +-P
         | | +-R
         | | | +-v
         | | +-V
         | | +-f
         | | +-v
         | | +-x
         | +-MTRef
         |   +-V
         |     +-v
         +-Spring_M1
         | +-C
         | | +-v
         | +-R
         | | +-v
         | +-f
         | +-v
         | +-x
         +-Translational_Hard_Stop
         | +-C
         | | +-v
         | +-R
         | | +-v
         | +-SimulationStatistics
         | | +-zc_1
         | | | +-crossings
         | | | +-values
         | | +-zc_2
         | |   +-crossings
         | |   +-values
         | +-f
         | +-v
         | +-x
         +-Velocity_Source
           +-C
           | +-v
           +-R
           | +-v
           +-S
           +-f
           +-v
  5. Под узлом Translational_Hard_Stop существует узел под названием SimulationStatistics, который содержит информацию о пересечении нулем. Это означает, что Переводная Жесткая остановка является единственным блоком в модели, которая может сгенерировать нулевые пересечения во время симуляции.

  6. Можно получить доступ и анализировать эти данные, подобные другим данным, которые регистрируются к рабочей области во время симуляции. Для получения дополнительной информации смотрите страницы с описанием simscape.logging.Series и simscape.logging.Node.