フィードバックループ

ファンクションノード内では、時間遅延を伴うフィードバックループを使用して、未来のノードにアクセスすることができます。これは、ダイナミックモデルでも使用できます。以下に、概念図とASCMO-MOCAでの設定例を示します。

メインのファンクションノード

engine_speed[-] = timeDelay(%Output%, 0)

engine_torque[-] = %PID Controller%(%engine_speed_setpoint%, %engine_speed%, %Ki%, %Kp%)

Output[-] = %Plant%(%engine_torque%)

PIDコントローラのファンクションノード

diff[-] = %engine_speed_setpoint% - %engine_speed_act%

diff_integrated[-] = timeDelay(%diff_integrated%, 0) + dT .*%diff%

engine_torque[-] = %Kp% .*%diff% + %Ki% .*%diff_integrated%

時間遅延エレメント(timeDelay)は、"Insert/Edit Node" ウィンドウで使用できる演算子のひとつです。

参照

ファンクションノードを追加する

ファンクションノードを編集する

ファンクションノード用の演算子

Insert/Edit Node