Логгирование и построение данных моделирования

В этом примере показано, как можно записать и построить данные моделирования вместо добавления датчиков к модели.

Показанная модель представляет двигатель постоянного тока с постоянными магнитами.

Эта модель очень похожа на пример с двигателем постоянного тока с постоянными магнитами, но, в отличие от модели с примерами, она не включает модуль Sensing w (Ideal Rotational Motion Sensor и PS-Simulink Converter блок) вместе с возможностями вращения двигателя. Для получения подробного описания примера двигателя постоянного тока с постоянными магнитами смотрите Оценку эффективности двигателя постоянного тока.

  1. Создайте модель, как показано на предыдущем рисунке.

  2. В окне модели откройте вкладку Modeling и нажмите Model Settings. Откроется диалоговое окно Параметры конфигурации (Configuration Parameters).

  3. В диалоговом окне Параметры конфигурации на левой панели выберите Data Import/Export. Снимите флажок Single simulation output, который установлен по умолчанию. Этот шаг позволяет связать записанные данные моделирования с отдельной переменной рабочей области, вместо того, чтобы быть частью одного выходного объекта.

  4. Чтобы включить логгирование данных, в диалоговом окне Параметров конфигурации, в левой панели, выберите Simscape, затем установите параметр Log simulation data на All и нажмите OK.

  5. Симулируйте модель. Это создает переменную рабочей области с именем simlog (как задано параметром Workspace variable name), который содержит данные моделирования.

  6. 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
  7. Каждый узел, который представляет Across, Through или внутреннюю основную переменную, содержит последовательные данные. Чтобы попасть в серию, необходимо задать полный путь к ней через дерево, начиная с имени переменной верхнего уровня. Для примера, чтобы получить указатель на серию, представляющую скорости вращения двигателя, введите:

    s1 = simlog.Rotational_Electromechanical_Converter.R.w.series;

    Отсюда можно получить доступ к значениям и временным векторам для ряда и проанализировать их.

  8. Вы не должны изолировать данные ряда, чтобы построить график его значений относительно времени или против другого ряда. Для примера, чтобы увидеть, как скорость двигателя (в оборотах в минуту) изменяется со временем, введите:

    plot(simlog.Rotational_Electromechanical_Converter.R.w,'units','rpm')

  9. Сравните этот рисунок с отображением возможностей в примере двигателя постоянного тока с постоянными магнитами. Результаты в точности совпадают.

  10. Чтобы построить крутящий момент двигателя относительно его скорости вращения, в 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 страницы с описанием.