主要内容

数据类型不匹配和结构体初始条件

使用 Simulink.Parameter 对象指定总线信号初始条件

此示例说明如何用 Simulink.Parameter 对象替换结构体初始条件。这种方法允许结构体保持其可调性。

  1. 双击 Unit Delay 模块以查看模块参数。Unit Delay 模块使用结构体初始条件。

  2. 在 MATLAB® 命令行中定义一个 Simulink.Parameter 对象。将参数对象的数据类型设置为总线对象 SensorData。将参数对象的值设置为指定的结构体。为了保持可调性,将 StorageClass 属性设置为 ExportedGlobal

    P = Simulink.Parameter;
    P.DataType = 'Bus: SensorData';
    P.Value = struct('Torque',5,'Speed',8);
    P.StorageClass = 'ExportedGlobal';

  3. Unit Delay 模块对话框中,将初始条件设置为 P,即您定义的 Simulink.Parameter 对象。Simulink.Parameter 对象中定义的结构体保持可调。

有关为使用可调初始条件结构体的总线信号生成代码的详细信息,请参阅Control Signal and State Initialization in the Generated Code

数据类型不匹配和封装原子子系统

当结构体初始条件驱动使用封装原子子系统指定的总线信号时,会发生数据类型不匹配。

将子系统更改为非原子子系统,或使用 Simulink.Parameter 对象指定结构体参数(如使用 Simulink.Parameter 对象指定总线信号初始条件中所述)以避免数据类型不匹配错误。

另请参阅

主题