動的モデル刺激
SCADA入力コンポーネントを通じて利用可能な動的モデル刺激機能の説明
動的モデル刺激機能
ダイナミックモデルシミュレーションは、シミュレーション実行中に高解像度の時系列プロファイルを再現できる機能です。時系列信号を再現するために、 SCADA入力コンポーネントが使用されます。信号解像度は、信号処理の実行速度によって定義されます。
インターフェースは、次の HIL API 関数を通じて定義されます。
HIL API関数の宣言 | 機能の説明 |
---|---|
create_signal_stimulus() | 信号刺激オブジェクトを作成します。 |
信号刺激の準備() |
信号刺激の初期データを準備します。 |
開始信号刺激() | 信号の再生を開始します。 |
stop_signal_stimulus() |
信号の再生を停止します。 |
pause_signal_stimulus() | 信号の再生を一時停止します。 |
ロードシグナル生成データ() |
ファイルからデータを読み込み、刺激オブジェクトの作成に準備します。 |
再生信号の定義
この機能を使用するには、再現する信号を作成する必要があります。この信号では、辞書のキーが信号名を表し、信号の値は浮動小数点値のリストとして表されます。時間軸は辞書のキー「Time」として表され、値は昇順のリストである必要があります。線形補間が使用されるため、時間軸は等間隔である必要はありません。
シグナルは手動でコードから準備することも、 load_signal_gen_data()関数を使用することもできます。この関数は、Typhoon HIL Control Centerでサポートされているすべてのファイル形式を読み込むことができます。
再生用の信号は信号処理の実行速度と同じ実行速度である必要はありません。
刺激オブジェクトの作成と信号再生の実行
信号再生プロセスでは、 create_signal_stimulus()関数を使用して信号刺激オブジェクトを作成する必要があります。この関数は、準備された信号を辞書形式で引数として受け取ります。他のすべての関数は、このオブジェクトを使用して適切な刺激を参照します。オブジェクトを作成したら、初期データをHILデバイスにロードする必要があります。これは、prepare_signal_stimulus()関数を使用して行います。信号再生の準備が整ったら、刺激を制御する関数を使用できます。これらの関数は、信号刺激の開始、停止、一時停止です。
import typhoon.api.hil as hil
example_signal = {"SCADA Input1": [0, 1, 2, 3, 4], "Time": [0, 1, 3, 4, 6]}
stimulus_object = hil.create_signal_stimulus(stimulation_signal)
hil.prepare_signal_stimulus(stimulus_object)
hil.start_signal_stimulus(stimulus_object)
hil.start_simulation()
…
hil.stop_signal_stimulus(stimulus_object)
hil.stop_simulation()
シミュレーションを停止した後は、信号刺激は自動的に停止されるため、停止する必要はありません。
再生に使用される信号の数に関して厳密な制限はありませんが、単一の信号刺激を参照するすべての信号は同じ信号処理シミュレーション レートである必要があります。