В этом примере показано, как можно записать и построить данные моделирования вместо добавления датчиков к модели.
Показанная модель представляет двигатель постоянного тока с постоянными магнитами.
Эта модель очень похожа на пример с двигателем постоянного тока с постоянными магнитами, но, в отличие от модели с примерами, она не включает модуль Sensing w
(Ideal Rotational Motion Sensor и PS-Simulink Converter блок) вместе с возможностями вращения двигателя. Для получения подробного описания примера двигателя постоянного тока с постоянными магнитами смотрите Оценку эффективности двигателя постоянного тока.
Создайте модель, как показано на предыдущем рисунке.
В окне модели откройте вкладку Modeling и нажмите Model Settings. Откроется диалоговое окно Параметры конфигурации (Configuration Parameters).
В диалоговом окне Параметры конфигурации на левой панели выберите Data Import/Export. Снимите флажок Single simulation output, который установлен по умолчанию. Этот шаг позволяет связать записанные данные моделирования с отдельной переменной рабочей области, вместо того, чтобы быть частью одного выходного объекта.
Чтобы включить логгирование данных, в диалоговом окне Параметров конфигурации, в левой панели, выберите Simscape, затем установите параметр Log simulation data на All
и нажмите OK.
Симулируйте модель. Это создает переменную рабочей области с именем simlog
(как задано параметром Workspace variable name), который содержит данные моделирования.
The simlog
переменная имеет ту же иерархию, что и модель. Чтобы увидеть всю структуру переменной, в командной строке введите:
print(simlog)
Эта команда печатает целое дерево данных.
mlog_ex_dcmotor1 +-Electrical_Reference2 | +-V | +-v +-Friction_Mr | +-C | | +-w | +-R | | +-w | +-t | +-w +-L | +-i | +-i_L | +-n | | +-v | +-p | | +-v | +-v +-Load_Torque | +-C | | +-w | +-R | | +-w | +-S | +-t | +-w +-Mechanical_Rotational_Reference | +-W | +-w +-Mechanical_Rotational_Reference1 | +-W | +-w +-Motor_Inertia_J | +-I | | +-w | +-t | +-w +-Rotational_Electromechanical_Converter | +-C | | +-w | +-R | | +-w | +-i | +-n | | +-v | +-p | | +-v | +-t | +-v | +-w +-Rotor_ResistanceR | +-i | +-n | | +-v | +-p | | +-v | +-v +-x1_5V +-i +-n | +-v +-p | +-v +-v
Каждый узел, который представляет Across, Through или внутреннюю основную переменную, содержит последовательные данные. Чтобы попасть в серию, необходимо задать полный путь к ней через дерево, начиная с имени переменной верхнего уровня. Для примера, чтобы получить указатель на серию, представляющую скорости вращения двигателя, введите:
s1 = simlog.Rotational_Electromechanical_Converter.R.w.series;
Отсюда можно получить доступ к значениям и временным векторам для ряда и проанализировать их.
Вы не должны изолировать данные ряда, чтобы построить график его значений относительно времени или против другого ряда. Для примера, чтобы увидеть, как скорость двигателя (в оборотах в минуту) изменяется со временем, введите:
plot(simlog.Rotational_Electromechanical_Converter.R.w,'units','rpm')
Сравните этот рисунок с отображением возможностей в примере двигателя постоянного тока с постоянными магнитами. Результаты в точности совпадают.
Чтобы построить крутящий момент двигателя относительно его скорости вращения, в rpm
, и добавить описательные имена осей, введите:
plotxy(simlog.Rotational_Electromechanical_Converter.R.w,simlog.Motor_Inertia_J.t,... 'xunit','rpm','xname','Angular velocity','yname','Torque')
Для получения дополнительной информации о графическом изображении записанных данных моделирования, смотрите simscape.logging.plot
и simscape.logging.plotxy
страницы с описанием.