HIL API

モジュール: typhoon.api.hil

HIL API は、ユーザーが Python スクリプトから HIL シミュレーション プロセスをリアルタイムで制御できるようにする関数のコレクションです。

関数は次の 4 つのグループに分けられます。

  • シミュレーションプロセスを制御および初期化するための機能(モデルの読み込み、シミュレーションの開始/停止などの機能)

  • シミュレーションの状態を設定および変更する関数(さまざまな セット_ 機能)

  • シミュレーションから情報を取得するための関数(得る_ キャプチャ機能を含む機能)

  • さまざまなユーティリティ関数

HILシミュレーションプロセスを正しく制御するためには、コンパイルされた回路図エディタモデル(.cpdファイル)をロードしてシミュレーションモデル(および接続されたHIL自体)を初期化する必要があります。 ロードモデル() 関数。

注記

シミュレーションモデルが初期化されていない場合、多くの関数は正しく使用できません。モデルが初期化される前にこれらの関数を使用しようとすると、 「モデルがロードされていません。コマンドは無視されました! 」というメッセージが表示されます。

シミュレーションモデルが初期化されたら、適切なパラメータを使用してモデルパラメータ(ソース、マシン、コンタクタなど)を設定する必要があります。 セット_ 関数)を使用してシミュレーションを開始し、 シミュレーション開始() 関数。

注記

シミュレーション開始後でもシミュレーションパラメータを変更可能です。

シミュレーションはいつでも停止できます。 stop_simulation() 関数。

以下に、シミュレーションが初期化された後のキャプチャ機能の使用方法を示す例を示します。

スクリプトの例:

import typhoon.api.hil as hil

# first we need to load model
hil.load_model(file= r'C:\Typhoon HIL Control Center\examples\models\power electronics\3ph_rectifier Target files\3ph_rectifier.cpd')

# after model is loaded we could open existing settings file which will initialize model parameters...
hil.load_settings_file(file=r'C:\Typhoon HIL Control Center\examples\models\power electronics\3ph_rectifier Target files\settings.runx')

# ...or manually set desired model parameters
# input files
hil.set_source_arbitrary_waveform('Va',file=r'D:\input variables\phase_a_110V_60Hz.isg')
hil.set_source_arbitrary_waveform('Vb',file=r'D:\input variables\phase_b_110V_60Hz.isg')
hil.set_source_arbitrary_waveform('Vc',file=r'D:\input variables\phase_c_110V_60Hz.isg')

# switching blocks
hil.set_pe_switching_block_control_mode(blockName = "3ph_inverter 1",switchName = "Sa_top",swControl = True)
hil.set_pe_switching_block_software_value(blockName = "3ph_inverter 1",switchName = "Sa_top",value = 1)

# analog channels
hil.set_analog_output(5,"V( Va )",scaling=150.00,offset=5.00)

# digital channels
hil.set_digital_output(1,name="digital input 1",invert=True,swControl=False,value=0)

# machine
hil.set_machine_constant_torque(name="machine 1",value=2.5)
hil.set_machine_linear_torque(name="machine 1",value=5.0)
hil.set_machine_square_torque(name="machine 1",value=6.0)
hil.set_machine_constant_torque_type(name="machine 1",frictional=True)
hil.set_machine_initial_angle(name="machine 1",angle=3.14)
hil.set_machine_initial_speed(name="machine 1",speed=100.0)
hil.set_machine_inc_encoder_offset(name="machine 1",offset=3.14)
hil.set_machine_sin_encoder_offset(name="machine 1",offset=1.57)

# after we set model parameters we can start simulation
hil.start_simulation()

# decimation,numberOfChannels,numberOfSamples
captureSettings = [1,3,1e5]
# triggerType,triggerSource,threshold,edge,triggerOffset
triggerSettings = ["Analog",1,0.0,"Rising edge",50.0]
# signals for capturing
channelSettings = ["V( Va )","V( Vb )","V( Vc )"]

# regular python list is used for data buffer
capturedDataBuffer = []

# start capture process and if everything ok continue...
if hil.start_capture(captureSettings,
                     triggerSettings,
                     channelSettings,
                     dataBuffer = capturedDataBuffer,
                     fileName = r'C:\captured_signals\capture_test.mat'):

    # when capturing is finished...
    while hil.capture_in_progress():
        pass

    # unpack data from data buffer
    # (signalsNames - list with names,
    #  yDataMatrix  - 'numpy.ndarray' matrix with data values,
    #  xData        - 'numpy.array' with time data)
    (signalsNames,yDataMatrix,xData) = capturedDataBuffer[0]

    # unpack data for appropriate captured signals
    Va_data = yDataMatrix[0] # first row for first signal and so on
    Vb_data = yDataMatrix[1]
    Vc_data = yDataMatrix[2]

else:

    # if error occured
    print "Unable to start capture process."


# we will stop simulation
hil.stop_simulation()

# and end script
hil.end_script_by_user()

APIリファレンス

このモジュールは、HIL API とのインターフェースを定義します。

load_model (ファイル= ''オフラインモード= Falsevhil_device = False )

コンパイルされたモデルを HIL デバイスにアップロードします。

パラメータ:
  • file ( str ) – コンパイルされたモデルファイル(拡張子 .cpd)への絶対パスまたは相対パス。

  • オフラインモード (ブール) – 真実 オフラインモードを有効にするか、 間違い 無効にします。

  • vhil_device (ブール) – に設定されている場合 真実 仮想HILデバイスが使用されます。

注記

オフライン モードでは、データは HIL デバイスに送信されず、一部の API 関数は使用できません。

戻り値:

真実 コンパイルされたモデルのアップロードが成功した場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

例:

# モデルの読み込みstatus = load_model ( file = r "./examples/models/3phaseTarget files/3phaseRectifier.cpd" ) if status : # 読み込みが正常に完了した場合は、続行できます...
load_settings_file (ファイル= '' )

HIL コントロール パネル設定ファイルを読み込み、それに応じてモデルを構成します。

パラメータ:

file ( str ) – .run/.runx シミュレーション設定ファイルへの絶対パスまたは相対パス。

戻り値:

真実 設定ファイルが正常に読み込まれた場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

例:

# HILコントロールパネル設定ファイルをロードするhil . load_settings_file ( file = r "./examples/models/3phase Target files/init.runx" )
save_settings_file (ファイルパス)

設定ファイルを引数で指定された場所に保存します。

パラメータ:

filePath ( str ) – 設定ファイルが保存されるファイル パス。

戻り値:

真実 設定ファイルが正常に保存された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

例:

# HILコントロールパネルの設定ファイルを保存しますhil . save_settings_file ( r "./examples/3phase Target files/init.runx" )
save_model_state ( save_to )

現在のモデル状態をファイルに保存します。このファイルからいつでもモデル状態を復元できます。

この関数は、モデルの再ロードと再構成が不可能な場合に、テスト シナリオを複数の Python テスト スクリプトに分割する必要がある場合に使用できます。

最初のテスト スクリプトの終了時にモデルの状態を保存し、別のテスト スクリプトの開始時にシミュレーションを停止せずにモデルの状態を再度読み込むことができます。

パラメータ:

save_to ( str ) – 現在のモデルの状態が保存されるファイルへのパス。

戻り値:

真実 モデルの状態が正常に保存された場合は、そうでない場合は 間違い

可用性:
  • スタンドアロンスクリプト

3 つのスクリプトを使用する例。

初期化スクリプト:

# load_model() 関数を使用してモデルをロードします# ... # モデルパラメータを初期化します# ... # シミュレーションを開始します# ... # スクリプトの最後でモデルの状態を保存します# (ファイル名は任意です) hil . save_model_state ( "./model_state.ms" )

構成スクリプト:

# 最初に、前のスクリプトの最後に保存されたモデル状態をロードします。hil . load_model_state ( "./model_state.ms" ) # ... # 次のテストシナリオでモデルパラメータを変更します。 # ... # スクリプトの最後に、モデル状態を保存します。 # (ファイル名は任意です) hil . save_model_state ( "./model_state.ms" )

データ分析スクリプト:

# 最初に、前のスクリプトの最後に保存されたモデル状態をロードします# スクリプトhil . load_model_state ( "./model_state.ms" ) # ... # データをキャプチャします# ... # データを分析します# ... # シミュレーションを停止します
load_model_state ( load_from )

ファイルから HIL モデルの状態を読み込み、HIL デバイスに接続します。

この関数は、モデルの再ロードと再構成がオプションではなく、テスト シナリオを複数の Python テスト スクリプトに分割する必要がある場合に使用できます。

最初のテスト スクリプトの終了時にモデルの状態を保存し、別のテスト スクリプトの開始時にシミュレーションを停止せずにモデルの状態を再度読み込むことができます。

注記

モデルの状態は接続された HIL デバイスと同期されません。

パラメータ:

load_from ( str ) – 保存されたHILモデル状態を含むファイルへのパス。

戻り値:

真実 モデル状態が正常に復元された場合は、そうでない場合は 間違い

3 つのスクリプトを使用する例。

初期化スクリプト:

# load_model() 関数を使用してモデルをロードします# ... # モデルパラメータを初期化します# ... # シミュレーションを開始します# ... # スクリプトの最後でモデルの状態を保存します (ファイル名は任意です) hil . save_model_state ( "./model_state.ms" )

構成スクリプト:

# 最初に、前のスクリプトの最後に保存されたモデル状態をロードします。hil . load_model_state ( "./model_state.ms" ) # ... # 次のテストシナリオでモデルパラメータを変更します# ... # スクリプトの最後に、モデル状態を保存します。 # (ファイル名は任意です) hil . save_model_state ( "./model_state.ms" )

データ分析スクリプト:

# 最初に、前のスクリプトの最後に保存されたモデル状態をロードします。hil . load_model_state ( " ./model_state.ms" ) # ... # データをキャプチャします。 # ... # データを分析します。 # ... # シミュレーションを停止します。
upload_standalone_model (モデルの場所)

すでにロードされているモデルを、指定されたモデルの場所に HIL デバイスのスタンドアロン モデルとしてアップロードします。

注記

スタンドアロン構成は、モデルがロードされた後にのみアップロードできます。 ロードモデル() 機能とシミュレーションは実行されていません。

パラメータ:

model_location ( int ) – 選択したモデルロケーションスロットにモデルをアップロードします。スタンドアロンモデルの場合は8つのスロットが利用可能です。

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

可用性:
  • スタンドアロンスクリプト

model_write (モデル変数,新しい値)

model_variableという名前のモデル変数の新しい値を設定します。

パラメータ:
  • モデル変数( str ) –

    変更が必要なモデル変数の名前。モデル変数名の構成要素は、様々な区切り文字で区切ることができます。現在サポートされている区切り文字は、「.」、「/」です。

    さまざまな区切り文字の例:

    # デフォルトの区切り文字 '.' を使用したモデル変数名model_write ( "Vgrid.rms" , 25 ) # 区切り文字 '/' を使用したモデル変数名model_write ( "Vgrid/rms" , 25 )
    

    注記

    利用可能なすべてのモデル変数とその属性のリストは、次の呼び出しによって取得できます。 get_model_variables() 関数。

  • new_value ( int , float , list ) – 新しいモデル変数値

戻り値:

なし

昇給
  • HILAPIExceptionmodel_variableのモデル変数が見つからない場合

  • HILAPIExceptionmodel_variableのモデル変数が読み取り専用変数であり、変更できない場合。

  • HILAPIExceptionnew_value引数が無効な場合

  • HILAPIException – その他の理由によりモデル変数値を変更できない場合。

model_read (モデル変数)

model_variableという名前のモデル変数の値を読み取ります。

パラメータ:

モデル変数( str ) –

読み取りたいモデル変数の名前。モデル変数名の構成要素は、様々な区切り文字で区切ることができます。現在サポートされている区切り文字は、「.」、「/」です。

さまざまな区切り文字の例:

# デフォルトの区切り文字 '.' を使用したモデル変数名model_read ( "Vgrid.rms" ) # 区切り文字 '/' を使用したモデル変数名model_read ( "Vgrid/rms" )

注記

利用可能なすべてのモデル変数とその属性のリストは、次の呼び出しによって取得できます。 get_model_variables() 関数。

戻り値:

モデル変数値

戻り値の型:

変数値(int、float)

昇給
  • HILAPIExceptionmodel_variable名のモデル変数が見つからない場合

  • HILAPIExceptionmodel_variable名のモデル変数が書き込み専用変数であり、読み取ることができない場合。

  • HILAPIException – 何らかの理由でモデル変数値を取得できない場合。

add_data_logger (名前,シグナル,データファイル, use_suffix = True )

モデルに1つのロガーを追加して収集します 信号 データを指定された場所に保存します データ ファイル。

注記

ストリーミング アナログ信号とデジタル信号のみをデータ ファイルに継続的に記録できます。

注記

データロガーは、シミュレーションとデータロガーが開始された後にのみデータの収集を開始します。

注記

データロガーを起動するたびに、古いデータファイルが上書きされます。 use_suffix=False それ以外の場合は、現在のデータと時刻の接尾辞を持つ新しいファイルが作成されます。

パラメータ:
  • 名前指定されたデータファイルの名前) – データロガーの名前

  • シグナルリスト) –

    ストリーミングアナログまたはデジタル信号の名前のリスト

    注記

    同じ実行レートで動作するストリーミング信号のみが、1 つのデータ ロガーに記録されるようにサポートされています。

  • データファイル(文字列) –

    収集されたデータが保存されるデータ ファイルへのファイル パス。

    注記

    カンマ区切り値 (.csv)、HDF5 (.h5)、MDF (.mf4) のデータ ファイル形式がサポートされています。

    注記

    高いデータ転送速度の場合、.csv データ形式の使用はお勧めしません。

  • use_suffix ( bool ) – 日付と時刻の接尾辞が末尾に追加されます

  • 名前

戻り値:

真実 データロガーが正常に追加された場合は戻り、そうでない場合は戻ります 間違い

戻り値の型:

ステータス(ブール値)

可用性:
  • スタンドアロンスクリプト

例:

# データロガーを追加status = hil . add_data_logger ( name = 'data_logger_1' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_1.csv" , use_suffix = False ) # データロガーを開始# (シミュレーションが開始されていないため、データ収集は開始されません) status = hil . start_data_logger ( name = 'data_logger_1' ) # シミュレーションを開始# (データロガーは既に開始されているため、すぐにデータ収集を開始します) hil . start_simulation () # ... 何らかの処理を実行# データロガーを停止status = hil . stop_data_logger ( name = 'data_logger_1' )

例:

# 保存したデータファイルを開いて解析するには、優れた# Python Pandas ライブラリのインポートを使用できます パンダ として pd # *.csv ファイルを読み取ります (pandas DataFrame オブジェクトが取得されます) pandas_data_frame = pd . read_csv ( "./data_data_logger_1.csv" ) # *.h5 ファイルを読み取ります (pandas DataFrame オブジェクトが取得されます) pandas_data_frame = pd . read_hdf ( "./data_data_logger_1.h5" )
Remove_data_logger (名前)

指定されたデータロガーを削除します 名前 モデルから。 名前 ロガー名のリストとして指定すると、リストのすべてのロガーが同時に削除されます。

パラメータ:

name ( strまたはlist ) – 削除する必要がある 1 つのデータロガーの名前またはデータロガー名のリスト。

戻り値:

真実 データロガーが正常に削除された場合、

それ以外の場合は 間違い

戻り値の型:

ステータス(ブール値)

例:

# データロガーを追加status = hil . add_data_logger ( name = 'data_logger_1' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_1.csv" ) status = hil . add_data_logger ( name = 'data_logger_2' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_2.csv" ) # ... 何か実行# モデルからデータロガーを 1 つずつ削除status = hil . Remove_data_logger ( name = 'data_logger_1' ) status = hil .remove_data_logger ( name = 'data_logger_2' ) # ...またはstatus = hil .remove_data_logger ( name = [ ' data_logger_1 ' , ' data_logger_2 ' ])
start_data_logger (名前)

