Данные с фиксированной точкой можно считывать из программного обеспечения MATLAB ® в модели Simulink ®, и существует несколько способов регистрации информации с фиксированной точкой из моделей и моделирования в рабочей области.
Блок «Из рабочего пространства» используется для считывания данных с фиксированной точкой из рабочего пространства MATLAB в модель Simulink. Для этого данные должны быть в структурном формате с фиксированной точкой Designer™ fi объект в values поле. В формате массива блок «Из рабочей области» принимает только реальные данные с двойной точностью.
Для чтения fi данные, параметр Interpolate data блока From Workspace не должен быть выбран, а для вывода формы после окончательного значения данных по параметру должно быть установлено значение, отличное от Extrapolation.
Вывод с фиксированной точкой из модели можно записать в рабочую область MATLAB через блок «В рабочую область» в формате массива или структуры. Данные фиксированной точки, написанные К блоку Рабочего пространства к рабочему пространству в формате структуры, могут быть прочитаны назад в модель Simulink в формате структуры От блока Рабочего пространства.
Примечание
Запись данных с фиксированной точкой в рабочую область в виде 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 =
struct with fields:
signals: [1×1 struct]
s.signals.dimensions = 2
s =
struct with fields:
signals: [1×1 struct]
s.time = [0:10]'
s =
struct with fields:
signals: [1×1 struct]
time: [11×1 double]Блок «Из рабочей области» в следующей модели имеет fi структура s в параметре Data. В модели следующие параметры на панели Решатель (Solver) диалогового окна Параметры конфигурации (Configuration Parameters) имеют указанные настройки.
Время начала - 0.0
Время остановки - 10.0
Тип - Fixed-step
Решатель - discrete (no continuous states)
Фиксированный размер шага (основное время выборки) - 1.0

Блок «В рабочую область» записывает результат моделирования в рабочую область MATLAB как fi структура.
out.simout.data
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Когда сигналы с фиксированной точкой регистрируются в рабочем пространстве MATLAB посредством регистрации сигналов, они всегда регистрируются как Fixed-Point Designer fi объекты.
Чтобы включить регистрацию сигнала, сначала выберите сигнал. Затем на вкладке Моделирование (Simulation) щелкните Регистрация сигналов (Log Signals).
Дополнительные сведения см. в разделе Регистрация сигналов.
При регистрации сигналов из ссылочной модели или диаграммы Stateflow ® в модели длина слова fi объекты могут быть больше, чем вы ожидаете. Длины слов сигналов с фиксированной точкой в ссылочных моделях и диаграммах Stateflow регистрируются как следующий больший размер контейнера хранения данных.
Simulink предоставляет интерфейс прикладного программирования (API), который обеспечивает программный доступ к блочным данным, таким как входы и выходы блоков, параметры, состояния и рабочие векторы, во время выполнения моделирования. Этот интерфейс можно использовать для разработки программ MATLAB, способных получать доступ к блочным данным во время выполнения моделирования, или для доступа к данным из командной строки MATLAB. Информация о сигнале с фиксированной точкой возвращается вам через этот API как fi объекты. Дополнительные сведения о API см. в разделе Доступ к данным блоков во время моделирования.
Из рабочей области | К рабочему пространству