В этом примере показано, как вы можете получить доступ и анализировать информацию о пересечениях нуля во время симуляции. По умолчанию данные пересечения нулем не регистрируются. Если установлен флажок Log simulation statistics, переменная журнала симуляции содержит дополнительную SimulationStatistics
узел для каждого блока, который может производить пересечения нуля, по цене более медленной скорости симуляции и более тяжелого потребления памяти.
Откройте Механическую Систему с помощью модели примера Translational Hard Stop путем набора ssc_mechanical_system_translational_hardstop
в MATLAB® Командное окно.
Откройте диалоговое окно Параметры конфигурации, а затем на левой панели выберите Simscape. Можно увидеть, что в этом примере уже включена регистрация данных для всей модели, а также статистика симуляции, и что имя переменной рабочей области simlog_ssc_mechanical_system_translational_hardstop
.
Симулируйте модель. Это создает переменную рабочей области с именем simlog_ssc_mechanical_system_translational_hardstop
(как задано параметром Workspace variable name), который содержит данные моделирования. Поскольку вы установили флажок Log simulation statistics, переменная рабочей области содержит дополнительные узлы, которые представляют данные пересечения нулем.
The 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
Под Translational_Hard_Stop
узел, существует узел, называемый SimulationStatistics
, который содержит информацию о пересечении нулем. Это означает, что Translational Hard Stop является единственным блоком в модели, который может сгенерировать пересечения нулем во время симуляции.
Вы можете получить доступ и проанализировать эти данные, аналогичные другим данным, которые регистрируются в рабочей области во время симуляции. Для получения дополнительной информации смотрите simscape.logging.Node
и simscape.logging.Series
страницы с описанием.