指定されたデータロガーを起動します 名前 モデルから。 名前 ロガー名のリストとして指定すると、リスト内のすべてのロガーが同時に起動されます。

パラメータ:

name ( strまたはlist ) – 起動する必要がある 1 つのデータロガーの名前またはデータロガー名のリスト。

戻り値:

真実 データロガーが正常に起動した場合、

それ以外の場合は 間違い

戻り値の型:

ステータス(ブール値)

例:

# データロガーを追加status = hil . add_data_logger ( name = 'data_logger_1' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_1.csv" ) status = hil . add_data_logger ( name = 'data_logger_2' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_2.csv" ) # ... 何か実行# データロガーを 1 つずつ起動status = hil . start_data_logger ( name = 'data_logger_1' ) status = hil . start_data_logger ( name = 'data_logger_2' ) # ...またはstatus = hil . start_data_logger ( name = [ 'data_logger_1' , 'data_logger_2' ])
stop_data_logger (名前)

指定されたデータロガーを停止します 名前 モデルから。 名前 ロガー名のリストとして指定すると、リスト内のすべてのロガーが同時に停止されます。

パラメータ:

name ( strまたはlist ) – 停止する必要がある 1 つのデータロガーの名前またはデータロガー名のリスト。

戻り値:

真実 データロガーが正常に停止した場合、

それ以外の場合は 間違い

戻り値の型:

ステータス(ブール値)

例:

# データロガーを追加status = hil . add_data_logger ( name = 'data_logger_1' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_1.csv" ) status = hil . add_data_logger ( name = 'data_logger_2' , signal = [ "Probe1[0]" , "Probe1[1]" , "Digital Probe1[0]" , "Digital Probe1[1]" ], data_file = "./data_data_logger_2.csv" ) # ... 何か実行# データロガーを 1 つずつ停止status = hil . stop_data_logger ( name = 'data_logger_1' ) status = hil . stop_data_logger ( name = 'data_logger_2' ) # ...またはstatus = hil . stop_data_logger ( name = [ 'data_logger_1' , 'data_logger_2' ])
update_sources (ソース, executeAt = None )

以前に準備したソース波形を更新(アクティブ化)します。

パラメータ:
  • ソース(リスト) – ソースの名前を含むリスト。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

戻り値:

真実 波形が更新/アクティブ化されている場合、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil . get_sim_step () # 更新 (実行) 回を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。executeAt2 = SimulationStep * 200000 # 3 つのソースの任意の波形を準備します。hil . prepare_source_arbitrary_waveform ( "Va" , file = r "./examples/inputs/sources/230V_50Hz_phase_a.isg" ) hil . prepare_source_arbitrary_waveform ( "Vb" , file = r "./examples/inputs/sources/230V_50Hz_phase_b.isg" ) hil . prepare_source_arbitrary_waveform ( "Vc" , file = r "./examples/inputs/sources/230V_50Hz_phase_c.isg" ) # 'Va' と 'Vb' ソースを同時に更新しますhil . update_sources ([ "Va" , "Vb" ], executeAt = executeAt1 ) # 'Vc' ソースを別の時間に更新しますhil . update_sources ([ "Vc" ], executeAt = executeAt2 )
prepare_source_arbitrary_waveform ( name , file = '' )

任意の波形ファイル(isg)を、指定された独立電圧/電流源に割り当てます。任意波形データはHILデバイスに送信されますが、アクティブ化されません。

アップロードした波形をアクティブにするには、 update_sources() 関数。

注記

更新キューに登録できる波形は1つだけです。この関数をさらに呼び出すと、以前に準備された波形が上書きされます。

パラメータ:
  • name ( str , list ) – ソース名または準備する必要があるソース名のリスト。

  • file ( str list ) – 波形ファイル(拡張子isg)への絶対パスまたは相対パス、あるいは波形ファイルへのパスのリスト。

戻り値:

真実 波形の割り当てが成功した場合は戻り、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 1 つずつ準備するhil .prepare_source_arbitrary_waveform ( " Va " , file = r "./examples/inputs/sources/230V_50Hz_phase_a.isg" ) hil .prepare_source_arbitrary_waveform ( "Vb" , file = r "./examples/inputs/sources/230V_50Hz_phase_b.isg" ) hil .prepare_source_arbitrary_waveform ( " Vc " , file = r " ./examples/inputs/sources/230V_50Hz_phase_c.isg " ) #またはすべて準備するhil .任意波形ソースを準備します(名前= [ "Va" , "Vb" , "Vc" ],ファイル= [ r "./examples/inputs/sources/230V_50Hz_phase_a.isg" , r "./examples/inputs/sources/230V_50Hz_phase_b.isg" , r "./examples/inputs/sources/230V_50Hz_phase_c.isg" ])
prepare_source_constant_value (名前,= 0 )

指定された独立した電圧/電流源に定数値を設定します。新しい値はHILデバイスに送信されますが、アクティブ化されません。

準備した値を有効にするには、 update_sources() 関数。

注記

更新キューに追加できる値の変更は1つだけです。この関数をさらに呼び出すと、以前に準備された値が上書きされます。

パラメータ:
  • name ( str , list ) – ソース名またはソース名のリスト。

  • value ( float list ) – 準備する必要がある定数値または定数値のリスト。

戻り値:

真実 定数値の設定が成功した場合は戻り値、そうでない場合は戻り値 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 1つのソースを準備するhil .prepare_source_constant_value ( " Vdc " , value = 200 ) # または複数のソースを準備するhil .prepare_source_constant_value ( [ "Vdc" , "Vab" ], value = [ 200 , 100 ])
正弦波波形を準備します( namerms = None周波数= None位相= Noneharmonics = Noneharmonics_pu = Noneapply_at_phase = None )

指定された独立した電圧/電流源に正弦波信号を割り当てます。正弦波信号はHILデバイスに送信されますが、アクティブ化されません。

アップロードした波形データを有効にするには、 update_sources() 関数。

注記

更新のためにキューに登録できるシグナル変更は1つだけです。この関数をさらに呼び出すと、以前に準備されたシグナル変更が上書きされます。

パラメータ:
  • name ( str , list ) – ソース名またはソース名のリスト。

  • rms ( float , list ) – rms 値または rms 値のリスト。

  • 周波数( float list ) – 周波数 (デフォルトは 50Hz) または周波数値のリスト。

  • phase ( float , list ) – 位相(度)または位相値のリスト。

  • 高調波リスト) –

    高調波のリストは次のように指定する必要があります。

    リスト[(高調波数1,実効値1,位相1),

    …、(harmonic_number_n、rms_n、phase_n)]。

    注記

    倍音 この議論は互換性のために残されています。古いタイプの高調波は、新しい単位当たりの高調波に自動的に変換されます。

  • harmonics_pu (リスト) –

    単位あたりの高調波のリスト。次のように指定する必要があります。

    リスト[(高調波数1,rms_p_u_1,位相1),

    …, (harmonic_number_n,rms_p_u_n,phase_n)]

    どこ:

    rms_p_u_n 値は 0 から 1 までの相対単位で与えられる高調波 rms です。

  • apply_at_phase ( float ) –

    指定した場合、ソースパラメータの変更は、ソースの位相角が指定された位相角に達したときに適用されます。位相で適用は、 実行時その場合、execute_at で指定された時刻に達するとコマンドが読み込まれて適用され、ソースの位相角が指定された位相角に達するとソースパラメータが適用されます。

    注記

    フェーズで適用 ランプオプションと一緒に使用することはできません。

戻り値:

真実 正弦波信号が正常に割り当てられた場合は、そうでない場合は 間違い

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 高調波のリストharmonics = [] # 高調波設定を含むタプル# (harmonic_number,rms,phase) harmonic1 = ( 2 , 23 , 2 ) harmonic2 = ( 2 , 2 , 0 ) harmonic3 = ( 20 , 5 , 5 ) # 高調波を保存harmonics.append ( harmonic1 ) harmonics.append ( harmonic2 ) harmonics.append ( harmonic3 ) # 1準備hil.prepare_source_sine_waveform ( " Vb " , rms = 220 , Frequency = 50 , Phase = 120 , harmonics = harmonics ) #または複数ソースを準備hil .正弦波波形を準備する([ "Va" , "Vb" ],実効値= [ 220 , 230 ],周波数= [ 50 , 60 ],位相= [ 120 , 100 ],高調波=高調波)
enable_ao_limiting (チャンネル,下限値,上限値,デバイス= 0 )

アナログ出力電流/電圧制限機能を有効にし、+/-10.0 AO 範囲のデバイスで +/-5.0 AO 範囲で作成されたモデルの保護をアクティブ化するために必要な新しい下限と上限を設定します。

引数

channel (int): アナログ出力チャンネル番号。

lower_limit (float): 下限値。

upper_limit (float): 上限値

device (int): アナログ出力を設定するデバイス。

戻り値:

  • 真実 すべてが正常であれば、そうでなければ戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.enable_ao_limiting ( 1 , lower_limit = -1.0 , upper_limit = 1.0 , device = 0 )
disable_ao_limiting (チャネル,デバイス= 0 )

アナログ出力電流/電圧制限機能を無効にし、下限と上限をデフォルト値に設定します。

引数

channel (int): アナログ出力チャンネル番号。

device (int): アナログ出力を設定するデバイス。

戻り値:

  • 真実 すべてが正常であれば、そうでなければ戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.disable_ao_limiting ( 1 ,デバイス= 1 )
set_boot_configuration ( boot_optmodel_location = Nonedigital_settings = None )

スタンドアロン構成のブート オプションを設定します。

パラメータ:
  • boot_opt ( int ) – サポートされているブートオプションは3つあります。

  • モデルの場所( int ) –

    ブートオプションの場合 選択したモデルを使用して起動 が使用される場合、この引数はどのアップロードされたモデル スロットが使用されるかを指定します。

  • デジタル設定リスト) –

    万一に備えて デジタル入力選択されたモデルを使用して起動する が使用される場合、この引数はアップロードされたモデルの場所スロットを選択するために使用されるデジタル信号設定を指定します。

    ..注記:

    デジタル設定 引数は3つの要素のリストで、各要素は[1、デジタル出力数]の範囲で構成に使用されるデジタル信号の数です。

ブートオプション

意味

1

スタンドアロンブートを無効にする

2

選択したモデルを使用して起動

3

デジタル入力で選択されたモデルを使用して起動する

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

可用性:
  • スタンドアロンスクリプト

set_source_arbitrary_waveform (名前,ファイル)

任意の波形ファイル (isg) を指定された独立した電圧/電流源に割り当てます。

パラメータ:
  • name ( str , list ) – 設定する必要があるソース名またはソース名のリスト。

  • file ( str list ) – 波形ファイル(拡張子isg)への絶対パスまたは相対パス、あるいは波形ファイルへのパスのリスト。

戻り値:

真実 任意波形ファイルが正常に割り当てられた場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 1つずつ準備するhil . set_source_arbitrary_waveform ( "Va" , file = r "./examples/inputs/sources/230V_50Hz_phase_a.isg" ) hil . set_source_arbitrary_waveform ( "Vb" , file = r "./examples/inputs/sources/230V_50Hz_phase_b.isg" ) hil . set_source_arbitrary_waveform ( "Vc" , file = r "./examples/inputs/sources/230V_50Hz_phase_c.isg" ) # またはすべてを設定するhil . set_source_arbitrary_waveform (名前= [ "Va" , "Vb" , "Vc" ],ファイル= [ r "./examples/inputs/sources/230V_50Hz_phase_a.isg" , r "./examples/inputs/sources/230V_50Hz_phase_b.isg" , r "./examples/inputs/sources/230V_50Hz_phase_c.isg" ])
set_source_constant_value (名前= 0executeAt = Noneramp_time = 0ramp_type = 'lin' )

指定された独立した電圧/電流源に定数値を設定します。

パラメータ:
  • name ( str , list ) – ソース名またはソース名のリスト。

  • value ( float list ) – 設定する必要がある定数値または定数値のリスト。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

  • ramp_time ( float ) – 遷移が適用される期間を定義する

  • ramp_type ( str ) – 遷移の形状を定義します。サポートされている値は 'lin' (線形補間) と 'exp' (一次システム応答 - ランプ時間は 7 タウ) です。

戻り値:

真実 定数値が正常に設定された場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 1つのソースを設定するhil . set_source_constant_value ( "Vdc" , value = 200 ) # または複数のソースを設定するhil . prepared_source_constant_value ([ "Vdc" , "Vab], value=[200, 100])
set_source_sine_waveform ( namerms = Nonefrequency = Nonephase = Noneharmonics = Noneharmonics_pu = NoneexecuteAt = Noneramp_time = 0ramp_type = 'lin'apply_at_phase = None )

指定された独立した電圧/電流源に正弦波信号を割り当てます。

パラメータ:
  • name ( str , list ) – ソース名またはソース名のリスト。

  • rms ( float , list ) – rms 値または rms 値のリスト。

  • 周波数( float list ) – 周波数 (デフォルトは 50Hz) または周波数値のリスト。

  • phase ( float , list ) – 位相(度)または位相値のリスト。

  • 高調波リスト) –

    絶対単位で定義された高調波のリスト。次のように指定します。

    リスト[(高調波数1,実効値1,位相1),

    …、(harmonic_number_n、rms_n、phase_n)]。

    注記

    倍音 引数は互換性のために残されています。新規開発の目的においては、 ハーモニクス_pu 代わりに属性を使用します。

  • harmonics_pu (リスト) –

    相対単位で定義された高調波のリスト。次のように指定します。

    リスト[(高調波数1,rms_pu_1,位相1),

    …, (harmonic_number_n,rms_pu_n,phase_n)]

    どこ

    rms_pu_n 値は 0 から 1 までの相対単位で与えられる高調波 rms です。

  • 実行At ( int , float ) –

    このコマンドは指定されたシミュレーション時間に実行されます。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

    注記

    実行時 オプションは、 倍音 または ハーモニクス_pu 引数が使用されます。

  • ramp_time ( int ) – 遷移が適用される期間を定義する

  • ramp_type ( str ) – 遷移の形状を定義します。サポートされている値は 'lin' (線形補間) と 'exp' (一次システム応答 - ランプ時間は 7 タウ) です。

  • apply_at_phase ( float ) –

    指定した場合、ソースパラメータの変更は、ソースの位相角が指定された位相角に達したときに適用されます。位相で適用は、 実行時その場合、execute_at で指定された時刻に達するとコマンドが読み込まれて適用され、ソースの位相角が指定された位相角に達するとソースパラメータが適用されます。

    注記

    フェーズで適用 ランプオプションと一緒に使用することはできません。

戻り値:

真実 正弦波信号が正常に割り当てられた場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 高調波のリストharmonics_pu = [] # 高調波設定を含むタプル# (harmonic_number,rms,phase) harmonic1 = ( 3 , 0.1 , 0 ) harmonic2 = ( 5 , 0.05 , 90 ) harmonic3 = ( 7 , 0.03 , 270 ) # 高調波を保存harmonics_pu.append ( harmonic1 ) harmonics_pu.append ( harmonic2 ) harmonics_pu.append ( harmonic3 ) # 1つのソースを設定hil.set_source_sine_waveform ( " Vb "  rms = 220  frequening = 50  phase = 120  harmonics_pu = harmonics_pu ) #または複数ソース設定hil . set_source_sine_waveform ([ "Va" , "Vb" ], rms = [ 220 , 230 ],周波数= [ 50 , 60 ],位相= [ 120 , 100 ], harmonics_pu = harmonics_pu )
set_source_scaling ( name , scaling , executeAt = None , ramp_time = 0 , ramp_type = 'lin' )

ソースのスケーリング係数を設定します。

注記

ソース パラメータが変更された場合、スケーリング値は 1.0 にリセットされます。

パラメータ:
  • name ( str ) – ソース名またはソース名のリスト。

  • scaling ( float , list ) – 新しいスケーリング係数(float値またはfloat値のリスト)

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

  • ramp_time ( int ) – 遷移が適用される期間を定義する

  • ramp_type ( str ) – 遷移の形状を定義します。サポートされている値は 'lin' (線形補間) と 'exp' (一次システム応答 - ランプ時間は 7 タウ) です。

