Location : Home > Softwares > Fendi Title : Fendi Developper Documentation |
![]() |
Fendi Developper Documentation
原則
Fendi グラフィカルインタフェースにはシミュレーションエンジンと以下の2つのファイルでやりとりを行う。
シミュレーションプラグインはダイナミックライブラリ(dll)で書かれている。
これらのファイルは XML ファイルである。
datas.tmp ファイル
このファイルは3つの部分からなる。
コンポーネントフィールドはタグ <component> と </component> の間に記述する。
これらのタグの間に3つの固定フィールドがある。
これらの固定フィールドの後に、パラメータリストが続く。このリストはタグ <parameternumber> と </parameternumber> の間のパラメータ数(number of parameter)から始まる。この値は整数である。
このパラメータの後、各パラメータごとに3つのフィールドをもつパラメータリストが続く。
各ネットワークノードはタグ <netnode> と </netnode> の間に置かれる。これらのタグの間にはこのネットワークノードに接続されるコンポーネントのリストが置かれる。
各コンポーネントノードはタグ <node> と </node> の間に記述する。これらのタグの間には2つの固定フィールドがある。
例えば、 Exemple1AC.sch としてきわめて単純なネットワークを例にとると:
これに対応した datas.tmp ファイルは以下のようになる。
<?xml version='1.0' encoding='UTF16' standalone='yes'?> <component> <type>9</type>
</component><systemname>SourceAC0</systemname> <measure>False</measure> <parameternumber>2</parameternumber> <parametername>Tension</parametername> <parametertype>0</parametertype> <parametervalue>1</parametervalue> <parametername>Phase</parametername> <parametertype>0</parametertype> <parametervalue>0</parametervalue> <component> <type>5</type>
</component><systemname>Resistor0</systemname> <measure>False</measure> <parameternumber>1</parameternumber> <parametername>resistance</parametername> <parametertype>0</parametertype> <parametervalue>1</parametervalue> <component> <type>7</type>
</component><systemname>Ground0</systemname> <measure>False</measure> <parameternumber>0</parameternumber> <netnode> <node>
</netnode><component>SourceAC0</component>
</node><index>0</index> <node> <component>Resistor0</component>
</node><index>0</index> <netnode> <node>
</netnode><component>SourceAC0</component>
</node><index>1</index> <node> <component>Ground0</component>
</node><index>0</index> <node> <component>Resistor0</component>
</node><index>1</index> |
results.tmp ファイル
このファイルは3つの部分からなる。
コンポーネントシミュレーション結果はタグ <component> と </component> の間に記述する。
これらのタグの間にいくつかの固定フィールドがある。
これらの後に、表示に関する情報のリストが続く。このリストは情報の数で始まり、タグ <infosnumber> と </infosnumber> の間に記述される。値は整数である。このパラメータの後にそれぞれ3つのフィールドを持つ情報のリストが続く。
ネットワークシミュレーション家かはタグ <netnode> と </netnode> の間に記述される。フィールドはタイプ名及びシステム名が与えれていない場合を除きコンポーネントの場合と同じである。
例えば、 Exemple1AC.sch としてきわめて単純なネットワークを例として作成した results.tmp ファイルは以下のようになる。
<?xml version='1.0' encoding='UTF16' standalone='yes'?> <component> <type>9</type>
</component><systemname>SourceAC0</systemname> <infosnumber>1</infosnumber> <infoname>Current</infoname> <infotype>1</infotype> <infounit>A</infounit> <infovalue>1</infovalue> <infovalue>0</infovalue> <component> <type>5</type>
</component><systemname>Resistor0</systemname> <infosnumber>1</infosnumber> <infoname>Current</infoname> <infotype>1</infotype> <infounit>A</infounit> <infovalue>1</infovalue> <infovalue>0</infovalue> <netnode> <infosnumber>1</infosnumber>
</netnode><infoname>Voltage</infoname> <infotype>1</infotype> <infounit>V</infounit> <infovalue>1</infovalue> <infovalue>0</infovalue> <netnode> <infosnumber>1</infosnumber>
</netnode><infoname>Voltage</infoname> <infotype>1</infotype> <infounit>V</infounit> <infovalue>0</infovalue> <infovalue>0</infovalue> |
結果をグラフィカルインタフェースに転記すると以下のようになる。
シミュレーションプラグインのフォーマット
シミュレーションプラグインはダイナミックライブラリ(dll)である。これは8つの関数を含んでいなければならない。そのうちの主要な3つの関数は以下の通りである。
エンジンパラメータを構築するために Fendi グラフィカルインタフェースから呼び出される5つの関数は以下の通りである。
シミュレーションエンジンパラメータを設定するための関数がもう1つある。
関数の詳細は以下の通りである。
The execute function
function Execute:Boolean; begin; end;
計算が成功すれば True を返し、失敗すれば false を返す。
The AllowedComponent function
function AllowedComponent(Number:Integer):Boolean; begin; end;
入力の整数 Number はコンポーネントの型番号(後述のリストを見よ)である。プラグインがこのコンポーネントをシミュレートすることができれば True を、失敗すれば False を返さねばならない。
The GetErrorMsg function
function GetErrorMsg:PChar; begin; end;
Execute 関数が失敗した場合、この関数は対応するエラーメッセージを返さねばならない。
The GetParamCount function
function GetParamCount:Integer; begin; end;
シミュレーションエンジンが要求した場合、パラメータの数を返す。
The GetParamName function
function GetParamName(i:Integer):PChar; begin; end;
パラメータ番号 i に対応するパラメータの名称を返す。パラメータ番号の最初の値 0 である。
The GetParamUnit function
function GetParamUnit(i:Integer):PChar; begin; end;
パラメータ番号 i に対応するパラメータの単位を返す。パラメータ番号の最初の値 0 である。
The SetParamValue function
procedure SetParamValue(i:Integer;Value:Double); begin; end;
パラメータ番号 i に対応するパラメータの値を返す。パラメータ番号の最初の値 0 である。
The GetParamDefault function
function GetParamDefaultValue(i:Integer):Double; begin; end;
パラメータ番号 i に対応するパラメータのデフォルト値を返す。パラメータ番号の最初の値 0 である。詳しくはプラグイン例としての DC.dll 及び AC.dll を見よ。
コンポーネントのリスト
Type number | Component | Parameters |
4 | Capacitor | Capacitance (Farads) |
5 | Resistor | Resistance (Ohms) |
6 | DC Source | Voltage (Volts) |
7 | Ground | |
8 | Comment | |
9 | AC Source 2 nodes (1 Phase) | Voltage (Volts) Phase (Degrees) |
10 | Inductor | Inductance (Henry) |
11 | Transformer | Ratio (No units) |
12 | Inductive line | Xd=Xi (MilliHenry) X0 (MilliHenry) |
13 | 6 phases multipole | Resistance (Ohms) 6x6 table Inductance (Ohms) 6x6 table |
14 | 12 phases multipole | Resistance (Ohms) 12x12 table Inductance (Ohms) 12x12 table |
15 | AC source 6 nodes (3 Phases) | Voltage (Volts) Phase (Degrees) |
16 | Fault | Resistance (Ohms) Fault present (No units) boolean |
17 | Impedance measure | K0 (No units) |
18 | 3 phases impedance | Rd (Ohms) Xd (MilliHenry) Ri (Ohms) Xi (MilliHenry) R0 (Ohms) X0 (MilliHenry) |
19 | 3 phase fault | R1 (Ohms) R2 (Ohms) R3 (Ohms) Rg (Ohms) Fault present (No units) boolean |
20 | Resistive line | Xd=Xi (MilliHenry) Rd=Ri (Ohms) X0 (MilliHenry) R0 (Ohms) |
21 | 3 phases Transfer Function | Real part 6x6 table Complex part 6x6 table |
22 | N phases Transfer Function | Number of phases Real part NxN table Complex part NxN table |
23 | 3 phase shift transformer | Angle (Degrees) |
24 | 3 phases breaker | Open (No units) boolean |
25 | 3 winding transformer | Ratio (No units) |
26 | Single phase shift transformer | Angle (Degrees) |
27 | 3 phase shift transformer with impedances |
Angle (Degrees) Rd (Ohms) Xd (MilliHenry) Ri (Ohms) Xi (MilliHenry) R01 (Ohms) X01 (MilliHenry) R02 (Ohms) X02 (MilliHenry) R03 (Ohms) X03 (MilliHenry) |
28 | Load | Active Power (W) Reactive Power (Var) |
29 | 2 Nodes Line | Resistance (pu) Inductance (pu) Capacitance (pu) |
30 | 1 Node Source | Voltage (pu) Phase (Degrees) |
コンポーネントの追加
新規にコンポーネントを追加するには以下のような手順を踏めばよい。
パラメータでは表の大きさは整数にリンクされている。表のパラメータリンク値には整数のパラメータ値を設定しなければならない。この特徴はN相伝達関数(N phases Transfer Function)で用いられる。
![]() |
Updated : 2006/07/02 |