以编程方式为Simulink块控制掩码

时间:2013-09-16 11:33:00

标签: matlab simulink

我遇到了simulink块属性的问题。我需要检查块是否具有名称为“paramName”的参数。如果没有此参数,我需要添加它。 为此,我想获得掩码参数:

p = Simulink.Mask.get(blockName);

这个例子我得到了帮助。但Simulink显示以下错误:

  

未定义变量“Simulink”或类“Simulink.Mask.get”

我该怎么做才能解决我的问题?

1 个答案:

答案 0 :(得分:2)

您可能需要将get_paramDialogParameters属性结合使用,例如:

block_params = get_param(%block_path%,`DialogParameters`);

输出block_params是一个包含该特定块的所有参数的结构。将%block_path%替换为相关块的路径,或使用gcb作为当前块。 get_param的文档页面上有一个示例:

  

获取块参数值和属性

     

列出块参数   Inertia子系统中Requisite Friction块的名称   sldemo_clutch模型。

block_params = get_param('sldemo_clutch/Friction Mode Logic/Requisite Friction/Inertia Ratio',... 'DialogParameters') 

ans = 
                                          Gain: [1x1 struct]
                             Multiplication: [1x1 struct]
                                 ParamMin: [1x1 struct]
                                ParamMax: [1x1 struct]
                  ParamDataTypeStr: [1x1 struct]
                                     OutMin: [1x1 struct]
                                    OutMax: [1x1 struct]
                      OutDataTypeStr: [1x1 struct]
                                LockScale: [1x1 struct]
                                  RndMeth: [1x1 struct]
    SaturateOnIntegerOverflow: [1x1 struct]
                             SampleTime: [1x1 struct]