戻り値:

真実 ソーススケーリング係数が正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step ()。 #更新 (実行) 回を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します # 1 つのソースを設定します。hil.set_source_scaling ( " Vb" , 5.0 , executeAt = executeAt1 )  # または複数のソースを設定します。hil.set_source_scaling ( [ "Vb" , "Vb" ], [ 5.0 , 6 ], executeAt = executeAt1 )
set_pv_input_file (名前,ファイル,照明= 0.0 ,温度= 0.0 , isc = 10.0 , voc = 100.0 )

指定された太陽光発電パネルに IV 曲線を割り当てます。

パラメータ:
  • name ( str ) – 太陽光発電装置の名前

  • file ( str ) – PV ファイルへの絶対パスまたは相対パス (拡張子は .ipv または .ipvx)。

  • 照度浮動小数点数) - PVパネルの照度値(浮動小数点数数)。

  • 温度(浮動小数点値) – PVパネルの温度値 (浮動小数点値)。

  • isc ( float ) – PVパネルの現在のスケーリング係数値(float値)。

  • voc ( float ) – PVパネルの電圧スケーリング係数値(float値)。

注記

.ipv拡張子のPVファイルをロードすると、変更できなくなります。 照明 そして 温度 パラメータ。これらのパラメータを変更するには、.ipvx 拡張子を持つ新しいバージョンの PV ファイルをロードする必要があります。

戻り値:

真実 IV曲線が正常に割り当てられた場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# .ipv PV ファイルを使用して PV を設定# (この場合、「照明」と「温度」の値を変更しても# 効果はありません) hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/PVFN_pv_200_wpms_20c.ipv" ) # .ipvx PV ファイルを使用して PV を設定# (この場合、「照明」と「温度」の値を変更できます) hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/Jinko_JKM200M-72.ipvx" , illuminate = 1000.0 , temperature = 25.0 ) # .ipvx PV ファイルを使用して PV を設定# (この場合、'isc' と 'voc' の値を変更できます) hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/IV_Normalized.ipvx" , isc = 10.0 , voc = 25.0 )
set_pv_amb_params ( nameilluminate = Nonetemperature = Noneisc = Nonevoc = NoneexecuteAt = Noneramp_time = 0ramp_type = 'lin' )

指定された名前の PV パネルの周囲パラメータを変更します。

注記

PVパネルの周囲温度設定を変更する前に、.ipvx PV設定ファイルを使用してPVパネルを初期化する必要があります。PVパネルを初期化するには、 set_pv_input_file() 関数。

注記

どちらも変更できます 照明 そして 温度 同時に、またはどちらか一方だけを変更することもできます。1つのパラメータのみを変更した場合、最後に設定された値が2番目のパラメータに使用されます。

注記

timedコマンドを使用している場合( 実行時 != None)の場合、最初のコマンドが実行されるまで待ってから、次の時間指定コマンドを設定する必要があります。この関数で時間指定コマンドを連続して使用すると、以前に設定された時間指定コマンドでスケジュールされた照度と温度の値が上書きされます。

パラメータ:
  • name ( str ) – 太陽光発電装置の名前。

  • 照度浮動小数点数) - PVパネルの照度値(浮動小数点数数)。

  • 温度(浮動小数点数) – PVパネルの温度値 (浮動小数点数数)。

  • isc ( float ) – PVパネルの現在のスケーリング係数値(float値)。

  • voc ( float ) – PVパネルの電圧スケーリング係数値(float値)。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

  • ramp_time ( float ) – 遷移が適用される期間を定義する

  • ramp_type ( str ) – 遷移の形状を定義します。サポートされる値は 'lin' (線形補間) と 'exp' (一次システム応答 - ランプ時間は 7 タウ) です。

戻り値:

タプル(ステータス、タプル(Imp、Vmp))
  • 状態: 真実 すべてが正常であれば、そうでなければ戻ります 間違い.

  • Imp: 最大電力電流。

  • Vmp: 最大電力電圧。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# initialize PV using an .ipvx PV file and set the initial
# illumination and temperature values
status = hil.set_pv_input_file(
    "PV_panel",
    file=r"./examples/inputs/photovoltaics/Jinko_JKM200M-72.ipvx",
    illumination=1000.0,
    temperature=25.0)

# change both illumination and temperature parameters
(status, (Imp, Vmp)) = hil.set_pv_amb_params(
    "PV_panel", illumination = 1500.0, temperature = 30.0)

# change only illumination
# (last set temperature value will be used -> 30.0)
(status, (Imp, Vmp)) = hil.set_pv_amb_params(
    "PV_panel", illumination=1800.0)

# change only the temperature parameter
# (last set illumination value will be used -> 1800.0)
(status, (Imp, Vmp)) = hil.set_pv_amb_params(
    "PV_panel", temperature=35.0)

# change both isc and voc parameters
(status, (Imp, Vmp)) = hil.set_pv_amb_params(
    "PV_panel", isc=1500.0, voc=30.0)

# change only isc (last set voc value will be used -> 30.0)
(status, (Imp, Vmp)) = hil.set_pv_amb_params("PV_panel", isc=1800.0)

# change only the voc parameter
# (last set isc value will be used -> 1800.0)
(status, (Imp, Vmp)) = hil.set_pv_amb_params("PV_panel", voc=35.0)

# change both isc and voc parameters gradually
(status, (Imp, Vmp)) = hil.set_pv_amb_params(
    "PV_panel", isc=1500.0, voc=30.0, ramp_time=1)

# get the simulation step
simulationStep = hil.get_sim_step()

# calculate the execution time
executeAt1 = simulationStep * 100000 # execute after 100000 sim cycles

# change illumination at a specified simulation time
(status, (Imp, Vmp)) = hil.set_pv_amb_params(
    "PV_panel", illumination=2000.0, executeAt=executeAt1)
set_analog_output (チャンネル名前= Noneスケーリング= Noneオフセット= Noneデバイス= 0 )

特定のアナログ出力の信号割り当て、スケーリング、オフセットを定義します。

パラメータ:
  • チャンネル( int ) – アナログ出力チャンネル番号。

  • name ( str ) – アナログ信号の名前。

  • スケーリング( float ) – スケーリング値。

  • offset ( float ) – オフセット値。

  • device ( int ) – アナログ出力を設定するデバイスを指定します。

戻り値:

真実 割り当てが成功した場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.set_analog_output ( 1 , " V(V0) " ,スケーリング= 100 ,オフセット= 0 )
set_analog_output_signal (チャンネル,名前,デバイス= 0 )

特定のアナログ出力の信号割り当てを定義します。

パラメータ:
  • チャンネル( int ) – アナログ出力チャンネル番号。

  • name ( str ) – アナログ信号の名前。

  • device ( int ) – アナログ出力信号を設定するデバイスを指定します。

戻り値:

真実 割り当てが成功した場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.set_analog_output_signal ( 1 , "V(V0 ) " )
set_analog_output_scaling (チャンネルスケーリング= 0.0デバイス= 0 )

特定のアナログ出力の信号スケーリングを定義します。

パラメータ:
  • チャンネル( int ) – アナログ出力チャンネル番号。

  • スケーリング( float ) – スケーリング値。

  • device ( int ) – アナログ出力スケーリングを設定するデバイスを指定します。

戻り値:

真実 スケーリングが正常に定義された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.set_analog_output_scaling ( 1 ,スケーリング= 100 )
set_analog_output_offset (チャンネルオフセット= 0.0デバイス= 0 )

特定のアナログ出力のオフセット値を定義します。

パラメータ:
  • チャンネル( int ) – アナログ出力チャンネル番号。

  • offset ( float ) – オフセット値。

  • device ( int ) – アナログ出力オフセットを設定するデバイスを指定します。

戻り値:

真実 オフセット値が正常に定義された場合は戻り値、そうでない場合は戻り値 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.set_analog_output_offset ( 1 ,オフセット= 0 )
set_digital_output (チャンネル名前= None反転= NoneswControl = None= Noneデバイス= 0 )

特定のデジタル出力のすべてのプロパティを定義します。

パラメータ:
  • チャンネル( int ) – デジタル出力チャンネル番号。

  • name ( str ) – 割り当てられたデジタル信号の名前。

  • 反転する (ブール) - もし 真実 デジタル出力は反転されます。

  • swコントロール (ブール) – 制御モードを定義します。 真実 (ソフトウェア モード) デジタル出力値は値引数によって定義され、それ以外の場合は割り当てられた信号によって値が定義されます (ハードウェア モード)。

  • value ( int ) – ソフトウェア定義の値 0/1。

  • device ( int ) – デジタル出力を設定するデバイスを指定します。

注記

特定のデジタル出力に対してソフトウェア制御モードが選択されている場合、反転ロジックは即座には効果を発揮しません。ソフトウェア制御が無効になると、割り当てられたデジタル信号に反転ロジックが適用されます。

注記

特定のデジタル出力に対してハードウェア制御モードが選択されている場合、ソフトウェア値を変更してもすぐには反映されません。ハードウェア制御が無効になると、そのデジタル出力にはソフトウェア値が設定されます。

戻り値:

真実 すべてのプロパティが正常に定義された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_digital_output ( 1  name = 'マシンエンコーダーA'  invert = False  swControl = False  value = 0 )
set_digital_output_signal (チャンネル,名前,デバイス= 0 )

特定のデジタル出力の信号割り当てを定義します。

パラメータ:
  • チャンネル( int ) – デジタル出力チャンネル番号。

  • name ( str ) – 割り当てられたデジタル信号の名前。

  • device ( int ) – デジタル出力信号を設定するデバイスを指定します。

注記

特定のデジタル出力に対してソフトウェア制御モードが選択されている場合、この機能はすぐには効果を発揮しません。ソフトウェア制御が無効になると、割り当てられたデジタル信号が有効になります。

戻り値:

真実 シグナルの割り当てが正常に実行された場合は、それ以外の場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_digital_output_signal ( 1 , name = 'マシンエンコーダA' )
set_digital_output_inverting (チャンネル反転= Falseデバイス= 0 )

特定のデジタル出力の信号反転を定義します。

パラメータ:
  • チャンネル( int ) – デジタル出力チャンネル番号。

  • 反転する (ブール) - もし 真実 デジタル出力は反転されます。

  • device ( int ) – アナログ出力の反転状態を設定するデバイスを指定します。

注記

特定のデジタル出力に対してソフトウェア制御モードが選択されている場合、この機能はすぐには効果を発揮しません。ソフトウェア制御が無効になると、割り当てられたデジタル信号に反転ロジックが適用されます。

戻り値:

真実 信号反転処理が成功した場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.set_digital_output_inverting ( 1 , invert = False )
set_digital_output_sw_control (チャンネルswControl = Falseデバイス= 0 )

特定のデジタル出力の制御モードを定義します。

パラメータ:
  • チャンネル( int ) – デジタル出力チャンネル番号。

  • swコントロール (ブール) – 制御モードを定義します。 真実 (ソフトウェア モード) デジタル出力値は値引数によって定義され、それ以外の場合は割り当てられた信号によって値が定義されます (ハードウェア モード)。

  • device ( int ) – アナログ出力ソフトウェア制御状態を設定するデバイスを指定します。

戻り値:

真実 制御モードが正常に設定された場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil.set_digital_output_sw_control ( 1 , swControl = False )
set_digital_output_software_value (チャンネル= 0デバイス= 0 )

特定のデジタル出力の値を指定します。

パラメータ:
  • チャンネル( int ) – デジタル出力チャンネル番号 (1~32)。

  • value ( int ) – ソフトウェア定義の値 0/1。

  • デバイス( int ) - アナログ出力ソフトウェア値を設定するデバイスを指定します。

注記

特定のデジタル出力に対してハードウェア制御モードが選択されている場合、この関数はすぐには効果を発揮しません。ハードウェア制御が無効になると、特定のデジタル出力にはソフトウェア値が設定されます。

戻り値:

真実 値が正常に指定された場合は戻り、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_digital_output_software_value ( 1 = 0 )
set_contactor ( name , swControl = None , swState = None , executeAt = None )

制御モードを選択し、特定のコンタクタの SW 状態を定義します。

パラメータ:
  • name ( str ) – 連絡先の名前。

  • swコントロール (ブール) – 制御モードを定義します。 真実 (ソフトウェアモード)コンタクタの状態はswState引数によって定義されます。それ以外の場合、コンタクタは割り当てられたデジタル入力から制御されます(ハードウェアモード)。

  • swState (ブール) – SW制御モードでのコンタクタの状態を定義します。 真実 閉鎖、 間違い 開ける。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

戻り値:

真実 制御モードと状態が正常に設定された場合、 間違い エラーが発生した場合。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () #実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します# すぐにコマンドを実行します。hil.set_contactor ( ' contactor_disch ' , swControl = True , swState = True ) # 指定された時間にコマンドを実行します。hil.set_contactor ( ' contactor_disch ' , swControl = True , swState = True , executeAt = executeAt1 )
set_contactor_control_mode ( name , swControl = False , executeAt = None )

特定のコンタクタの制御モードを選択します。

パラメータ:
  • name ( str ) – 連絡先の名前。

  • swコントロール (ブール) – 制御モードを定義します。 真実 (ソフトウェアモード)コンタクタの状態はソフトウェア値によって定義されます(set_contactor_state()関数を参照)。それ以外の場合、コンタクタは割り当てられたデジタル入力によって制御されます(ハードウェアモード)。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

戻り値:

真実 制御モードが正常に選択された場合、 間違い エラーが発生した場合。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () # 実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_contactor_control_mode ( ' contactor_disch ' , swControl = True ) #指定た時間にコマンドを実行します。hil.set_contactor_control_mode ( ' contactor_disch ' , swControl = True , executeAt = executeAt1 )
set_contactor_state ( name , swState = False , executeAt = None )

特定のコンタクタの SW 状態を定義します。

パラメータ:
  • name ( str ) – 連絡先の名前。

  • swState ( bool ) – SW制御モードでのコンタクタの状態を定義します。

  • 閉鎖

  • 開く。誤り -

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

注記

コンタクタSWの状態の変更は、コンタクタ制御モードが設定されている場合にのみ有効になります。 ソフトウェアモードset_contactor_control_mode() 関数)。

戻り値:

真実 SW状態が正常に選択された場合、 間違い エラーが発生した場合。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () # 実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_contactor_state ( ' contactor_disch ' , swState = True ) #指定た時間にコマンドを実行します。hil.set_contactor_state ( 'contactor_disch ' , swState = True , executeAt = executeAt1 )
set_machine_constant_torque (名前= '' ,= 0.0 , executeAt = None )

モデル内の機械の一定負荷トルクを設定します

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • float ) - 定常負荷トルク値 - 値の単位は[Nm]です。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

戻り値:

真実 負荷トルクが正常に設定された場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () # 実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_machine_constant_torque ( name = " Induction_machine1 " , value = 5.0 ) #指定た時間にコマンドを実行します。hil.set_machine_constant_torque ( name = "Induction_machine1 " , value = 5.0 , executeAt = executeAt1 )
set_machine_linear_torque (名前= '' ,= 0.0 , executeAt = None )

モデル内のマシンの線形負荷トルク係数を設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • 浮動小数点数) - 線形負荷トルク係数値 - 値の単位は[Nm*s]です。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

戻り値:

真実 線形負荷トルク係数が正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () # 実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_machine_linear_torque ( name = " Induction_machine1 " , value = 0.1 ) #指定れた時間にコマンドを実行します。hil.set_machine_linear_torque ( name = " Induction_machine1 " , value = 0.1 , executeAt = executeAt1 )
set_machine_square_torque (名前= '' ,= 0.0 ,実行時= None )

モデル内のマシンの二乗負荷トルク係数を設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • 浮動小数点数) - 負荷トルク係数値の2乗 - 値の単位は[Nm*s^2]です。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

