モデルの閲覧は可能で​編集を不可能にする方​法はありますか?

37 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 18 de Oct. de 2013
Editada: MathWorks Support Team el 2 de Mzo. de 2021
モデルを配布する際、ブロックやパラメーターの閲覧及びシミュレーションは可能で編集は不可能な状態にしたいのですが、どのような設定を行えばよいか教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 2 de Mzo. de 2021
Editada: MathWorks Support Team el 2 de Mzo. de 2021
次の2通りの方法があります。
(1)Webエクスポートとサブシステムの隠蔽化
完全に編集を不可能にしたい場合の方法です。
Webエクスポート(R2006a以降の機能)を行うと、Webブラウザ上で画像としてサブシステム内部を確認することができ、画像上の各ブロックにマウスを当てるとパラメーターも表示されます。
なお、WebエクスポートにはSimulink Report Generator、サブシステムの隠蔽化にはSimulink Coderを使用します。
具体的な手順は次の通りです。
1. モデルの最上位階層をサブシステム化します。
2. Simulinkモデルウィンドウの「ファイル」メニューから「Webにエクスポート」を選択します。
3. 最上位階層のサブシステムをS-Function化、またはモデルリファレンス保護モードで隠蔽化します。具体的な方法については、関連ソリューションの「Simulinkモデルを配布する際、内部を他者に見られないように隠蔽化できますか?」を参照して下さい。
4. Webエクスポートで生成された モデル名_slwebview.html と モデル名_slwebview_files フォルダー、隠蔽化したモデルを配布します。
(2)サブシステムのブロックパラメータをReadOnlyに設定
仕組みを理解していればユーザーがモデルを編集できるようにすることは可能であるため、社内への配布向けにできれば編集させたくない、というような場合に適しています。
サブシステムのブロックパラメーターには「読み取り/書き込みアクセス許可」があり、これを「ReadOnly」に設定すると、ブロックやパラメーターの閲覧ができて編集が不可能という状態にすることができます。
Simulinkの機能のみで実現でき、具体的な手順は次の通りです。
1. モデルの最上位階層をサブシステム化します。
2. サブシステムを右クリックして「Subsystemのパラメーター」を選択し、「読み取り/書き込みアクセス許可」を「ReadOnly」に設定します。これでユーザーはサブシステムの編集ができない状態になりますので、さらに「ReadOnly」の設定が変更できないようにします。
3. sl_customization.m を作成し、disableWidgetsまたはhideWidgetsで「ReadOnly」の部分を無効化、または非表示にします。
sl_customization.mの具体的な設定方法に関して、下記のドキュメントを参してください。例題も掲載されています。
[ダイアログ ボックス コントロールの無効化と非表示]
4. sl_customization.mを次のようにpcode化して内部を隠蔽化します。
pcode sl_customization
5. モデルウィンドウの「ファイル」メニューから「モデルプロパティ」を選択し、「コールバック」タブの「モデルプリロード関数」にsl_refresh_customizationsを記述します。
6. モデルとsl_customization.pを配布します。
サンプルファイルをページ下部の関連ドキュメントよりダウンロードすることができます。sl_customization.mでは、sldemo_engine_test.mdlを使っている場合のみ「ReadOnly」の部分を無効化するという処理を行っています。

Más respuestas (0)

Categorías

Más información sobre Simulink 環境のカスタマイズ en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!