2017-07-12 2 views
0

MATLABのコマンドを使用してSimulinkモデルを作成するプログラムを作成しています。現在、追加されたサブシステムは直ちにクリアされ、必要なブロックが再投入されます。私の質問は、それがクリアされた後、どのようにIteratorブロックをサブシステムに追加することができるのかです。Simulink - IteratorブロックをMATLABコマンドライン経由でサブシステムに追加する

サンプルコード:

new_system('test_while_loop') 
add_block('simulink/Ports & Subsystems/While Iterator Subsystem', 'test_while_loop/Subsystem_loop') 
Simuink.SubSystem.deleteContents('test_while_loop/Subsystem_loop') 
add_block('simulink/Ports & Subsystems/While Iterator', 'test_while_looop/Subsystem_loop/While Iterator') 

これは、Simulinkのためdocumentationは、このブロックはポート&サブシステムライブラリの中に含まれていることを述べているにもかかわらず、エラーThere is no block named 'simulink/Ports & Subsystems/While Iteratorで戻ってきます。このブロックを追加するには、何を変更する必要がありますか?

答えて

2

内蔵ブロックの場合は、ブロックタイプを使用してシステムにブロックを追加する必要があります。ブロックタイプを識別するには

get_param(gcb, 'BlockType') 

while iteratorブロックでは、これは 'WhileIterator'を返します。このブロックをシステムに追加するには

add_block('built-in/WhileIterator','test_while_looop/Subsystem_loop/While Iterator') 

https://www.mathworks.com/help/simulink/slref/add_block.htmlのadd_blockのドキュメントを参照してください。

関連する問題