戻り値:

真実 二乗負荷トルク係数が正常に設定された場合は、それ以外の場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () # 実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_machine_square_torque ( name = " Induction_machine1 " , value = 0.01 ) #指定た時間にコマンドを実行します。hil.set_machine_square_torque ( name = "Induction_machine1 " , value = 0.01 , executeAt = executeAt1 )
set_machine_load_source ( name = '' , software = True )

モデル内のマシンの負荷トルク ソースを設定します (ソフトウェアまたは外部)。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • ソフトウェア (ブール) – 真実 機械負荷トルクのソフトウェア制御を使用する場合、そうでない場合は 間違い 外部負荷トルク制御用。

戻り値:

真実 負荷トルク源が正常に設定された場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_load_source ( name = "Induction_machine1"  software = True )
set_machine_external_torque_type ( name = '' ,摩擦= True )

モデル内の機械の外部トルク負荷のタイプ (摩擦または潜在的) を設定します。

注記

外部トルク タイプを変更できるのは、負荷トルク ソースが「外部」に設定されているときのみです。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • 摩擦 (ブール) – 真実 摩擦型を使用する場合、そうでない場合は 間違い 潜在的なタイプの場合。

戻り値:

真実 外部トルク負荷のタイプが正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_external_torque_type ( name = "Induction_machine1"  frictional = True )
set_machine_constant_torque_type ( name = '' ,摩擦= True )

モデル内のマシンの一定荷重のタイプ (摩擦または潜在的) を設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • 摩擦 (ブール) – 真実 摩擦型を使用する場合は「False」、そうでない場合はポテンシャル型を使用してください。摩擦荷重の方向は機械の回転方向に対して常に反対方向となり、ポテンシャル荷重の方向は機械の回転に関係なく常に同じ方向となります。

戻り値:

真実 定数負荷の型が正常に設定された場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_constant_torque_type ( name = "Induction_machine1"  frictional = True )
set_machine_load_type ( name = '' ,トルク= True )

モデル内のマシンの負荷タイプ (トルクまたは速度) を設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • トルク (フロート) – 真実 「トルク」負荷タイプを使用する場合、そうでない場合は 間違い 「速度」負荷タイプの場合。

注記

設定 スピード ロードタイプはすべてリセットされます トルク 型の値を初期状態に読み込みます。

戻り値:

真実 ロードタイプが正常に設定された場合は、そうでない場合は 間違い

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# 'speed' 負荷タイプを設定するhil . set_machine_load_type ( name = "Induction_machine1"  torque = False )
set_machine_speed ( name = '' , speed = 0.0 , executeAt = None )

機械の速度を設定します。速度はrad/s単位で指定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • speed ( float ) – float 値として指定されるマシン速度値。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 が None に等しい場合、コマンドは直ちに実行されます。

注記

機械速度値の設定は、機械負荷タイプが設定されている場合にのみ可能です。 スピード マシンの負荷ソースは次のように設定されています ソフトウェア.

戻り値:

真実 マシン速度が正常に設定された場合は戻り、そうでない場合は戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () # 実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_machine_speed ( name = " Induction_machine1 " , speed = 314 ) #指定れた時間にコマンドを実行します。hil.set_machine_speed ( name = " Induction_machine1 " , speed = 314 , executeAt = executeAt1 )
set_machine_initial_angle (名前= '' ,角度= 0.0 )

機械の初期角度を設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • angle ( float ) - 機械角度初期値 - 値の単位は[rad]です。

戻り値:

真実 機械の初期角度が正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

輸入 math hil . set_machine_constant_torque_type ( name = "Induction_machine1"  angle = math . pi )
set_machine_initial_speed (名前= ''速度= 0.0 )

マシンの初期速度を設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • speed ( float ) - マシン速度の初期値 - 値の単位は[rad/s]です。

戻り値:

真実 機械の初期速度が正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

輸入 math speed_rpm = 1000 speed_init = ( 2 * math . pi / 60 ) * speed_rpm hil . set_machine_initial_speed ( name = "Induction_machine1"  speed = speed_init )
set_machine_inc_encoder_offset (名前= ''オフセット= 0.0 )

マシン モデル内のインクリメンタル エンコーダ オフセットを設定します。

注記

この関数は、 set_machine_encoder_offset() 関数はまもなく廃止されます。 set_machine_encoder_offset() その代わり。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • offset ( float ) – インクリメンタルエンコーダのオフセット値。

戻り値:

真実 インクリメンタルエンコーダオフセットが正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_inc_encoder_offset ( name = "Induction_machine1"  offset = 0.0 )
set_machine_sin_encoder_offset (名前= ''オフセット= 0.0 )

マシンの正弦波エンコーダとリゾルバ オフセットを設定します。

注記

この関数は、 set_machine_resolver_offset() 関数はまもなく廃止されます。 set_machine_encoder_offset() または set_machine_resolver_offset() その代わり。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • offset ( float ) – マシンの正弦波エンコーダーとリゾルバのオフセット値。

戻り値:

真実 機械の正弦波エンコーダとレゾルバオフセットが正常に設定されている場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_sin_encoder_offset ( name = "Induction_machine1"  offset = 0.0 )
set_machine_encoder_offset (名前= ''オフセット= 0.0 )

マシンのゼロ角度を基準にして、増分エンコーダと正弦エンコーダの両方のオフセットを設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • offset ( float ) – エンコーダのオフセット値(ラジアン)。

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_encoder_offset ( name = "Induction_machine1"  offset = 0.0 )
set_machine_resolver_offset (名前= ''オフセット= 0.0 )

マシンのゼロ角度を基準としたリゾルバ オフセットを設定します。

パラメータ:
  • name ( str ) – モデル内のマシン名。

  • offset ( float ) – マシンのリゾルバオフセット値(ラジアン)。

戻り値:

  • 真実 すべてが正常であれば、そうでなければ戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_machine_resolver_offset ( name = "Induction_machine1"  offset = 0.0 )
set_pe_switching_block_control_mode ( blockName = '' , switchName = '' , swControl = True , executeAt = None )

特定のパワー エレクトロニクス スイッチング ブロック内の単一スイッチの制御モードを定義します。

パラメータ:
  • blockName ( str ) – パワーエレクトロニクススイッチングブロックの名前。

  • switchName ( str ) – スイッチ名。

  • swコントロール (ブール) – 制御モードを定義します。 真実 (ソフトウェアモード)スイッチはソフトウェアから制御されます( set_pe_switching_block_software_value() 関数)、それ以外の場合は、値は割り当てられたデジタル入力(ハードウェア モード)によって定義されます。

  • executeAt ( int , float ) – 指定されたタイミングでこのコマンドを実行します。

  • 指定されたシミュレーション時間。executeAtが指定されていない場合

  • すぐに。(またはexecuteAt == None コマンドが実行されます

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () #実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_pe_switching_block_control_mode ( blockName = " 3ph_inverter 1 " , switchName = " Sa_top " , swControl = True ) # 指定された時間にコマンドを実行します。hil.set_pe_switching_block_control_mode ( blockName = " 3ph_inverter 1" , switchName = "Sa_top" , swControl = True , executeAt = executeAt1 )
set_pe_switching_block_software_value ( blockName = '' , switchName = '' , value = 0 , executeAt = None )

特定のパワー エレクトロニクス スイッチング ブロック内の単一スイッチの状態を設定します。

パラメータ:
  • blockName ( str ) – パワーエレクトロニクススイッチングブロックの名前。

  • switchName ( str ) – スイッチ名。

  • ( float ) – ソフトウェア定義の値 (0 - スイッチが開いている、1 - スイッチが閉じている)。

  • executeAt ( int , float ) – 指定されたタイミングでこのコマンドを実行します。

  • 指定されたシミュレーション時間。executeAtが指定されていない場合

  • すぐに。(またはexecuteAt == None コマンドが実行されます

注記

特定のスイッチに対してハードウェア制御モードが選択されている場合、この機能は効果がありません。

戻り値:

真実 単一のスイッチの状態が正常に設定された場合は、それ以外の場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# シミュレーション ステップを取得します。simulationStep = hil.get_sim_step () #実行時間を計算します。executeAt1 = SimulationStep * 100000 # 100000 シミュレーション サイクル後に実行します。# すぐにコマンドを実行します。hil.set_pe_switching_block_software_value ( blockName = " 3ph_inverter 1 " , switchName = " Sa_top" , value = 1 ) # 指定された時間にコマンドを実行します。hil.set_pe_switching_block_software_value ( blockName = " 3ph_inverter 1" , switchName = "Sa_top" , value = 1 , executeAt = executeAt1 )
set_initial_battery_soc (バッテリー名,初期値)

バッテリーの充電状態の初期値を設定します。

注記

初期充電状態はシミュレーション開始時に設定されます。シミュレーション中に充電状態を変更しても影響はありません。

パラメータ:
  • batteryName ( str ) – バッテリー名

  • initialValue ( float ) – 充電状態の初期値。

戻り値:

真実 バッテリーの充電状態の初期値が正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# まず初期充電状態を設定します... hil . set_initial_battery_soc ( "Ebatt" , 90.0 ) # ... 次にシミュレーションを開始します (シミュレーションの開始時に、 # 初期充電状態が適用されます) hil . start_simulation ()
set_scada_input_value ( scadaInputName)

SCADA 入力値を設定します。

パラメータ:
  • scadaInputName ( str ) – 値を変更するSCADA入力名

  • value ( int , float ) – 設定する値。

戻り値:

真実 SCADA入力値が正常に設定された場合は、そうでない場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_scada_input_value ( "Sconst1.Pref"  32.00 )
set_cp_input_value ( cpCategory , cpGroup , cpInputName ,)

CP 入力値を設定します。

注記

この機能はまもなく廃止されます。 set_scada_input_value() 代わりに機能します。

パラメータ:
  • cpCategory ( str ) – CP入力カテゴリ名

  • cpGroup ( str ) – CP入力グループ名

  • cpInputName ( str ) – 値を変更したいCP入力名

  • value ( int , float ) – 設定する値。

戻り値:

真実 CP入力値が正常に設定された場合は戻り値、そうでない場合は戻り値 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

hil . set_cp_input_value ( '電力負荷/ソース' , "Sconst1" , 'Pref' , 32.00 )
set_text_mode (モード)

API ライブラリから取得されるテキスト メッセージのモード (警告、エラーなど) を設定します。

注記

これらのモードは、ユーザー スクリプトからのメッセージには影響しません。

パラメータ:

mode ( str ) – 使用するテキストモード。

利用可能なモード:
  • RM_EMBEDDED - API からのすべてのテキストは HTML テキストになります。

  • RM_SYSTEM - API からのすべてのテキストはプレーン テキストになります。

デフォルト モードは RM_EMBEDDED です。

可用性:
  • スタンドアロンスクリプト

例:

hil.set_text_mode ( hil.RM_EMBEDDED )
set_debug_level (レベル= 0 )

コンソール印刷のレベルを設定します。

パラメータ:

レベル(筋力) –

デバッグレベルを示します

1 - ユーザースクリプトからのメッセージのみを印刷する

2 - レベル1 + APIメッセージの印刷

3 - レベル1 + レベル2 + 通信メッセージの印刷

可用性:
  • スタンドアロンスクリプト

start_capture ( cpSettingstrSettingschSettingsdataBuffer = NonefileName = ''executeAt = Nonetimeout = NonetimeFormat = 'relative' )

バックグラウンドでデータを収集し、それを返し、 ファイル名 が指定されると、データは適切な拡張子(.mat、.h5、.tdms、.csvなど)を持つ指定されたファイルに保存されます。

注記

前のキャプチャ プロセスが終了していない場合は、別のキャプチャ プロセスを開始することはできません。

以前に開始したキャプチャプロセスが終了したかどうかを確認するには、 キャプチャ進行中() 関数。

パラメータ:
  • cpSettings (リスト) –

    リスト[ 破壊 , チャンネル数 , サンプル数 , デジタルキャプチャを有効にする ]

    • decimation (int): ダウンサンプリング値をキャプチャします。

    • numberOfChannels (int): キャプチャされたアナログチャンネルの数( 使用されているヒルデバイスの数 * ヒルあたりのアナログチャンネルの最大数 >= チャンネル数 >= 1、int 値)。

      注記

      ヒルあたりのアナログチャンネルの最大数 depends on the connected HIL device and can be 16, 32 or 64 channels. The maximum number of channels that can be captured on one HIL device must be <= ヒルあたりのアナログチャンネルの最大数 .

    • numberOfSamples (int): 1回あたりのキャプチャポイント数

      1つのチャンネルまたは hil.MAX_NO_SAMPLES .

      注記

      サンプル数 1チャンネルあたり チャンネル数 2で割り切れる必要があります。チャンネルあたりのサンプルの最小数は256で、最大値は ヒルあたりの最大サンプル数 / チャンネル数 .

      注記

      その ヒルあたりの最大サンプル数 接続されている HIL デバイスによって異なり、32e6 または 64e6 サンプルになります。

      注記

      万一に備えて サンプル数== hil.MAX_NO_SAMPLES最大数のサンプルが使用されます。

    • enableDigitalCapture (bool): デジタル信号のキャプチャを有効にします。

      注記

      デジタルキャプチャが有効になっている場合、 ヒルあたりのアナログチャンネルの最大数 1つ減るので、 アナログチャンネルの最大数 = ヒルあたりのアナログチャンネルの最大数 - 1.

      参照 チャンネル数 詳細については。

    • trSettings (リスト): リスト[ トリガータイプ, トリガーソース ,

      しきい値 , , トリガーオフセット , 最初のトリガー発生を使用する ]

    • triggerType (str): トリガーの種類(「アナログ」、「デジタル」、または「強制」)

      注記

      「Forced」トリガータイプを使用する場合は、他のトリガータイプのパラメータを渡す必要はありません。例:

      # 通常の "triggerType" を使用する場合# triggerType="Analog"... triggerSettings = [ "Analog" , 1 , 80.0 , "Rising edge" , 0.0 ] #...またはtriggerSettings = [ "Analog" , "V( Va )" , 80.0 , "Rising edge" , 50.0 ] # triggerType="Digital"... triggerSettings = [ "Digital" , 1 , 0 , "Rising edge" ] #...または# ユニットは、最初の HIL デバイスのデジタル入力 # 1 に対してトリガーします。 triggerSettings = [ "Digital" , "HIL0 デジタル入力 1" , 0 , "Rising edge" , 0 ] #...または# ユニットは、最初の HIL デバイスのデジタル入力 1 に対してトリガーします。 triggerSettings = [ "Digital" , "HIL0 digital input 1" , 0 , "Rising edge" , 0 ] #..または# ユニットは、 2 番目の HIL デバイスのデジタル入力 1 にトリガーします。triggerSettings = [ " Digital" , "HIL1 digital input 1" , 0 , "Rising edge" , 0 ] # ... また、「Forced」を使用する場合は、 triggerSettings = [ "Forced" ]
      
    • triggerSource (int, str): チャンネルまたは名前

      トリガーに使用される信号(int値または文字列値)

      注記

      万一に備えて トリガータイプ == 'アナログ':

      • triggerSource (int): 値は0より大きい値になります

        and <= チャンネル数 チャンネル番号を入力すると。

      • triggerSource (文字列): 値は

        トリガーソースとして使用するアナログ信号名。アナログ信号名は、キャプチャしたい信号のリストにある信号名のいずれかである必要があります( ch設定 リストについては下記を参照してください。

      万一に備えて トリガータイプ == 'デジタル':

      • triggerSource (int): 値は0より大きい必要があります

      • triggerSource (文字列): 値は

        トリガー ソースに使用するデジタル信号名。

      どちらの場合も、次のようになります。

      選択したトリガー ソースは、キャプチャする信号のリストにある信号である必要があります。

    • しきい値 (float): トリガーしきい値。

      注記

      しきい値 「アナログ」タイプのトリガーでのみ使用されます。「デジタル」タイプのトリガーを使用する場合でも、このパラメータを指定する必要があります(例:0.0)。

    • エッジ(str):「立ち上がりエッジ」または「立ち下がりエッジ」でトリガー

    • triggerOffset (str): サンプル数を定義する

      トリガーイベントの前にキャプチャするパーセンテージ(たとえば、numberOfSamples が 100k の場合、トリガーイベントの前の 20k サンプルとトリガーイベント後の 80k サンプルがキャプチャされます)

    • useFirstTriggerOccurrence (bool) - トリガーを定義する

      オフセットが設定されている場合の動作 (False - オフセットが満たされるまでトリガーの発生は無視されます。True - 目的のオフセットに関係なく、最初のトリガーの発生が使用されます)

  • chSettings (リスト) –

    リスト[[ アナログ信号の名前 ], [ デジタル信号 ]]、キャプチャするアナログ信号とデジタル信号の文字列名を含むリスト。

    注記

    捕捉するアナログ信号の数(および [アナログ信号名] リスト)は チャンネル数 .

    当社が捕捉するデジタル信号の数(および [デジタル信号名] list) must be <= 32.

  • dataBuffer (リスト Queue.Queue ) –

    キャプチャされた信号の名前とキャプチャされたデータを保持するバッファ

    注記

    'dataBuffer' のデフォルトのタイプは、Python Queue.Queue() タイプのバッファです (詳細については、 http://docs.python.org/2/library/queue.html ?highlight=queue#Queue.Queue を参照してください)。

    2番目にサポートされている型は、通常のPythonリストです。この型のバッファの使用方法については、以下の例をご覧ください。

  • ファイル名( str ) –

    希望するファイル名。このパラメータを指定しないと、キャプチャされたデータは全く書き込まれません。

    注記

    現在、次のファイル形式がサポートされています: csv、mat、h5 (HDF5 - テーブル形式)、tdms、mf4 (ASAMMDF)、cff (COMTRADE)。

  • 実行時 (整数, フロート) – 指定されたシミュレーション時間にこのコマンドを実行します。 実行時 指定されていない(または 実行時 == None) の場合、コマンドは直ちに実行されます。

  • timeout ( int ) – n秒後にキャプチャプロセスを中止するためのカウンターを開始します。定義されていない場合、タイムアウトはinfになります。

  • 時間形式 (str) – 返される時刻形式を選択する 時間データ デフォルトではtimeFormat==”relative”(またはtimeFormat==TF_RELATIVE_TIME)です。詳細については、以下のセクションを参照してください。 キャプチャ開始() 機能について説明します。

戻り値:

  • バックグラウンドで収集されたデータはファイルに保存されます

    (ただし、 ファイル名 が指定されている)

    注記

    現時点では、選択した時間軸に関係なく、X軸の相対時間データのみが指定されたファイルに保存されます。 時間形式 価値。

  • タプルを データバッファ 次の形式で:

    タプル( キャプチャされた信号名, キャプチャされたデータ , 時間データ ) 引数は次のとおりです:

    • collected_signal_names - 通常のPythonリストで、

      文字列名

    • キャプチャデータ - numpy.ndarray

      (詳細については、 http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.htmlを参照してください) データ マトリックスの最初の行には、'captured_signal_names' リストの最初の信号のキャプチャ データが含まれます。

    • 時間データ - numpy.配列 x軸の相対時間データを秒単位で保持します。

      case timeFormat==”relative” (または timeFormat==TF_RELATIVE_TIME) または dictionary if timeFormat==”absolute” (または timeFormat==TF_ABSOLUTE_TIME)。

      辞書の形式は次のとおりです:

      {
          "x_data": x_data_values,
          "trigger_timestamp_utc_time": trigger_utc_timestamp_value,
          "trigger_timestamp_sim_time": trigger_relative_time
      }
      
      どこ:
      • x_data_values (numpy.array) - 秒単位で指定された相対 x データ

      • trigger_utc_timestamp_value (int) - トリガーが発生した絶対時刻(UTCタイムスタンプでナノ秒単位)

      • trigger_relative_time (int) - シミュレーション開始からのトリガー発生時刻(ナノ秒単位)

  • 戻る 真実 すべてがうまくいって、キャプチャプロセスが

    正常に開始されました。そうでない場合は 間違い エラーが発生した場合。

可用性:
  • スタンドアロンスクリプト

例 (データ バッファーに通常の Python リストを使用):

輸入 typhoon.api.hil として hil # キャプチャ プロセスを開始する前に、モデルをロードして、必要な構成を実行します# decimation、numberOfChannels、numberOfSamples captureSettings = [ 1  3  1e5 ] # triggerType、triggerSource、threshold、edge、triggerOffset triggerSettings = [ "Analog"  1  0.0  "Rising edge"  50.0 ] # キャプチャ用の信号channelSettings = [ "V( Va )"  "V( Vb )"  "V( Vc )" ] # データ バッファーには通常の Python リストが使用されますcollectedDataBuffer = [] # キャプチャ プロセスを開始し、すべてが正常であれば続行します... if hil  start_capture ( captureSettings , triggerSettings , channelSettings , dataBuffer = collectedDataBuffer , fileName = r 'C:/captured_signals/capture_test.mat' ): # キャプチャが完了したら... while hil . capture_in_progress (): pass # データ バッファーからデータを解凍します# (signalsNames - 名前のリスト、 # yDataMatrix - データ値を含む 'numpy.ndarray' マトリックス、 # xData - 時間データを含む 'numpy.array') ( signalNames , yDataMatrix , xData ) = collectedDataBuffer [ 0 ] # 適切なキャプチャ信号のデータを解凍しますVa_data = yDataMatrix [ 0 ] # 最初の信号の最初の行などVb_data = yDataMatrix [ 1 ] Vc_data = yDataMatrix [ 2 ]

例 (FirstTriggerOccurrence パラメータを設定したデータ バッファに通常の Python リストを使用):

輸入 typhoon.api.hil として hil # キャプチャ プロセスを開始する前に、モデルをロードして、必要な構成を実行します# decimation,numberOfChannels,numberOfSamples captureSettings = [ 1 , 3 , 1e5 ] # triggerType,triggerSource,threshold,edge,triggerOffset, # useFirstTriggerOccurrence # useFirstTriggerOccurrence パラメーターはオプションで、 # デフォルト値は False ですtriggerSettings = [ "Analog" , 1 , 0.0 , "Rising edge" , 50.0 , True ] # キャプチャ用の信号channelSettings = [ "V( Va )" , "V( Vb )" , "V( Vc )" ] # データ バッファーには通常の Python リストが使用されますcollectedDataBuffer = [] # キャプチャ プロセスを開始し、すべてが正常であれば続行します... if hil . start_capture ( captureSettings , triggerSettings , channelSettings , dataBuffer = collectedDataBuffer , fileName = r 'C:/captured_signals/capture_test.mat' ): # キャプチャが完了したら... while hil . capture_in_progress (): pass # データ バッファーからデータを解凍します# (signalsNames - 名前のリスト、 # yDataMatrix - データ値を含む 'numpy.ndarray' マトリックス、 # xData - 時間データを含む 'numpy.array') ( signalNames , yDataMatrix , xData ) = collectedDataBuffer [ 0 ] # 適切なキャプチャ信号のデータを解凍しますVa_data = yDataMatrix [ 0 ] # 最初の信号の最初の行などVb_data = yDataMatrix [ 1 ] Vc_data = yDataMatrix [ 2 ]

例 (stop_capture() を実行したデータ バッファーに通常の Python リストを使用):

輸入 typhoon.api.hil として hil # キャプチャ プロセスを開始する前に、モデルをロードし、 # 必要な構成を実行します# decimation,numberOfChannels,numberOfSamples captureSettings = [ 1 , 3 , 1e5 ] # triggerType,triggerSource,threshold,edge,triggerOffset triggerSettings = [ "Analog" , 1 , 0.0 , "Rising edge" , 50.0 ] # キャプチャ用の信号channelSettings = [ "V( Va )" , "V( Vb )" , "V( Vc )" ] # データ バッファーには通常の Python リストが使用されますcollectedDataBuffer = [] # キャプチャ プロセスを開始し、すべてが正常であれば続行します... if hil . start_capture ( captureSettings  triggerSettings  channelSettings  dataBuffer = collectedDataBuffer  fileName = r 'C:/captured_signals/capture_test.mat' ): # その他の処理sleep ( Time ) # キャプチャを強制的に停止hil . stop_capture () # データ バッファーからデータを解凍します# (signalsNames - 名前のリスト、 # yDataMatrix - データ値を持つ 'numpy.ndarray' マトリックス、 # xData - 時間データを持つ 'numpy.array') ( signalsNames  yDataMatrix  xData ) = collectedDataBuffer [ 0 ] # 適切なキャプチャ信号のデータを解凍しますVa_data = yDataMatrix [ 0 ] # 最初の信号の最初の行などVb_data = yDataMatrix [ 1 ] Vc_data = yDataMatrix [ 2 ]

デジタル信号の例 (データ バッファーに通常の Python リストを使用):

輸入 typhoon.api.hil として hil # キャプチャ プロセスを開始する前に、モデルをロードして、必要な構成を実行します# decimation、numberOfChannels、numberOfSamples、 # enableDigitalCapture captureSettings = [ 1  3  1e5  True ] # triggerType、triggerSource、threshold、edge、triggerOffset triggerSettings = [ "Digital"  1  0.0  "Rising edge"  50.0 ] # キャプチャ用の信号channelSettings = [ [ "V( Va )"  "V( Vb )"  "V( Vc )" ]、 [ "HIL0 digital input 1"  "HIL0 digital input 2"  "HIL0 digital input 3" ]] # データ バッファーには通常の Python リストが使用されますcollectedDataBuffer = [] # キャプチャ プロセスを開始し、すべてが正常であれば続行します... if hil . start_capture ( captureSettings  triggerSettings  channelSettings  dataBuffer = collectedDataBuffer  fileName = r 'C:/captured_signals/capture_test.mat' ): # キャプチャが終了したら... while hil  capture_in_progress (): pass # データ バッファーからデータを解凍します# (signalsNames - 名前のリスト、 # yDataMatrix - データ値を含む 'numpy.ndarray' マトリックス、 # xData - 時間データを含む 'numpy.array') ( signalsNames  yDataMatrix  xData ) = collectedDataBuffer [ 0 ] # 適切なキャプチャ信号のデータを解凍しますVa_data = yDataMatrix [ 0 ] # 最初の信号の最初の行などVb_data = yDataMatrix [ 1 ] Vc_data = yDataMatrix [ 2 ] Digital1_data = yDataMatrix [ 3 ] Digital2_data = yDataMatrix [ 4 ] Digital3_data = yDataMatrix [ 5 ]

デジタル信号のみをキャプチャする場合の例 (データ バッファーに通常の Python リストを使用):

輸入 typhoon.api.hil として hil # キャプチャ プロセスを開始する前に、モデルをロードし、 # 必要な構成を実行します# decimation、numberOfChannels、numberOfSamples、 # enableDigitalCapture captureSettings = [ 1  1  1e5  True ] # triggerType、triggerSource、threshold、edge、triggerOffset triggerSettings = [ "Digital"  1  0.0  "Rising edge"  50.0 ] # キャプチャ用の信号channelSettings = [ [ "V( Va )" ]、 [ "HIL0 digital input 1"  "HIL0 digital input 2"  "HIL0 digital input 3" ]] # データ バッファーには通常の Python リストが使用されますcollectedDataBuffer = [] # キャプチャ プロセスを開始し、すべてが正常であれば続行します... if hil . start_capture ( captureSettings , triggerSettings , channelSettings , dataBuffer = collectedDataBuffer , fileName = r 'C:/captured_signals/capture_test.mat' ): # キャプチャが終了したら... while hil . capture_in_progress (): pass # データ バッファーからデータを解凍します# (signalsNames - 名前のリスト、 # yDataMatrix - データ値を含む 'numpy.ndarray' マトリックス、 # xData - 時間データを含む 'numpy.array') ( signalNames , yDataMatrix , xData ) = collectedDataBuffer [ 0 ] # 適切なキャプチャ信号のデータを解凍しますVa_data = yDataMatrix [ 0 ] # 最初の信号の最初の行などDigital1_data = yDataMatrix [ 1 ] Digital2_data = yDataMatrix [ 2 ] Digital3_data = yDataMatrix [ 3 ]

注記

並列 HIL (マルチ HIL モデル) を使用する場合、デジタル信号は次のように定義できます。

# この場合、デジタル入力 1 とデジタル入力 2 は最初の HIL からキャプチャされ、デジタル入力 3 は2 番目の HIL からキャプチャされます。 # HIL の番号付け: 1 番目の HIL (HIL 0)、2 番目の HIL (HIL 1) など。channelSettings = [ [ " V( Va )" , "V( Vb )" , "V( Vc )" ], [ "HIL0 デジタル入力 1" , "HIL1 デジタル入力 2" , "HIL1 デジタル入力 3" ]] # この場合、デジタル入力 1 は最初HILからキャプチャされデジタル入力2デジタル入力32 番目の HIL からキャプチャされます。 # HIL の番号付け: 1 番目の HIL (HIL 0 ) 、2 番目の HIL (HIL 1) など。channelSettings = [ [ "V( Va )" , "V( Vb )" , "V( Vc )" ], [ "HIL0 デジタル入力 1" , "HIL1 デジタル入力 2" , "HIL1 デジタル入力 3" ]]

例 (データ バッファーに Queue.Queue() を使用):

輸入 typhoon.api.hil として ヒルから  import Queue # キャプチャ プロセスを開始する前に、モデルをロードし、 # 必要な構成を実行します# decimation,numberOfChannels,numberOfSamples captureSettings = [ 1 , 3 , 1e5 ] # triggerType,triggerSource,threshold,edge,triggerOffset triggerSettings = [ "Analog" , 1 , 0.0 , "Rising edge" , 50.0 ] # キャプチャ用の信号channelSettings = [ "V( Va )" , "V( Vb )" , "V( Vc )" ] # Queue.Queue() は、データ バッファーに使用されますcollectedDataBuffer = Queue () # キャプチャ プロセスを開始し、すべてが正常であれば続行します... if hil . start_capture ( captureSettings , triggerSettings , channelSettings , dataBuffer = collectedDataBuffer , fileName = r 'C:/captured_signals/capture_test.mat' ): #キャプチャが完了したら... while hil.capture_in_progress (): pass #データ バッファーからデータを解凍します# (signalsNames - 名前のリスト、 # yDataMatrix - データ値を含む 'numpy.ndarray' マトリックス、 # xData - 時間データを含む 'numpy.array') ( signalsNames , yDataMatrix , xData ) = collectedDataBuffer.get_nowait () # 適切なキャプチャ信号のデータを解凍しますVa_data = yDataMatrix [ 0 ] #最初の信号の最初の行などVb_data = yDataMatrix [ 1 ] Vc_data = yDataMatrix [ 2 ]

例 (executeAt を使用):

# 実行時間を計算する# 100000 シミュレーション サイクル後に実行するexecuteAt1 = SimulationStep * 100000 # 指定された時間に開始キャプチャ コマンドを実行するif hil . start_capture ( captureSettings , triggerSettings , channelSettings , dataBuffer = collectedDataBuffer , fileName = r 'C:/captured_signals/capture_test.mat' , executeAt = executeAt1 ): # キャプチャが終了したら... while hil . capture_in_progress (): pass

例 (タイムアウトを使用):

# キャプチャプロセスは5秒後に中止されます。 if hil . start_capture ( captureSettings , triggerSettings , channelSettings , dataBuffer = collectedDataBuffer , fileName = r 'C:/captured_signals/capture_test.mat' , timeout = 5 ): # キャプチャが終了すると... while hil . capture_in_progress (): pass

注記

トリガーが「強制」に設定されている場合、タイムアウト値を入力しても無視されます。

stop_capture ( )

キャプチャプロセスを停止します。

注記

キャプチャプロセスの前に HIL デバイスによってキャプチャされたすべてのデータは停止され、ダウンロードされます。

戻り値:

真実 キャプチャが正常に停止した場合は、エラーが発生した場合は 間違い.

可用性:
  • スタンドアロンスクリプト

例:

# キャプチャを開始します... # ...キャプチャプロセスの開始後にいくつかの構成を行います... # ...キャプチャプロセスを停止しますhil . stop_capture ()
シミュレーション開始( )

シミュレーション プロセスを開始します。

戻り値:

真実 シミュレーションが正常に開始された場合、エラーが発生した場合は 間違い.

可用性:
  • スタンドアロンスクリプト

例:

# モデルをロードします... # ...シミュレーションを開始する前にいくつかの構成を行います... # ...シミュレーションを開始します... hil . start_simulation () # ...シミュレーションプロセスの開始後にいくつかの構成を行います...
stop_simulation ( )

シミュレーションを停止します。

戻り値:

真実 シミュレーションが正常に停止した場合は、エラーが発生した場合は 間違い.

可用性:
  • スタンドアロンスクリプト

例:

# シミュレーションを開始します... # ...シミュレーションプロセスの開始後にいくつかの設定を行います... # ...シミュレーションを停止しますhil . stop_simulation ()
is_simulation_running ( )
戻り値:

  • 真実 シミュレーションが実行中の場合は戻り、そうでない場合は 間違い.

    モデルがロードされていない場合 なし 返されます。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

check_hil_hwid ( )

接続されているすべての HIL デバイスのハードウェア ID を確認します。

戻り値:

真実 接続されているすべてのHILのすべてのHWIDが正しい場合

さもないと 間違い 返されます。

戻り値の型:

ステータス(ブール値)

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

キャプチャ進行中( )
戻り値:

真実 キャプチャプロセスがまだ進行中の場合。

可用性:
  • スタンドアロンスクリプト

timeout_occurred ( )
戻り値:

真実 キャプチャがタイムアウトした場合は False を返します。それ以外の場合は False を返します。

可用性:
  • スタンドアロンスクリプト

read_pv_iv_curve (名前,電圧)

指定された電圧値に対応する PV パネル IV 曲線から電流と電力の値を取得します。

注記

電流値と電力値はPVパネルが初期化された後にのみ利用可能です。そのため、この関数を使用する前に、.ipvxまたは.ipvのPV設定ファイルを使用してPVパネルを初期化する必要があります。PVパネルを初期化するには、 set_pv_input_file() 関数。

パラメータ:
  • name ( str ) – 太陽光発電装置の名前。

  • 電圧浮動小数点数) – 電圧値

戻り値:

タプル(状態, タプル(I,P))。
  • 状態 - 真実 すべてが正常であれば、そうでなければ戻ります 間違い.

  • I - IV電流。

  • P - IV電源電圧。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# .ipvx PV ファイルを使用して PV を初期化し、初期の照度と温度の値を設定します。 status = hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/Jinko_JKM200M-72.ipvx" , illuminate = 1000.0 , temperature = 25.0 ) # 電圧 = 30 のときの電流と電力を取得します。 ( status ,( I , P )) = hil . read_pv_iv_curve ( "PV_panel" , 30 )
read_analog_signal (名前= '' )

選択したアナログ信号の値を HIL から読み取ります。

パラメータ:

name ( str ) – アナログ信号の名前。

戻り値:

信号値(浮動小数点)、読み取りエラーの場合は返される なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

sigVal = hil . read_analog_signal ( name = "V( Vab )" )
read_analog_signals (信号= () )

選択したアナログ信号の値を HIL から読み取ります。

パラメータ:

信号(リスト) – アナログ信号名のリスト。

戻り値:

信号値(浮動小数点)のリスト。読み取りエラーの場合は、 なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# 要求された信号値のリストを返します# [V( Vab )値、V(Vbc)値、I(Ib)値] signalValues = hil.read_analog_signals ( signals = [ "V( Vab )" , " V ( Vbc)" , "I(Ib)" ])
read_digital_signal ( name = '' , device = None )

選択したデジタル信号値を HIL から読み取ります。

パラメータ:
  • name ( str ) – デジタル信号の名前。

  • device ( int ) – デジタル信号を読み取るデバイスを指定します。デフォルトでは、すべてのデバイスで信号が検索されます。

戻り値:

信号値(int型)、読み取りエラーの場合は返される なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# 'HIL0 デジタル入力 1' デジタル信号を読み取ります (すべてのデバイスで検索されます) sigVal = hil . read_digital_signal ( name = "HIL0 デジタル入力 1" ) # 次に、 "device id" == 1 のデバイスからマシン エンコーダー A を読み取りますsigVal = hil . read_digital_signal ( name = "マシン エンコーダー A"  device = 1 )
read_digital_signals (信号= () )

選択したデジタル信号の値を HIL デバイスから読み取ります。

パラメータ:

信号(リスト) – デジタル信号名のリスト。

戻り値:

信号値のリスト(int型)は、読み取りエラーの場合に返されます。 なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# 要求された信号値のリストを返しますsignalValues = hil . read_digital_signals ( signals = [ "HIL0 デジタル入力 1" , "マシンエンコーダー A" , "HIL1 デジタル入力 13" ])
read_digital_input ( pinNum = 1 ,デバイス= 0 )

選択したデジタル入力値を HIL デバイスから読み取ります。

パラメータ:
  • pinNum ( int ) – ピン番号(1~32のチャネル番号)。

  • device ( int ) – デジタル入力を読み取るデバイスを指定します。

戻り値:

読み取りエラーの場合はデジタル入力値(int値)が返されます。 なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

digVal =ヒル read_digital_input (ピン番号= 23 )
read_streaming_signals (シグナル, from_last_index = 0 )

HIL から選択されたストリーミング信号値の最後に選択されたインデックスからデータを読み取ります。

パラメータ:
  • シグナル(リスト) – ストリーミングシグナル名。

  • from_last_index ( int ) –

    インデックスの読み取りを開始する場所

    注記

    最後のインデックスから arg は場合によっては上書きされることがあります。

    注記

    指定されたすべてのシグナルの実行レートは同じである必要があります。

戻り値:

信号名をキーとし、信号値(浮動小数点)とシミュレーション時間、最後に読み込んだデータのインデックスを含むPandas(データフレーム)。読み取りエラーの場合は、 なし.

例:

#データの読み取り last_index = hil . read_streaming_signals ([ 'streaming_signal_name'  'streaming signal_name2' ]) # pandas DataFrame から値を取得、streaming_signal_name_value = data [ 'streaming_signal_name' ]streaming_signal_name_2_value = data [ 'streaming_signal_name2' ]
可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

load_signal_gen_data (ファイル名: str ) dict

ファイルからデータを読み込み、信号ジェネレータ用に準備します。 :param filename: ファイル パス。

戻り値: ファイルから読み込まれたデータを含む辞書。

create_signal_stimulus ( signal_data )

信号発生器オブジェクトを作成します。

パラメータ:

signal_data (辞書) – 信号再生に使用されるデータ。信号名は辞書キーとして表され、信号値は数値のリストとして表されます。時間軸は辞書キー「Time」で定義され、時間値は昇順の数値のリストとして表されます。すべての信号値は同じサイズである必要があります。

戻り値: 作成された信号ジェネレータの ObjectHandle。

シグナル刺激を準備する( signal_stimulus )

信号刺激用の初期データを準備します。信号刺激を開始する前にこの関数を呼び出す必要があります。signal_stimulusデータを作成するには、create_signal_stimulus() を使用します。

パラメータ:

signal_stimulus (辞書) – 準備する刺激。

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

start_signal_stimulus ( signal_stimulus )

希望する信号刺激を開始します。:param signal_stimulus: 信号刺激オブジェクト。:type signal_stimulus: ItemHandle

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

例:

# read
stimulus_example = hil.create_signal_stimulus(
    {'Time' : [data_array],
    'signal_name1':[data_array],
    'signal_name2':[data_array]}
)

hil.prepare_signal_stimulus(stimulus_example)
hil.start_simulation()
hil.start_signal_stimulus(stimulus_example)
stop_signal_stimulus ( signal_stimulus )

希望する信号刺激を停止します。:param signal_stimulus: 信号刺激オブジェクト。:type signal_stimulus: ItemHandle

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

例:

#前回作成した刺激 ' stimulus_example ' hil.stop_signal_stimulus ( stimulus_example ) hil.stop_simulation ( )
pause_signal_stimulus ( signal_stimulus )

希望する信号刺激を一時停止します。:param signal_stimulus: 信号刺激オブジェクト。:type signal_stimulus: ItemHandle

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

例:

# 前回作成した刺激 'stimulus_example' hil.pause_signal_stimulus(stimulus_example) hil.stop_simulation()

restart_hil ( )

接続されているすべての HIL デバイスを再起動します。

注記

HIL を再起動した後、モデル (.cpd ファイル) を再度ロードする必要があります。

戻り値:

真実 すべてが正常であれば、そうでなければ戻ります 間違い.

戻り値の型:

ステータス(ブール値)

可用性:
  • スタンドアロンスクリプト

wait_sec ()

指定された時間(秒数)待機します。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# ...コード# 3秒間実行を一時停止hil . wait_sec ( 3 ) # ...wait_sec() コマンドの後のコードは、 # 'waiting' 期間が経過した後に実行されます
wait_msec (ミリ秒)

指定された時間(ミリ秒単位)待機します。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

例:

# ...コード# 500ミリ秒間実行を一時停止hil . wait_msec ( 500 ) # ...wait_msec() コマンドの後のコードは、 # 'waiting' 期間が経過した後に実行されます
wait_on_user ( )

ユーザーアクションを待機します - スクリプトの実行を続行するには、「ENTER」キーを押す必要があります。

可用性:
  • スタンドアロンスクリプト

例:

# ...コード# ユーザーが 'ENTER' を押すまで実行を一時停止しますhil . wait_on_user () # ...wait_on_user() コマンドの後のコードは、ユーザーが 'ENTER' を押すとすぐに実行されます
end_script_by_user ( )

「ENTER」キーを押してスクリプトの実行を終了します。

可用性:
  • スタンドアロンスクリプト

例:

# ...コード# 'ENTER' を押すことで現在のスクリプトの実行を終了しますhil . end_script_by_user () # ユーザーが 'ENTER' を押すと、スクリプトの実行が終了します...end_script_by_user()コマンドの後のコマンドは実行されません
reset_flag_status (フラグ,デバイス= 0 )

指定されたフラグのステータスをリセットします。

パラメータ:
  • flag ( str ) – ステータスをリセットするフラグの名前。

  • device ( int ) – フラグステータスをリセットするデバイスを指定します。

サポートされているフラグ( フラック パラメータとその説明を以下に示します。

フラグ定数

説明

FL_算術オーバーフロー

シミュレーション対象モデルの一部の値がHILデバイスの数値範囲外であったことを示します。これにより、モデルの挙動が不安定になる可能性があります。

FL_DEAD_TIME

ゲート ドライブのデジタル入力によって生じた位相遅れによるシュートスルー状態を示します。

FL_SP_EXC_OCCURRED

システム CPU またはユーザー CPU のいずれかで実行されている生成されたコードによって例外がスローされたことを示します。

FL_COMP_INT_オーバーラン

SP 計算時間が予約された時間スロットを超えたことを示します。

戻り値:

真実 フラグが正常にリセットされた場合は、それ以外の場合は 間違い.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # デッドタイムフラグのステータスをリセットstatus = hil . reset_flag_status ( hil . FL_DEAD_TIME )
get_model_variables ( name_separator = '.' )

ロードされたモデルからすべてのモデル変数とその属性値を返します。

パラメータ:

名前区切り文字( str ) –

モデル変数名の構成要素を区切るために使用される区切り文字です。すべてのモデル変数名でこの区切り文字が使用されます。現在サポートされている区切り文字は「.」、「/」です。

例:

# name of a Model variable with default '.' separator
{"PV_panel.illumination": {
    "att_value_type": "float",
    "att_access_rights": "write_only",
    "att_hil_device": 0},
"Vgrid.rms": {
    "att_value_type": "float",
    "att_access_rights": "write_only",
    "att_hil_device": 0},
...
}

# name of a Model variable with '/' separator
{"PV_panel/illumination": {
    "att_value_type": "float",
    "att_access_rights": "write_only",
    "att_hil_device": 0},
"Vgrid/rms": {
    "att_value_type": "float",
    "att_access_rights": "write_only",
    "att_hil_device": 0},
...
}

戻り値:

辞書の形式:

{"variable_name_1": {
    "attribute_name_1": attribute_value_1,
    "attribute_name_2": attribute_value_2, ...}
}
"variable_name_2": {
    "attribute_name_1": attribute_value_1,
    "attribute_name_2": attribute_value_2, ...}
}, ...}

戻り値の型:

変数辞書 (dict)

昇給
  • HILAPIException – 利用可能なモデル変数に関する情報を取得できない場合。

  • HILAPIException – サポートされていない区切り文字が指定された場合。

get_cp_output_value ( cpCategory , cpGroup , cpOutputName )

CP 出力値を取得 (読み取り) します。

注記

この機能はまもなく廃止されます。 get_scada_output_value() その代わり。

パラメータ:
  • cpCategory ( str ) – CP出力カテゴリ名

  • cpGroup ( str ) – CP出力グループ名

  • cpOutputName ( str ) – 値を読み取るCP出力名

戻り値:

すべてが正常であればCP出力から読み取られた値、そうでない場合は なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

hil . get_cp_output_value ( '電力負荷/ソース' , 'Sconst1'、'有効電力')
get_scada_output_value ( scadaOutputName )

SCADA 出力値を取得します。

パラメータ:

scadaOutputName ( str ) – 値を読み取るSCADA出力名

戻り値:

すべてが正常であればSCADA出力から読み取られた値、そうでない場合は返されます なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

= hil . get_scada_output_value ( 'Sconst1.有効電力' )
get_battery_soc (バッテリー名)

バッテリーの充電状態を取得(読み取り)します。

注記

充電状態の値は 0.0 ~ 1.0 の範囲で返されます。

パラメータ:

batteryName ( str ) – バッテリー名

戻り値:

すべてが正常であれば充電状態の値、そうでない場合は なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# バッテリーの充電状態を取得するhil . get_battery_soc ( "Ebatt" )
get_pv_mpp (名前)

指定された太陽光発電パネルの最大電力電流と電圧を取得(読み取り)します。

注記

最大電力と最大電流はPVパネルが初期化された後にのみ利用可能です。そのため、この関数を使用する前に、.ipvxまたは.ipv形式のPV設定ファイルを使用してPVパネルを初期化する必要があります。PVパネルを初期化するには、 set_pv_input_file() 関数。

パラメータ:

name ( str ) – 太陽光発電装置の名前。

戻り値:

タプル(状態, タプル(Imp,Vmp))。
  • 状態 - 真実 すべてが正常であれば、そうでなければ

    間違い.

  • Imp - 最大電力電流。

  • Vmp - 最大電力電圧。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# .ipvx PV ファイルを使用して PV を初期化し、初期の照度と温度の値を設定します。 status = hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/Jinko_JKM200M-72.ipvx" , illuminate = 1000.0 , temperature = 25.0 ) # 照度と温度の両方のパラメータを変更します( status ,( Imp , Vmp )) = hil . get_pv_mpp ( "PV_panel" )
get_num_of_connected_hils ( )

現在接続されている HIL デバイスの数を返します。

戻り値:

整数

get_sim_step (デバイス= 0 )

アクティブ モデルのシミュレーション タイム ステップを取得します。

パラメータ:

デバイス( int ) – シミュレーション時間ステップを取得するデバイスを指定する

戻り値:

シミュレーションの時間ステップ(秒単位、浮動小数点値)。エラーが発生した場合 なし 代わりに返されます。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

シミュレーションステップ= get_sim_step ()
get_sim_time (デバイス= 0 )

シミュレーション時間を取得します。シミュレーション時間は、経過したシミュレーションステップ数(サイクル数)とモデルシミュレーションステップ数を乗算した値として読み取られます。

パラメータ:

device ( int ) – シミュレーション時間を取得するデバイスを指定する

戻り値:

シミュレーション時間の値(浮動小数点値)は、エラーの場合は次のように返されます。 なし.

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

シミュレーション時間= get_sim_time ()
get_device_cfg_list ( )

使用可能なデバイスとその FW 構成のリストを返します。

戻り値:

使用可能なデバイス (キー) の辞書とその FW 構成 (値) のリスト。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_sw_version ( )

Typhoon ソフトウェアのバージョンを含む文字列を返します。

戻り値:

現在のソフトウェアバージョンを含む文字列

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_sw_product_and_ver ( )

Typhoon製品名とバージョンを含む文字列を返します。例:THCC 2024.4。

get_hil_calibration_date (デバイスID = 0 )

接続された HIL デバイスのキャリブレーション日付を返します。

パラメータ:

device_id ( int ) – キャリブレーション日を取得するデバイスを指定します。デフォルトでは、device_id == 0 のデバイスのキャリブレーション日が返されます。

戻り値:

HIL デバイスのキャリブレーション日付を含む文字列。デバイスが存在しない場合は「なし」になります。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_device_features (デバイス= Noneconf_id = Nonefeature = None )

選択した HIL デバイスの機能に関する情報を提供します。

パラメータ:
  • device ( str ) – HILデバイス名(形式 'HIL604'、'HIL402'…)

  • conf_id ( int ) – HIL構成ID

  • 特徴 (str) – 値が返される機能名。 特徴 が指定されていない場合は、すべての機能に関する情報が返されます。

注記

パラメータデバイスまたはconf_id のいずれかが指定されていない場合、指定されていないパラメータは接続された HIL デバイスから自動検出されます。

戻り値:

もし 特徴 が定義されていない場合は、利用可能なすべての特徴(キー)とその値を含む辞書を返します。ただし、 特徴 定義されている場合は、特定の機能の値を返します。

エラーが発生した場合、 なし 返されます。

返される辞書の形式を以下に示します。

辞書キー

意味

価値

「標準プロセッシングコア」

標準プロセッシングコア数(SPC)

整数

「非線形機械サポート」

非線形機械サポート

「はい」/「いいえ」

「非線形機械のLUTサイズ[KWords]」

非線形マシンLUTサイズ

整数

「アブソリュートエンコーダプロトコルサポート」

アブソリュートエンコーダプロトコルのサポート

「はい」/「いいえ」

「コンバータ順方向電圧降下」

コンバータ順方向電圧降下サポート

「はい」/「いいえ」

「グローバルGDSオーバーサンプリング」

グローバルGDSオーバーサンプリングのサポート

「はい」/「いいえ」

「スイッチレベルGDSオーバーサンプリング」

スイッチレベルのGDSオーバーサンプリングサポート

「はい」/「いいえ」

「機械ソルバー」

機械ソルバーの数

整数

「DC-DCコンバータソルバー」

DC-DCコンバータソルバーの数

整数

「信号発生器」

信号発生器の数

整数

「テーブルを調べる」

LUTの数

整数

「PWM変調器」

PWM変調器の数

整数

「PWMアナライザー」

PWMアナライザーの数

整数

「並列DTV検出器」

並列DTV検出器の数

整数

「並行サポート」

並列サポート

「はい」/「いいえ」

「SFPシミュレーションリンクサポート」

SFPシミュレーションリンクのサポート

「はい」/「いいえ」

「Egston SFPリンクサポート」

Egston SFPリンクサポート

「はい」/「いいえ」

「SPCピーク処理能力[GMACS]」

SPCピーク処理能力

フロート

「SPCマトリックスメモリ[Kワード]」

SPCマトリックスメモリ

フロート

「SPC出力メモリサイズ[変数]」

SPC出力メモリサイズ

整数

「最大コンバータ重量(理想的なスイッチ)」

SPCあたりの最大コンバータ重量(理想的なスイッチ)

整数

「コンタクタ(理想的なスイッチ)」

SPCあたりの接触器の数

整数

「非理想的なスイッチ」

SPC あたりの非理想的なスイッチの数

整数

「時間によって変化する要素」

SPCあたりの時間変動要素の数

整数

「比較対象」

SPCあたりのコンパレータの数

整数

「GDS切り替え遅延」

GDSスイッチング遅延サポート

「はい」/「いいえ」

「コンバータの電力損失計算」

電力損失計算サポート

「はい」/「いいえ」

「コンバータ順方向電圧降下」

コンバータ順方向電圧降下サポート

「はい」/「いいえ」

「タイムコマンドサポート」

時間コマンドのサポート

「はい」/「いいえ」

「デジタル入力」

HILデジタル入力の数

整数

「デジタル出力」

HILデジタル出力の数

整数

「アナログ入力」

HILアナログ入力の数

整数

「アナログ出力」

HILアナログ出力の数

整数

「アナログ入力電圧範囲」

HILアナログ入力電圧範囲(例:[-10, 10])

リスト

「アナログ出力電圧範囲」

HILアナログ出力電圧範囲(例:[-10, 10])

リスト

「マルチHILデバイス」

マルチHIL構成で接続できるデバイスの最大数

整数

「CANバスポート」

CANバスポートの数

整数

「スコープデジタル信号」

利用可能なスコープデジタルチャンネルの数

整数

「スコープアナログ信号」

利用可能なスコープアナログチャンネルの数

整数

「スコープバッファサイズ」

サポートされる最大キャプチャサンプル数

整数

「デジタルプローブの最大数」

モデル内のデジタルプローブの最大数

整数

「アナログプローブの最大数」

モデル内のアナログプローブの最大数

整数

「Can FDポート」

利用可能なスコープデジタルチャンネルの数

整数

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_hw_info ( )

接続されている HIL ユニットのハードウェア情報を取得します。

注記

この関数は、モデルがロードされた後に呼び出された場合にのみ、接続された HIL デバイスに関する情報を返します。

戻り値:

タプル(製品ID, デバイスID, 構成ID,

ファームウェアのリリース)。

エラーが発生した場合 なし 代わりに返されます。
  • 製品ID (str): 「HIL402、HIL604…」という形式の製品ID。

  • デバイスID (int): HILデバイスID。

  • 構成 ID (int): HIL 構成 ID。

  • ファームウェアのリリース日 (str): ファームウェアのリリース日

    「年-月-日」形式。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

(製品ID デバイスID 構成ID  fwReleaseDate ) = hil . get_hw_info ()
get_flag_status (フラグ,デバイス= 0 )

HIL デバイスから指定されたフラグのステータスを読み取り、返します。

パラメータ:
  • flag ( str ) – ステータスを読み取りたいフラグの名前。

  • device ( int ) – どのデバイスからフラグを読み取るかを指定します。

サポートされているフラグとその説明を以下に示します。

フラグ定数

説明

FL_算術オーバーフロー

シミュレーション対象モデルの一部の値がHILデバイスの数値範囲外であったことを示します。これにより、モデルの動作が不安定になる可能性があります。

FL_DEAD_TIME

ゲート ドライブのデジタル入力によって生じた位相遅れによるシュートスルー状態を示します。

FL_シリアルリンク

HIL デバイス間のシリアル リンクがダウンしていることを示します。

FL_COMP_INT_オーバーラン

SP 計算時間が予約された時間スロットを超えたことを示します。

FL_SP_CPU_STALLED

実行中に SP CPU が停止していることを示します。

FL_SP_EXC_OCCURRED

システム CPU またはユーザー CPU のいずれかで実行されている生成されたコードによって例外がスローされたことを示します。

FL_PSU_ステータス

外部で利用可能な電源出力のステータスを示します。

戻り値:

真実 フラグが立てられている場合は、そうでない場合は 間違いエラーが発生した場合は、適切なメッセージが表示され、 なし 返されます。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # デッドタイム違反フラグのステータスを取得するdtv_flag = hil . get_flag_status ( hil . FL_DEAD_TIME )
get_sources ( )

モデル内のすべての独立した電圧/電流源のリストを返します。

戻り値:

すべてが正常であれば HIL デバイスごとにグループ化されたソース名のリストが返され、そうでない場合は空のリストが返されます。

注記

返されるリストは次の形式になります: [[デバイス 0 のソース], [デバイス 1 のソース], …[デバイス N のソース]] ([デバイス N のソース] は [source_1_name, source_2_name, … source_n_name])

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil #ロードされたモデル内のすべてのソース名のリストを取得するsources = hil.get_sources ( )
get_pvs ( )

モデル内のすべての太陽光発電パネルのリストを返します。

戻り値:

すべてが OS の場合は HIL デバイスごとにグループ化された pvs 名のリスト。それ以外の場合は空のリストを返します。

注記

返されるリストは次の形式になります: [[device 0 pvs], [device 1 pvs], …[device N pvs]] ここで、[device N pvs]は[pvs_1_name, pvs_2_name, … pvs_n_name]です

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされモデル内のすべてのpvs名リストを取得します。pvs = hil.get_pvs ()
get_analog_signals ( )

モデル内のすべてのアナログ信号のリストを返します。

戻り値:

すべてが正常であれば HIL デバイスごとにグループ化されたアナログ信号名のリスト。それ以外の場合は空のリストを返します。

注記

返されるリストは次の形式になります: [[デバイス 0 アナログ信号], [デバイス 1 アナログ信号], … [デバイス N アナログ信号]]。ここで、[デバイス N アナログ信号] は [a_sig_1_name, a_sig_2_name, … a_sig_n_name] です。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのアナログ信号名のリストを取得しますanalogSignals = hil . get_analog_signals ()
get_digital_signals ( )

モデル内のすべてのデジタル信号のリストを返します。

戻り値:

すべてが正常であれば HIL デバイスごとにグループ化されたデジタル信号名のリスト。それ以外の場合は空のリストを返します。

注記

返されるリストは次の形式になります: [[デバイス 0 デジタル信号], [デバイス 1 デジタル信号], … [デバイス N デジタル信号]] ここで、[デバイス N デジタル信号] は [d_sig_1_name, d_sig_2_name, … d_sig_n_name] です

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのデジタル信号名のリストを取得します。digitalSignals = hil . get_digital_signals ()
get_streaming_analog_signals ( )

モデル内のすべてのストリーミング アナログ信号のリストを返します。

戻り値:

HIL別にグループ化されたストリーミングアナログ信号名

すべてが正常であればデバイスを返し、そうでない場合は空のリストを返します。

戻り値の型:

信号(リスト)

注記

返されるリストは次の形式になります。

[[デバイス0 アナログ信号のストリーミング],

[デバイス 1 ストリーミングアナログ信号]、…、[デバイス N ストリーミングアナログ信号]]

ここで、[デバイスNのアナログ信号のストリーミング]は[a_sig_1_name、a_sig_2_name、…a_sig_n_name]です

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのストリーミングアナログ信号名のリストを取得します。streaming_analog_signals = hil . get_streaming_analog_signals ( )
get_streaming_digital_signals ( )

モデル内のすべてのストリーミング デジタル信号のリストを返します。

戻り値:

すべてが正常であれば、HIL デバイスごとにグループ化されたストリーミング デジタル信号名のリストが返され、そうでない場合は空のリストが返されます。

戻り値の型:

信号(リスト)

注記

返されるリストは次の形式になります。

[[デバイス0ストリーミングデジタル信号],

[デバイス 1 ストリーミング デジタル信号]、…、[デバイス N ストリーミング デジタル信号]]

ここで、[デバイスNのデジタル信号をストリーミング]は[d_sig_1_name、d_sig_2_name、…d_sig_n_name]です

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのストリーミングデジタル信号名のリストを取得します。streaming_digital_signals = hil . get_streaming_digital_signals ()
get_contactors ( )

モデル内のすべてのコンタクタのリストを返します。

戻り値:

すべてが正常であれば HIL デバイスごとにグループ化されたコンタクタ名のリストが返され、そうでない場合は空のリストが返されます。

注記

返されるリストは次の形式になります: [[デバイス 0 コンタクタ], [デバイス 1 コンタクタ], [デバイス N コンタクタ]] ([デバイス N コンタクタ] は [cont_1_name, cont_2_name, … cont_n_name])

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべての接触器名のリストを取得しますcontactors = hil . get_contactors ()
get_machines ( )

モデル内のすべてのマシンのリストを返します。

戻り値:

すべてが正常であれば HIL デバイスごとにグループ化されたマシン名のリストが返され、そうでない場合は空のリストが返されます。

注記

返されるリストは次の形式になります: [[デバイス 0 マシン], [デバイス 1 マシン], …[デバイス N マシン]] ([デバイス N マシン] は [mch_1_name, mch_2_name, … mch_n_name])

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのマシン名のリストを取得します。 machines = hil . get_machines ()
get_pe_switching_blocks ( )

モデル内のすべてのソフトウェア制御可能なパワー エレクトロニクス スイッチング ブロックのリストを返します。

戻り値:

すべてが正常であれば、HIL デバイスごとにグループ化されたソフトウェア制御可能なパワー エレクトロニクス スイッチング ブロック名のリスト。それ以外の場合は空のリストを返します。

注記

返されるリストは次の形式になります: [[デバイス 0 sw_blocks], [デバイス 1 sw_blocks], …[デバイス N sw_blocks]] ここで、[デバイス N sw_blocks] は [swch_1_name, swch_2_name, … swch_n_name] です

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのスイッチングブロック名のリストを取得します。switchingBlocks = hil . get_pe_switching_blocks ()
get_scada_inputs ( )

モデル内のすべての SCADA 入力のリストを返します。

戻り値:

すべてが正常であれば、HIL デバイスごとにグループ化された SCADA 入力名のリストが返されます。それ以外の場合は、空のリストが返されます。

注記

返されるリストは次の形式になります: [[デバイス 0 scada_inputs], [デバイス 1 scada_inputs], …, [デバイス N scada_inputs]] (ここで、[デバイス N scada_inputs] は [scada_input_1_name, scada_input_2_name, … scada_input_n_name] です)

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのSCADA入力名のリストを取得します。scada_inputs = hil . get_scada_inputs ()
get_scada_outputs ( )

モデル内のすべての SCADA 出力のリストを返します。

戻り値:

すべてが正常であれば、HIL デバイスごとにグループ化された SCADA 出力名のリストが返されます。それ以外の場合は、空のリストが返されます。

注記

返されるリストは次の形式になります: [[デバイス 0 scada_outputs], [デバイス 1 scada_outputs], …, [デバイス N scada_outputs]] (ここで、[デバイス N scada_outputs] は [scada_output_1_name, scada_output_2_name, … scada_output_n_name] です)

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # ロードされたモデル内のすべてのSCADA出力名のリストを取得します。scada_outputs = hil . get_scada_outputs ()
get_source_settings (名前)

指定された名前のソースの設定パラメータを返します。

パラメータ:

name ( str ) – ソースの名前

戻り値:

ソース設定の辞書または なし 指定された名前のソースが見つからない場合。

辞書キー

意味

価値

「ソースタイプ」

ソースの種類

文字列(「1相電源」、「2相電源」、または「3相電源」)

「入力タイプ」

ソース入力の種類

文字列(「任意」、「定数」、または「正弦」)

「スケーリング値」

ソーススケーリング値

フロート

に応じて ソースタイプ そして 入力タイプ追加の設定パラメータは次のとおりです。

  • 電源 ソース

    • 任意 入力タイプ

      辞書キー

      意味

      価値

      "ファイル"

      波形ファイルへのフルパス

    • 絶え間ない 入力タイプ

      辞書キー

      意味

      価値

      "価値"

      定数値

      フロート

    • 正弦 入力タイプ

      辞書キー

      意味

      価値

      「rms」

      信号RMS値

      フロート

      "頻度"

      信号周波数

      フロート

      "段階"

      信号位相

      フロート

      「ハーモニクスアクティブ」

      倍音はアクティブですか?

      ブール

      「ハーモニクス」

      絶対単位で定義された高調波のリスト

      リスト[(harmonic_number_1,rms_1,phase_1),…(harmonic_number_n,rms_n,phase_n)]。

      「ハーモニクス_pu」

      相対単位で定義された高調波のリスト

      リスト [(高調波数1,rms_pu_1,位相1),…(高調波数n,rms_pu_n,位相n)]

  • 電源 そして 電源 ソースタイプには

    同じ設定パラメータは、 電源正弦 入力タイプが使用される

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# 高調波のリストharmonics_pu = [] # 高調波設定を含むタプル# (harmonic_number,rms,phase) harmonic1 = ( 3 , 0.1 , 0 ) harmonic2 = ( 5 , 0.05 , 90 ) harmonic3 = ( 7 , 0.03 , 270 ) # 高調波を保存harmonics_pu.append ( harmonic1 ) harmonics_pu.append ( harmonic2 ) harmonics_pu.append ( harmonic3 ) # 3相ソースを設定hil.set_source_sine_waveform ( " Vb " , rms = 250 , frequency = 50 , phase = 120 , harmonics_pu = harmonics_pu ) #ソース設定パラメーター取得source_settings = hil . get_source_settings ( "Vb" ) # 辞書からパラメータを展開しますsource_type = source_settings [ "source_type" ] input_type = source_settings [ "input_type" ] rms = source_settings [ "rms" ] Frequency = source_settings [ "frequency" ] Phase = source_settings [ "phase" ] harmonics_active = source_settings [ "harmonics_active" ] harmonics = source_settings [ "harmonics" ] harmonics_pu = source_settings [ "harmonics_pu" ]
get_pv_panel_settings (名前)

指定された名前の PV パネルの設定パラメータを返します。

パラメータ:

name ( str ) – PVパネルの名前

戻り値:

PVパネルの設定を含む辞書、または なし PVパネルが

指定された名前が見つかりません。

辞書キー

意味

価値

"ファイル"

PVパネル初期化ファイルへのフルパス(古い.ipvまたは新しい.ipvx)

"照明"

PVパネルの照度値

フロート

"温度"

PVパネルの温度値

フロート

「isc」

PVパネルの現在のスケーリング係数値 | float

「ヴォーク」

PVペインの電圧スケーリング係数値 | float

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# .ipvx PV ファイルを使用して PV を初期化し、初期の照度と温度の値を設定します。 status = hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/Jinko_JKM200M-72.ipvx" , illuminate = 1000.0 , temperature = 25.0 ) # または、IV 正規化ジェネレーターにこれを使用します。 status = hil . set_pv_input_file ( "PV_panel" , file = r "./examples/inputs/photovoltaics/IV_Normalized.ipvx" , isc = 10.0 , voc = 25.0 ) # PV パネル設定パラメーターを取得しますpv_settings = hil . get_pv_panel_settings ( "PV_panel" ) # 辞書からパラメータを展開しますpv_file = pv_settings [ "file" ] illuminate = pv_settings [ "illumination" ] temperature = pv_settings [ "temperature" ] voc = pv_settings [ "voc" ] isc = pv_settings [ "isc" ]
get_machine_settings (名前)

指定された名前のマシンの設定パラメータを返します。

パラメータ:

name ( str ) – マシンの名前

戻り値:

機械設定の辞書または なし 指定された名前のマシンが見つからない場合。

辞書キー

意味

価値

「ロードソース」

機械トルク負荷源

文字列(「ソフトウェア」または「外部」)

「ロードタイプ」

機械負荷タイプ

文字列(「トルク」または「速度」)

「外部トルクタイプ」

機械外部トルク負荷タイプ

弦(「摩擦」または「潜在的」)

"スピード"

機械速度

フロート

「定数トルク」

機械定常負荷トルク

フロート

「定数トルク型」

機械定荷重トルク型

弦(「摩擦」または「潜在的」)

「リニアトルク」

機械の直線負荷トルク係数

フロート

「スクエアトルク」

機械の二乗負荷トルク係数

フロート

「初期角度」

機械初期角度

フロート

「初期速度」

機械の初期速度

フロート

「inc_encoder_offset」

機械インクリメンタルエンコーダオフセット

フロート

「sin_encoder_offset」

機械の正弦波エンコーダとレゾルバのオフセット

フロート

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# initialize the machine
hil.set_machine_load_source(name="machine 1", software=True)
hil.set_machine_load_type(name="machine 1", torque=True)
hil.set_machine_constant_torque(name="machine 1", value=2.5)
hil.set_machine_constant_torque_type(name="machine 1", frictional=True)
hil.set_machine_linear_torque(name="machine 1", value=5.0)
hil.set_machine_square_torque(name="machine 1", value=6.0)
hil.set_machine_initial_angle(name="machine 1", angle=3.14)
hil.set_machine_initial_speed(name="machine 1", speed=100.0)
hil.set_machine_encoder_offset(name="machine 1", offset=3.14)
hil.set_machine_sin_encoder_offset(name="machine 1", offset=1.57)

# get the machine settings parameters
machine_settings = hil.get_machine_settings("machine 1")

# unpack the parameters from the dictionary
load_source = machine_settings["load_source"]
load_type = machine_settings["load_type"]
external_torque_type = machine_settings["external_torque_type"]
speed = machine_settings["speed"]
constant_torque = machine_settings["constant_torque"]
constant_torque_type = machine_settings["constant_torque_type"]
linear_torque = machine_settings["linear_torque"]
square_torque = machine_settings["square_torque"]
initial_angle = machine_settings["initial_angle"]
initial_speed = machine_settings["initial_speed"]
inc_encoder_offset = machine_settings["inc_encoder_offset"]
sin_encoder_offset = machine_settings["sin_encoder_offset"]
get_pe_switching_block_settings (ブロック名= ''スイッチ名= '' )

指定されたパワーエレクトロニクス スイッチング ブロック内の単一スイッチの設定パラメータを返します。

パラメータ:
  • blockName ( str ) – パワーエレクトロニクススイッチングブロックの名前。

  • switchName ( str ) – スイッチの名前。

戻り値:

スイッチ設定の辞書、または なし 指定された名前のスイッチが見つからない場合。

辞書キー

意味

価値

「ソフトウェア制御対応」

パワーエレクトロニクススイッチングブロック内の単一スイッチのソフトウェアモードはアクティブですか?

ブール値

「ソフトウェア価値」

パワーエレクトロニクススイッチングブロック内の単一スイッチの状態

整数

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# スイッチング ブロックを初期化しますhil . set_pe_switching_block_control_mode ( blockName = "3ph_inverter 1" , switchName = "Sa_top" , swControl = True ) hil . set_pe_switching_block_software_value ( blockName = "3ph_inverter 1" , switchName = "Sa_top" , value = 1 ) # スイッチ設定パラメータを取得しますswitch_settings = hil . get_pe_switching_block_settings ( blockName = "3ph_inverter 1" , switchName = "Sa_top" ) # ディクショナリからパラメータを展開しますsoftware_control_enabled = switch_settings [ "software_control_enabled" ] software_value = switch_settings [ "software_value" ]
get_contactor_settings (名前)

指定された名前のコンタクタの設定パラメータを返します。

パラメータ:

name ( str ) – 連絡先の名前

戻り値:

接触器の設定を含む辞書、または なし 指定された名前の連絡先が見つからない場合。

辞書キー

意味

価値

「ソフトウェア制御対応」

コンタクタソフトウェア制御モードはアクティブですか?

ブール値

「ソフトウェア価値」

コンタクタソフトウェアの状態

文字列(「開封済み」または「開封済み」)

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# コンタクタを初期化しますhil . set_contactor_control_mode ( 'contactor_disch' , swControl = True , swState = True ) # コンタクタ設定パラメータを取得しますcontactor_settings = hil . get_contactor_settings ( 'contactor_disch' ) # ディクショナリからパラメータを展開しますsoftware_control_enabled = contactor_settings [ "software_control_enabled" ] software_value = contactor_settings [ "software_value" ]
get_analog_output_settings (チャンネル,デバイス= 0 )

アナログ出力チャネルの設定パラメータを返します。

パラメータ:
  • チャンネル( int ) – アナログ出力チャンネル番号

  • device ( int ) – 目的のアナログ出力チャネルが属するHILデバイスID

戻り値:

アナログ出力チャンネル設定の辞書、または なし アナログ出力チャンネルが見つからない場合。

辞書キー

意味

価値

「シグナル名」

割り当てられたアナログ信号名

文字列または信号が割り当てられていない場合はNone

"スケーリング"

スケーリング値

フロート

"オフセット"

オフセット値

フロート

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# アナログ出力チャンネルを初期化しますhil.set_analog_output ( 1 , " V(V0)" , scaling = 100 , offset = 0 , device = 0 ) #アナログ出力設定パラメータを取得しますchannel_settings = hil.get_analog_output_settings ( channel = 1 , device = 0 ) #辞書からパラメータを展開しますsignal_name = channel_settings [ " signal_name" ] scaling = channel_settings [ "scaling" ] offset = channel_settings [ "offset" ]
get_digital_output_settings (チャンネル,デバイス= 0 )

デジタル出力チャネルの設定パラメータを返します。

パラメータ:
  • チャンネル( int ) – デジタル出力チャンネル番号

  • device ( int ) – 目的のデジタル出力チャネルが属するHILデバイスID

戻り値:

デジタル出力チャンネル設定の辞書、または なし デジタル出力チャンネルが見つからない場合。

辞書キー

意味

価値

「シグナル名」

割り当てられたデジタル信号名

「反転」

デジタル出力は反転していますか?

ブール値

「ソフトウェア制御対応」

ソフトウェア制御モードはアクティブですか?

ブール値

「ソフトウェア価値」

デジタル出力ソフトウェア定義値

整数

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# デジタル出力チャンネルを初期化しますhil . set_digital_output ( 1 , name = 'machine encoder A' , invert = False , swControl = False , value = 0 ) # デジタル出力設定パラメータを取得しますchannel_settings = hil . get_digital_output_settings ( channel = 1 , device = 0 ) # ディクショナリからパラメータを展開しますsignal_name = channel_settings [ "signal_name" ] inverted = channel_settings [ "inverted" ] software_control_enabled = channel_settings [ "software_control_enabled" ] software_value = channel_settings [ "software_value" ]
get_cp_input_settings ( cpCategory , cpGroup , cpInputName )

コントロール パネル入力 (CP 入力) の設定パラメータを返します。

注記

この機能はまもなく廃止されます。 get_scada_input_settings() その代わり。

パラメータ:
  • cpCategory ( str ) – CP入力カテゴリ名

  • cpGroup ( str ) – CP入力グループ名

  • cpInputName ( str ) – CP入力名

戻り値:

CP入力設定の辞書、または なし CP 入力が見つからない場合。

辞書キー

意味

価値

「入力値」

コントロールパネルの入力値

intまたはfloat

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# CP入力を初期化しますhil . set_cp_input_value ( 'Power load/source' , "Sconst1" , 'Pref' , 32.00 ) # CP入力設定パラメータを取得しますcp_input_settings = hil . get_cp_input_settings ( 'Power load/source' , "Sconst1" , 'Pref' ,) # ディクショナリからパラメータを展開しますinput_value = cp_input_settings [ "input_value" ]
get_scada_input_settings ( scadaInputName )

SCADA 入力の設定パラメータを返します。

パラメータ:

scadaInputName ( str ) – SCADA入力名

戻り値:

  • SCADA入力設定の辞書、または なし もし

    SCADA 入力が見つかりません。

    辞書キー

    意味

    価値

    ”入力値”

    SCADA入力値

    intまたはfloat

    「最小値」

    最小許容値

    intまたはfloat

    「最大値」

    最大許容値

    intまたはfloat

    「デフォルト値」

    デフォルト値

    intまたはfloat

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

# SCADA入力を初期化しますhil . set_scada_input_value ( "Sconst1.Pref" , 32.00 ) # SCADA入力設定パラメータを取得しますscada_input_settings = hil . get_scada_input_settings ( "Sconst1.Pref" ) # 辞書からパラメータを展開しますinput_value = scada_input_settings [ "input_value" ]
get_hil_serial_number ( )

接続されているすべての HIL デバイスのシリアル番号を返します。

注記

シリアル番号は、HILデバイスIDでソートされたリストとして返されます: [device_with_id_0_serial, device_with_id_1_serial, … device_with_id_N_serial]

注記

同じデバイスIDを持つ複数のHILデバイスが接続されている場合、返されるリストはソートされません。

戻り値:

  • HILデバイスIDでソートされたシリアル番号のリスト。

    エラーが発生した場合、空のリストが返されるか、適切な例外が発生します。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

例:

輸入 typhoon.api.hil として hil # 接続されているすべてのHILのシリアル番号のリストを取得しますserialNumbers = hil . get_hil_serial_number ()
get_ns_var ( var_name )

回路図エディタの名前空間変数の値を返します。 変数名.

パラメータ:

var_name ( str ) – 名前空間変数名。

戻り値:

変数に格納されたデータ 変数名 または なし 名前の変数が 変数名 見つからないかエラーが発生した場合。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_ns_vars ( )

回路図エディタの名前空間内のすべての変数の名前を取得します。

戻り値:

名前空間内のすべての変数名のリスト、または なし エラーが発生した場合。

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_data_logger_status (名前)

指定されたデータロガーのステータスを返します 名前.

パラメータ:

name ( str ) – ステータスを取得するデータロガーの名前。

戻り値:

(ステータス、ステータスメッセージ) ここで 状態 できる

真実 または 間違い すべてが正常であるか、何らかのエラーが発生しているかによって異なります。

戻り値の型:

ステータス(タプル)

get_model_file_path ( )

ロードされた HIL モデル ファイル パスを返します。

戻り値:

読み込まれた .cpd ファイルへのフルパス。

モデルがロードされていない場合 なし 返されます。

戻り値の型:

パス (文字列または None)

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

get_sp_monitors_values ( )

ロードされたモデル内のすべての SP モニターの値とその他の情報 (現在の値、最大達成値、CPU ストール フラグの状態など) を返します。

戻り値:

エラーが発生した場合、または sp モニターのデータが次のように構成されている場合はなし:

[
    {
        # ("System CPU", "User 'Nth' CPU", "Communication CPU")
        "SP Monitor type": "System CPU",

        # [0 , (number_of_device-1)]
        "HIL Device": 0,

        # (True, False)
        "CPU Stalled": False,

        "Execution rates": [
            {
                # execution rate value
                "Execution rate": 1e-5,

                # [0%, 100%]
                "Current value": 56.8,

                # [0%, 100%]
                "Maximum achieved": 80
            },
            {
                # another execution rate data
            }
        ]
    },

    {
        # another SP Monitor data
    }
]

戻り値の型:

spモニターのデータ(リスト)

可用性:
  • スタンドアロンスクリプト

  • マクロスクリプト

  • 信号監視式

利用可能なソース( )

モデル内のすべての独立した電圧/電流源のリストを表示します。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト

利用可能なpvs ( )

モデル内のすべての太陽光発電パネルのリストを表示します。

注記

この関数は非推奨であり、HIL API から削除されます。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト

利用可能なアナログ信号

モデル内のすべてのアナログ信号のリストを表示します。

注記

この関数は非推奨であり、HIL API から削除されます。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト

利用可能なデジタル信号

デジタル出力に割り当てることができるすべてのデジタル信号のリストを表示します。

注記

この関数は非推奨であり、HIL API から削除されます。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト

利用可能な接触者( )

モデル内のすべてのコンタクタのリストを表示します。

注記

この関数は非推奨であり、HIL API から削除されます。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト

利用可能なマシン( )

モデル内のすべてのマシンのリストを表示します。

注記

この関数は非推奨であり、HIL API から削除されます。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト

利用可能なpeスイッチングブロック

モデル内のすべてのソフトウェア制御可能なパワー エレクトロニクス スイッチング ブロックのリストを表示します。

注記

この関数は非推奨であり、HIL API から削除されます。

戻り値:

真実 すべてが正常であれば、そうでなければ 間違い.

可用性:
  • スタンドアロンスクリプト