Code covered by the BSD License  

Highlights from
Bond graph add-on block library BG V.2.1

image thumbnail
from Bond graph add-on block library BG V.2.1 by Gert-Helge Geitner
Block library enables the graphical programming of Bond Graphs using standard Simulink and editor.

BGV2_Steu(Fnr,Par1,Par2,Par3)
function BGV2_Steu(Fnr,Par1,Par2,Par3)
%Erweiterungsbibliothek Bondgraph V.20
%Steuerfunktion fr Einstellung der Blcke

FT00='BGV2_Steu';
FT01='False Function number detected!';

%Allgemeine Funktionen
if     Fnr==01, BGV2_EA_AU(Par1,Par2,Par3);   %Ausgang Freigeben / Sperren
elseif Fnr==02, BGV2_EA_PA(Par1,Par2,Par3);   %Parameter tuning

%Speziellen Blcken zugeordnete Funktionen
elseif Fnr==10, BGV2_SD;              %SD: Source/Destination + E/F mit ext/int
elseif Fnr==11                        %SD:
       BGV2_EA_PA(Par1,Par2,Par3);    %           Parameter tuning
       BGV2_SD;                       % UND       S/D + E/F mit ext/int
elseif Fnr==12, BGV2_SDE;             %SD: Steuerung fr IC-Block

elseif Fnr==20, BGV2_RT;              %R-Element: Typ R/G
elseif Fnr==21, BGV2_RM;              %R-Element: Mult. - Vektor/Matrix
elseif Fnr==22                        %R-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %           Parameter tuning
       BGV2_RNL;                      % UND       Nicht-Linear Umschaltung
    
elseif Fnr==30, BGV2_ICT;             %I/C-Speicher: Typ I/C & int/diff
                                      % UND          ResetInt/BegrenzungDM

elseif Fnr==40, BGV2_TFT;             %TF-Element: Typ links bzw. rechts kausal
                BGV2_TFN;             % UND   NL-Umsch. / NL-VektMode: transpon. GL
elseif Fnr==41, BGV2_TFM;             %TF-Element - Skalar/Vektor
                BGV2_TFN;             % UND   NL-Umsch. / NL-VektMode: transpon. GL
elseif Fnr==42                        %TF-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %           Parameter tuning
       BGV2_TFN;                      % UND   NL-Umsch. / NL-VektMode: transpon. GL
elseif Fnr==43, BGV2_TFV              %TF:    NL "off": Vektor fr GL transponieren
elseif Fnr==44, BGV2_TFI;             %TF-Element - Invertierung des "Ausgangs"

elseif Fnr==50, BGV2_GYT;             %GY: Typ auen bzw. innen kausal
                BGV2_TFN;             % UND   NL-Umsch. / NL-VektMode: transpon. GL
elseif Fnr==51, BGV2_TFM;             %GY: TF-Element - Skalar/Vektor
                BGV2_TFN;             % UND   NL-Umsch. / NL-VektMode: transpon. GL
elseif Fnr==52                        %GY- wie TF-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %           Parameter tuning
       BGV2_TFN;                      % UND   NL-Umsch. / NL-VektMode: transpon. GL
elseif Fnr==53, BGV2_TFV              %GY:    NL "off": Vektor fr GL transponieren
elseif Fnr==54, BGV2_TFI;             %GY: TF-Element - Invertierung des "Ausgangs"
    
elseif Fnr==60, BGV2_KNT;             %KN: Typ --> 1-Knoten bzw. 0-Knoten
elseif Fnr==61, BGV2_KNZ;             %KN: Anzahl Ports zugefhrte Energie
elseif Fnr==62, BGV2_KNA;             %KN: Anzahl Ports abgefhrte Energie
elseif Fnr==63                        %KN:
       BGV2_EA_PA(Par1,Par2,Par3);    %           Parameter tuning
       BGV2_KNU;                      % UND Umsch. auf alternative Eingangsvariable
    
elseif Fnr==70                        %RF-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %            Parameter tuning
       BGV2_RF;                       % UND        Type F/E/M
elseif Fnr==71, BGV2_RF;              %RF-Element: I/O-Dimensionen
elseif Fnr==72                        %RF-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %            Parameter tuning
       BGV2_RFN;                      % UND        Nicht-Linear Umschaltung
elseif Fnr==73, BGV2_RFW;             %RF: Warnung bei Nutzung von W2~=1
    
elseif Fnr==80                        %ICF-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %            Parameter tuning
       BGV2_ICF;                      % UND        Type I/C & int/diff/mixed
elseif Fnr==81, BGV2_ICF;             %ICF-Element: I/O-Dimensionen
elseif Fnr==82                        %ICF-Element:
       BGV2_EA_PA(Par1,Par2,Par3);    %            Parameter tuning
       BGV2_ICN;                      % UND        ICN Nicht-Linear Umschaltung
elseif Fnr==90, BGV2_ABT;             %AB-Activated bond: Typ-Umschaltung

else   errordlg(FT01,FT00);
end

Contact us at files@mathworks.com