get_capture_results

typhoon.test.capture. get_capture_results ( wait_capture = False , time_format = 'relative' )

キャプチャ結果を Pandas DataFrame として返します。

パラメータ:
  • wait_capture – Trueの場合、キャプチャが完了するまでブロックします。Falseの場合、直ちにキャプチャを停止し、それまでにキャプチャされた結果を返します。

  • 時間形式( str ) –

    デフォルトは「なし」です。利用可能なオプションは以下のとおりです。 '相対的', 'sim_absolute'、 そして 'グローバル絶対'.

    • もし '相対的'キャプチャの時間インデックスはこの関数呼び出しを基準とします。

    • もし 'sim_absolute'キャプチャの時間インデックスはシミュレーション時間です。

    • もし 'グローバル絶対'キャプチャの時間インデックスは、HIL デバイスの同期時間です。

    このパラメータが定義されていない場合、動作は 絶対時間 パラメータの 台風.テスト.キャプチャ.開始キャプチャ 関数が以前に定義されています。 absolute_time = False 使用される時間形式は '相対的'それ以外の場合は absolute_time = True 使用される時間形式は sim_absolute.

    注記

    その 'グローバル絶対' HILデバイスがすでに同期されている(PTPまたはIRIG-B)場合にのみ有効です。それ以外の場合は例外 グローバルタイム同期エラー 引き上げられるでしょう。

戻り値:

キャプチャされたすべての信号は、名前と時間インデックスで選択可能

戻り値の型:

pandas.データフレーム

昇給
  • グローバルタイム同期エラー – 発生した場合 時間フォーマット= 'global_absolute' 関数で使用されます:

  • typhoon.test.capture.start_capture` と HIL デバイスが同期されていません

ライブラリのインポート

>>>から 台風テストキャプチャ start_capture  get_capture_resultsをインポートする

すぐに結果を返す

>>> start_capture ( duration = 20 , rate = 100000 , signal = [ "P" , "Va_rms" ]) >>> # その間に10秒かかる何かを実行します... >>> capture = get_capture_results () # 10秒までのキャプチャを返します

キャプチャ期間全体を待機中

>>> start_capture ( duration = 20 , rate = 100000 , signal = [ "P" , "Va_rms" ]) >>> # その間に10秒かかる何かを実行します... >>> capture = get_capture_results ( wait_capture = True ) # 20秒のキャプチャが経過するまで待機します

個々のシグナルには、辞書のような形式でアクセスできます。

>>> print (キャプチャ) #pandas DataFrame >>> print (キャプチャ[ "P" ]) #pandas Series

値には以下を使用してアクセスできます。

>>> capture [ "P" ] . values # 配列を返す

インデックスは TimedeltaIndex であり、これには Typhoon カスタム Timedelta が含まれます。

>>> index = capture [ "P" ] . index >>> index [ 0 ] # 最初のポイントの時間 (Timedelta) >>> index [ 0 ] . total_seconds () # 時間を秒単位で表した浮動小数点数を返します

たとえば、ここでは 10 秒以降から、時間を使用して直接スライスできます。

>>>キャプチャ[ "P" ][ "10s" :]

いくつかの TyphoonTest 関数はタイムデルタを返しますが、これもスライスに使用できます。

>>>から 台風テスト信号 import find >>> t_fullpower = find ( capture [ "P" ], region = "at"  value = 100000 ) >>> capture [ "P" ][ t_fullpower - "1s" : t_fullpower ] # t_fullpowerの1秒前の期間をスライスします

その他のDataFrameとSeriesの例

>>>から 台風テスト信号 pandas_3ph_sineをインポートします>>> df = pandas_3ph_sine () >>> df >>> sine1 = df [ "sine1" ] >>> sine1

参考文献

Pandas ドキュメント