Control State Equations

State Equationsツールを使用して、制御状態方程式のデータを作成および設定します。

制御状態方程式の作成

CSEは、汎用の動的システムを抽象的な方法でモデル化するために使用可能なエンティティです。

  1. Projectブラウザから、CSEが追加されるシステムを選択します。
  2. Projectブラウザでシステムを右クリックして、コンテキストメニューでAdd > Control Entity > ControlStateEquationの順に選択します。
    または
    Projectブラウザで制御状態方程式フォルダーを右クリックして、コンテキストメニューからAdd ControlStateEquationを選択します。
    または
    モデルリボンで、ツールセットの横の矢印をクリックし、State Equationsを選択します。
    Add ControlStateEquationダイアログが表示されます。
  3. 制御状態方程式のラベルを指定します。
    このラベルはいつでも変更できます。
  4. 制御状態方程式の変数名を指定します。
    デフォルトで、MotionView内のエンティティの変数名は特定の規則に従います。例えば、すべての制御状態方程式エンティティの変数名は"cse_"で始まります。これは、MotionViewでモデルを構築する場合に従う推奨規則であり、モデル編集やモデル操作において様々なメリットが得られます。
  5. OKをクリックしてウィンドウを閉じるか、Applyをクリックしてエンティティの作成を継続します。
    制御状態方程式エンティティをモデルに追加すると、パネル領域にその方程式のパネルが自動的に表示されます。

制御状態方程式の編集

動的システムの挙動を描写するには、ユーザーサブルーチンが使用されます。動的システムは、入力ベクトルu、状態ベクトルx、および出力ベクトルyで表現されます。状態ベクトルxは、異なる方程式のセットで定義されます。出力ベクトルyは、代数方程式のセットで定義されます。

制御状態方程式のプロパティの定義

Propertiesタブで、制御状態方程式に必要な入力を指定できます。

  1. 現時点でControl State Equationパネルが表示されていない場合は、目的の制御状態方程式をProjectブラウザまたはモデリングウィンドウでクリックして選択します。
    Control State Equationパネルが自動的に表示されます。
  2. Input ArrayでSolverArrayコレクターをダブルクリックして、モデルツリーで制御状態方程式の配列を選択します。
    ソルバー配列は、タイプUであることが必要です。
  3. No of Outputsテキストボックスに値を入力することによって、制御状態方程式から返す出力の数を指定します。
  4. ソルバーの静解析または擬似静解析で制御状態方程式の状態を変更できないようになっている場合は、Static Holdを選択します。それ以外の場合は、このオプションの選択を解除します。
  5. 状態の初期条件配列を定義します。
    1. Use Initial Conditions Array のチェックボックスを有効にします。
    2. SolverArrayコレクターをダブルクリックして、状態の初期条件を記述したタイプICのソルバー配列をモデルツリーで選択します。
      IC配列内のエンティティの数は、状態の数と等しくなければなりません。
    3. No of Statesテキストボックスに値を入力することによって、制御状態方程式にある状態の数を指定します。
    注: 現時点で、HyperWorksは、線形制御状態方程式をサポートしていません。

制御状態方程式のユーザー関数の定義

User-Functionタブを使用して、制御状態方程式のユーザーサブルーチン関連情報を用意します。

  1. User-Functionタブをクリックします。
  2. ユーザーサブルーチンを定義します。
    1. ユーザーサブルーチンに渡されるパラメータを含むUSERソルバー関数を用いた式を与えます。
    2. または、Use local file and function nameチェックボックスを有効にして、ソルバーがサブルーチンコードにアクセスできるローカルファイルを指定します。
      このオプションを指定していない場合、MotionSolveでは、そのユーザーサブルーチン読み込みルールに従ってサブルーチンが検索されます。
    3. ドロップダウンメニューから関数タイプを選択します。
    4. サブルーチンについてのローカルファイルを選択します。
      指定するファイルのタイプは、選択した関数タイプによって異なります。例えば、DLL/SOを選択した場合は、.dll拡張子(Windowsの場合)または.so拡張子(Linuxの場合)を持つファイルを指定できます。
    5. エンティティを定義するサブルーチンで関数名を指定するか、HyperWorksで指定されたデフォルト名をそのまま使用します。
  3. XXFunctionボックスをクリックして、サブルーチンの中で状態の偏導関数の計算に使用する関数の名前を指定します。
    デフォルトの関数名名はGSEXX
  4. XUFunctionボックスをクリックして、サブルーチンの中で入力を基準として状態の偏導関数を計算する際に使用する関数の名前を指定します。
    デフォルトの関数名名はGSEXU
  5. YXFunctionボックスをクリックして、サブルーチンの中で状態を基準として出力の偏導関数を計算する際に使用する関数の名前を指定します。
    デフォルトの関数名はGSEXYXです。
  6. YUFunctionボックスをクリックして、サブルーチンの中で入力を基準として出力の偏導関数を計算する際に使用する関数の名前を指定します。
    デフォルトの関数名名はGSEYU