simulink - GetSet自定义存储类

时间:2015-08-10 07:01:31

标签: matlab simulink

我有一个需要两个输入和模型的模型。乘以它们&给出输出。
output_1 = input_1 * input_2

我已将我的simulink信号声明为CustomStorageClass = GetSet

   input_1 = Simulink.Signal;
   input_1.CoderInfo.StorageClass = 'Custom';
   input_1.CoderInfo.CustomStorageClass = 'GetSet';
   input_1.CoderInfo.CustomAttributes.GetFunction = 'Get_input_1';
   input_1.CoderInfo.CustomAttributes.SetFunction = 'Set_input_1';
   input_1.CoderInfo.CustomAttributes.HeaderFile = 'signals.h';


   input_2 = Simulink.Signal;
   input_2.CoderInfo.StorageClass = 'Custom';
   input_2.CoderInfo.CustomStorageClass = 'GetSet';
   input_2.CoderInfo.CustomAttributes.GetFunction = 'Get_input_2';
   input_2.CoderInfo.CustomAttributes.SetFunction = 'Set_input_2';
   input_2.CoderInfo.CustomAttributes.HeaderFile = 'signals.h';



   output_1 = Simulink.Signal;
   output_1.CoderInfo.StorageClass = 'Custom';
   output_1.CoderInfo.CustomStorageClass = 'GetSet';
   output_1.CoderInfo.CustomAttributes.GetFunction = 'Get_output_1';
   output_1.CoderInfo.CustomAttributes.SetFunction = 'Set_output_1';
   output_1.CoderInfo.CustomAttributes.HeaderFile = 'signals.h';

现在我正在尝试使用simulink编码器将我的模型转换为代码 在模型的代码生成设置中,我在系统目标文件设置中选择了ert.tlc文件。

但是生成的代码没有像此链接中所示的Get_input_1()或Get_input_2()调用。 http://www.mathworks.com/help/ecoder/ug/getset-custom-storage-classes.html

我在设置中错过了什么。请建议

1 个答案:

答案 0 :(得分:0)

我知道你可能已经解决了这个问题,但我之前也看到过这种行为。

有时MATLAB不会正确更新头文件。如果您为变量设置了不同的配置,然后进行了涉及头文件的更改,我建议删除* _ert_rtw和slprj文件夹(它们将再次出现)。它类似于做一个" Make clean"操作,确保一切都是全新的。