В этом примере показано, как экспортировать определение и объявление глобальной переменной, которую сгенерированный код использует в качестве сигнала.
float mySig;
extern float mySig;
1. Откройте пример модели ex_defn_decl.
open_system('ex_defn_decl');

2. В Model Data Editor откройте вкладку Inports/Outports.
3. В Model Data Editor для блока Inport установите значение Data Type single.
set_param('ex_defn_decl/In1','OutDataTypeStr','single');
4. Откройте приложение Embedded Coder.
5. На вкладке C Code выберите Code Interface > Individual Element Code Mappings.
6. В редакторе Отображения на вкладке Inports установите класс памяти для блока Inport равным ExportToFile.
7. В Property Inspector установите значение Identifier равным mySig, Файл заголовка для myDecls.h, и Файл определения для myDefns.c.
cm = coder.mapping.api.get('ex_defn_decl'); setInport(cm,'In1','StorageClass','ExportToFile','Identifier','mySig','HeaderFile','myDecls.h','DefinitionFile','myDefns.c');
8. Сгенерируйте код из модели.
currentDir = pwd;
[~,cgDir] = rtwdemodir();
evalc('slbuild(''ex_defn_decl'')');
Сгенерированный заголовочный файл myDecls.h объявляет глобальную переменную mySig при помощи extern ключевое слово.
file = fullfile('ex_defn_decl_ert_rtw','myDecls.h'); rtwdemodbtype(file,'/* Declaration for', ... 'extern real32_T mySig',1,1);
/* Declaration for custom storage class: ExportToFile */ extern real32_T mySig; /* '<Root>/In1' */
Сгенерированный исходный файл myDefns.c определяет и инициализирует mySig.
file = fullfile('ex_defn_decl_ert_rtw','myDefns.c'); rtwdemodbtype(file,'/* Definition for', ... 'real32_T mySig;',1,1);
/* Definition for custom storage class: ExportToFile */ real32_T mySig; /* '<Root>/In1' */