Объекты fi с Simulink

Просмотр и редактирование fi объекты в Model Explorer

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

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

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

Чтобы прочитать в fi данные, параметр Interpolate data блока From Workspace не должен быть выбран, и параметр Form output after final data value by должен быть установлен на что-либо кроме Extrapolation.

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

Можно записать выход с фиксированной точкой из модели в рабочее пространство MATLAB через блок To Workspace в формате массива или структуры. Данные с фиксированной точкой, записанные блоком To Workspace в рабочую область в формате структуры, могут быть считаны в модель Simulink в формате структуры блоком From Workspace.

Примечание

Чтобы записать данные с фиксированной точкой в рабочее пространство MATLAB как fi установите флажок Log fixed-point data as a fi object в диалоговом окне блока To Workspace. В противном случае данные с фиксированной точкой преобразуются в 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 установите флажок Log fixed-point data as a fi object в диалоговом окне блока To Workspace. В противном случае данные с фиксированной точкой преобразуются в double и записан в рабочую область как double.

В модели следующие параметры на панели Solver диалогового окна Model Configuration Parameters имеют указанные настройки:

  • Start time0.0

  • Stop time10.0

  • TypeFixed-step

  • SolverDiscrete (no continuous states)

  • Fixed step size (fundamental sample time)1.0

Блок To Workspace записывает результат симуляции в рабочее пространство 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

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

Можно использовать выражения Fixed-Point Designer™, чтобы задать значение и тип данных параметров блоков в Simulink. Для получения дополнительной информации смотрите Задать типы данных с фиксированной точкой.

Логгирование сигналов с фиксированной точкой

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

Чтобы включить регистрацию сигнала для сигнала:

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

  2. Откройте Record выпадающего списка.

  3. Выберите Log/Unlog Selected Signals.

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте