メインコンテンツ

プログラムによるシステム マスクの作成と表示

モデルまたはサブシステムのブロック線図にシステム マスクを適用できます。モデルをマスクすることで、モデルをカプセル化し、独自のカスタマイズ可能なマスク パラメーター ダイアログ ボックスをもつことができます。モデルをマスクすると、モデル引数はマスク パラメーターになります。マスクされたモデルを参照すると、マスクを介してモデル パラメーターを制御することで、モデルのユーザー インターフェイスが向上します。

この例では、プログラムによってシステム マスクを作成および表示する方法を説明します。

システム マスクの作成

関数 Simulink.Mask.Create を使用してサブシステムにマスクを作成します。

new_system('sysmask');
save_system;
maskObj = Simulink.Mask.create('sysmask')
maskObj = 
  Mask with properties:

                             Type: 'sysmask'
                      Description: ''
                             Help: ''
                   Initialization: ''
                   SelfModifiable: 'off'
                     BlockDVGIcon: ''
                          Display: ''
           SaveImageFileWithModel: 'off'
                        IconFrame: 'on'
                       IconOpaque: 'opaque'
             RunInitForIconRedraw: 'analyze'
                       IconRotate: 'none'
                       PortRotate: 'default'
                        IconUnits: 'autoscale'
         SkipCallbackOptimization: 'off'
        SaveCallbackFileWithModel: 'off'
                     CallbackFile: ''
             ParameterConstraints: [0×0 Simulink.Mask.Constraints]
                  PortConstraints: [0×0 Simulink.Mask.PortConstraint]
                       Parameters: [0×0 Simulink.MaskParameter]
                  PortIdentifiers: [0×0 Simulink.Mask.PortIdentifier]
        CrossParameterConstraints: [0×0 Simulink.Mask.CrossParameterConstraints]
             CrossPortConstraints: [0×0 Simulink.Mask.CrossPortConstraint]
    CrossPortParameterConstraints: [0×0 Simulink.Mask.CrossPortParameterConstraint]
                         BaseMask: [0×0 Simulink.Mask]

システム マスクの表示

モデル sysmask のマスクを取得して maskObj に格納します。

maskObj = Simulink.Mask.get('sysmask')
maskObj = 
  Mask with properties:

                             Type: 'sysmask'
                      Description: ''
                             Help: ''
                   Initialization: ''
                   SelfModifiable: 'off'
                     BlockDVGIcon: ''
                          Display: ''
           SaveImageFileWithModel: 'off'
                        IconFrame: 'on'
                       IconOpaque: 'opaque'
             RunInitForIconRedraw: 'analyze'
                       IconRotate: 'none'
                       PortRotate: 'default'
                        IconUnits: 'autoscale'
         SkipCallbackOptimization: 'off'
        SaveCallbackFileWithModel: 'off'
                     CallbackFile: ''
             ParameterConstraints: [0×0 Simulink.Mask.Constraints]
                  PortConstraints: [0×0 Simulink.Mask.PortConstraint]
                       Parameters: [0×0 Simulink.MaskParameter]
                  PortIdentifiers: [0×0 Simulink.Mask.PortIdentifier]
        CrossParameterConstraints: [0×0 Simulink.Mask.CrossParameterConstraints]
             CrossPortConstraints: [0×0 Simulink.Mask.CrossPortConstraint]
    CrossPortParameterConstraints: [0×0 Simulink.Mask.CrossPortParameterConstraint]
                         BaseMask: [0×0 Simulink.Mask]

メモ:

モデル マスクをマスク コールバックでマスク オブジェクトとして取得するには、Simulink.Mask.get を使用できます。システム名やシステム ハンドルを渡す必要はありません。

参考

トピック