2013-12-10 24 views
5

私は垂直に沿ってSimulinkでブロックを反転しようとしていましたが、これをどのように行うことができないのか分かりませんでした。たとえば、 "sincos"三角関数ブロックが挿入されると、sin出力がアップし、cos出力がダウンします。私はcos出力を上げ、接続をより良くするためにsin 1を下げたい。Simulinkブロックをどのように反転させるのですか?

私は180度回転させてから水平に反転しようとしましたが、これはうまくいきませんでした。

所望のポートがそれに応じて回転されるように、あなたがすべてのブロックを回転させて反転させることができ、任意の提案一般

答えて

4

。この小さな「追加」バブルのようなブロックには、|+--|+-などの特殊な構文が必要です。

ごくまれに、ポートのローテーションが無効になっています。私はあなたのブロックを持っていないが、あなたは次のことを確認することができます。MATLABコマンドプロンプトにブロック上の

  • クリック
  • スイッチとMaskPortRotateを見てくださいinspect(gcbh)

を入力し、 PortRotationTypeプロパティにはdefaultが設定されているかどうかを確認してください。しかし、それが組み込みブロックで可能かどうかはわかりません。

プログラムにより

h1 = get_param('modelName/BlockName','handle') 
h2 = get_param('modelName/BlockName','handle') 
inspect(h1) 
inspect(h2) 

、その後、あなたはプロパティを変更するset_paramを使用することができます。

set_param(h1,'PortRotationType',...) 
set_param(h2,'MaskPortRotate',...) 

しかし、それはうまく動作しない可能性があり、私はそれを試してあなたのブロックを持っていない。しかし、それは行く方法です、そうでなければそれは不可能です。


この問題を回避するには、サブシステムにあなたのブロックを置くと、基礎となるブロックのパラメータでそれをマスクすることができます。その後、回転が働いています。

+0

この特定のブロックの解決方法は、あなたが提供した回避策ですが、他のブロックには適用できません(たとえば、 "Sum"ブロックを垂直に反転させてください)。このブロックは円形で "Sybsystem"ブロックは長方形です。あなたのメソッドは "Sum"ブロックを "Elements of Block"ブロックに転送します)。 Simulinkブロックのパラメータを動的に変更する方法に関する情報があります。 Thnx –

+0

@RobotAaly 'sum'ブロックは、私が"小さな "追加 - バブル"を意味したものです - 私はその名前がどういうものか分かりませんでした。記号の順序を主方向指定子 '|'とともに変更する必要があります。あなたが望むあらゆる方向性を得ることができるこの方法。解決策がある場合は、それを私たち自身の回答として投稿してください。同じ問題を抱えている他の人に見てもらえるようにしてください。 – thewaywewalk

+1

ありがとうございます。私は合計でそれを試して、それが動作します。あなたの答えを解決策として受け入れました。 幸せな日... :) –

3

あなたダイアグラムメニューから、これらのコマンドのいずれかを選択することにより、ブロックを90度回転させることができる。

Rotate & Flip > Clockwise (or Ctrl+R) 
Rotate & Flip > Counterclockwise 

回転指令を効果的にその側面からその上部及び底部に、またはその上からブロックのポートを移動させますブロックの初期の向きに応じて、そのサイズまで下に移動します。ブロックポートの最終位置は、ブロックのポート回転タイプによって異なります。

このlinkは、ブロックの外観を変更するのに役立ちます。

+0

返信用のThnx。私は以前この記事を読んでいて、この三角関数や合計ブロックでは役に立たなかった。ブロックを180度(時計回りに2回)回転させると、cosポートは最上部に位置するのではなく、底部にとどまります。 –

0

私は同じ問題があったと思います。

数式を修正する必要があります。

ブロックをダブルクリックして、記号のリストを| ++から++ | これで、合計は左上と左下から得られ、その結果は右になります。

関連する問題