Simulink でカスタム ライブラリ モデルを保護することで可能です。以下はそのワークフローです。
(1) モデルにロジックを実装します。例:ref_model.slx![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631096/591209f5b2f08ceb074418ca39bfb47f.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631101/4c9ec8eb8a58ca307203122a3f5af2c9.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631106/83adbe29f3c7fa3f0ca855bb8d879dc4.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631111/ae999ca27eeefab6fa346333daaeeb2f.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631116/db748f43f8e89654272446b798fb5414.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631096/591209f5b2f08ceb074418ca39bfb47f.png)
(2) ライブラリ内に Model ブロックを配置し、上記モデルを参照します。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631101/4c9ec8eb8a58ca307203122a3f5af2c9.png)
(3) ライブラリ内のモデルブロックから保護モデルを作成します。モデルブロックを右クリックします。コンテキスト メニューから、[サブシステムとモデル参照]、[選択した Model ブロックの保護モデルを作成] を選択し、保護モデルを作成します。生成された.slxpファイルを参照設定します。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631106/83adbe29f3c7fa3f0ca855bb8d879dc4.png)
(4) ライブラリ内の保護されたモデルからサブシステムを作成し、パラメータを設定するためにマスクします。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631111/ae999ca27eeefab6fa346333daaeeb2f.png)
(5) ライブラリブロックはどのようなモデル内でも使用でき、ライブラリにリンクされ、その内容は保護されます。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1631116/db748f43f8e89654272446b798fb5414.png)
この方法では、ライブラリを配布する際に、ライブラリファイルと保護されたブロックの.slxpファイルの両方を送付する必要があることにご注意ください。
参考のため、サンプルモデルとライブラリを含んだフォルダを添付します(example_model.zip)。マスクに値を入力できるようにするため、モデルエクスプローラー -> モデル -> モデル・ワークスペースの [引数] オプションを必ずチェックしてください。添付のモデルでは、このオプションはすでにチェックされています。
さらに、次のドキュメンテーション リンクを使用して、Simulink でブロックを保護する方法を理解することができます: