Регистрируйте и постройте данные моделирования

В этом примере показано, как можно регистрировать и построить данные моделирования вместо того, чтобы добавить датчики в модель. Этот пример использует функции командной строки, которым удовлетворяют для сценариев и пакетной обработки данных. Для интерактивного примера, который использует Проводник Результатов Simscape™, чтобы построить регистрируемые данные моделирования, смотрите Журнал, Перейдите, и Данные моделирования Графика.

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

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

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

  2. В окне модели откройте вкладку Modeling и нажмите Model Settings. Диалоговое окно Configuration Parameters открывается.

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

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

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

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

    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 страницы с описанием.