Объекты fi с Simulink

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

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

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

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

Чтобы читать в данных 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. Можно затем использовать блок From Workspace, чтобы принести данные в модель 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]

Блок From Workspace в следующей модели имеет структуру fi s в параметре Data.

Помните, чтобы записать данные фиксированной точки в рабочее пространство MATLAB как объект fi, установить флажок Log fixed-point data as a fi object на диалоговом окне блока To Workspace. В противном случае данные фиксированной точки преобразованы в double и записаны в рабочую область как double.

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

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

  • Stop time10.0

  • Ввод Fixed-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. Для получения дополнительной информации смотрите, Задают Типы данных с фиксированной точкой (Simulink).

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

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

Включить журналирование сигнала для сигнала:

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

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

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

Для получения дополнительной информации относитесь, чтобы Экспортировать Данные сигнала Используя Сигнал, Регистрирующий (Simulink).

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

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

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