exponenta event banner

Объекты Fi с Simulink

Просмотр и редактирование fi объекты в обозревателе моделей

Можно просматривать и редактировать fi объекты и их локальные fimath с помощью Проводника моделей в Simulink ®. Можно изменить свойства, доступные для записи fi объекты из Проводника моделей, но нельзя изменить свойства числового типа fi объекты после создания.

Чтение данных с фиксированной точкой из рабочей области

Данные с фиксированной точкой можно считывать из рабочего пространства MATLAB ® в модель Simulink с помощью блока «Из рабочего пространства». Для этого данные должны быть в структурном формате с fi объект в values поле. В формате массива блок «Из рабочей области» принимает только реальные данные с двойной точностью.

Для чтения fi данные, параметр Interpolate data блока From Workspace не должен быть выбран, а для вывода формы после окончательного значения данных по параметру должно быть установлено значение, отличное от Extrapolation.

Запись данных с фиксированной точкой в рабочую область

Вывод с фиксированной точкой из модели можно записать в рабочую область MATLAB через блок «В рабочую область» в формате массива или структуры. Данные фиксированной точки, написанные К блоку Рабочего пространства к рабочему пространству в формате структуры, могут быть прочитаны назад в модель Simulink в формате структуры От блока Рабочего пространства.

Примечание

Запись данных с фиксированной точкой в рабочую область MATLAB в виде fi установите флажок «Регистрировать данные с фиксированной точкой как объект FI» в диалоговом окне «К блоку рабочей области». В противном случае данные с фиксированной точкой преобразуются в double и записаны в рабочую область как double.

Например, можно использовать следующий код для создания структуры в рабочем пространстве MATLAB с fi объект в values поле. Затем можно использовать блок «Из рабочего пространства» для переноса данных в модель Simulink.

a = fi([sin(0:10)' sin(10:-1:0)'])
 
a =
 
         0   -0.5440
    0.8415    0.4121
    0.9093    0.9893
    0.1411    0.6570
   -0.7568   -0.2794
   -0.9589   -0.9589
   -0.2794   -0.7568
    0.6570    0.1411
    0.9893    0.9093
    0.4121    0.8415
   -0.5440         0


          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 15
 
s.signals.values = a

s = 

    signals: [1x1 struct]

s.signals.dimensions = 2

s = 

    signals: [1x1 struct]

s.time = [0:10]'

s = 

    signals: [1x1 struct]
       time: [11x1 double]

Блок «Из рабочей области» в следующей модели имеет fi структура s в параметре Data.

Не забудьте записать данные с фиксированной точкой в рабочую область MATLAB как fi установите флажок «Регистрировать данные с фиксированной точкой как объект fi» в диалоговом окне «К блоку рабочей области». В противном случае данные с фиксированной точкой преобразуются в double и записаны в рабочую область как double.

В модели следующие параметры на панели Решатель (Solver) диалогового окна Параметры конфигурации модели (Model Configuration Parameters) имеют указанные настройки:

  • Время начала - 0.0

  • Время остановки - 10.0

  • Тип - Fixed-step

  • Решатель - Discrete (no continuous states)

  • Фиксированный размер шага (время основной выборки) - 1.0

Блок «В рабочую область» записывает результат моделирования в рабочую область MATLAB как fi структура.

simout.signals.values
 
ans =
 
         0   -8.7041
   13.4634    6.5938
   14.5488   15.8296
    2.2578   10.5117
  -12.1089   -4.4707
  -15.3428  -15.3428
   -4.4707  -12.1089
   10.5117    2.2578
   15.8296   14.5488
    6.5938   13.4634
   -8.7041         0


DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 25

Установка значения и типа данных параметров блока

Выражения Designer™ фиксированной точки можно использовать для указания значения и типа данных параметров блока в Simulink. Дополнительные сведения см. в разделе Определение типов данных с фиксированной точкой.

Регистрация сигналов с фиксированной точкой

Когда сигналы с фиксированной точкой регистрируются в рабочей области MATLAB посредством регистрации сигналов, они всегда регистрируются как fi объекты.

Для включения регистрации сигнала:

  1. Выберите сигнал.

  2. Откройте раскрывающийся список Запись.

  3. Выберите Log/Unlog Selected Signals (регистрация/отмена регистрации выбранных сигналов).

Дополнительные сведения см. в разделе Экспорт данных сигнала с помощью регистрации сигнала.

При регистрации сигналов из ссылочной модели или диаграммы Stateflow ® в модели длина слова fi объекты могут быть больше, чем вы ожидаете. Длины слов сигналов с фиксированной точкой в ссылочных моделях и диаграммах Stateflow регистрируются как следующий по величине размер контейнера хранения данных.

Доступ к данным блока с фиксированной точкой во время моделирования

Simulink предоставляет интерфейс прикладных программ (API), который обеспечивает программный доступ к блочным данным, таким как входы и выходы блоков, параметры, состояния и рабочие векторы, во время выполнения моделирования. Этот интерфейс можно использовать для разработки программ MATLAB, способных получать доступ к блочным данным во время выполнения моделирования, или для доступа к данным из командной строки MATLAB. Информация о сигнале с фиксированной точкой возвращается вам через этот API как fi объекты. Дополнительные сведения об API см. в разделе «Доступ к данным блоков во время моделирования» в документации Simulink.