シミュレーションの演習のコード
GS7.BGSのコードを以下に示します。このコードは BGSP用です。第1行の
BOND SYMBOL EXPR OUT DEFIN PARM INIT
はコードの一部ですから省略してはいけません。また、BGSPではカラム指定が厳格で1カラムでもずれるとエラーになります。また、許される文字は英数字、コロン(:)、スラッシュ(/)、加減乗算記号(+-*)、半角空白のみであり、制御文字が入るとエラーになります。倍角の空白はエラーを生じますが、ソースをプリントしても気づきにくいので注意が必要です。
GS7のコード
フィードバックのある場合のコード
BOND SYMBOL EXPR OUT DEFIN PARM INIT
SF1 11
ZJ -11 14 12 19
CI1 14
RE3 12
TF4 19 21
OJ -21 22 24
II6 24
RE5 22
/
BC: V-P EF14 PRESSURE IN VALVE
BC: PIS-P DP24 PISTON POSITION
BC: V24 FL24
BC: P13 EF14
BC: FP FL11
OP: DX CONTROL AMP
PA: PINPT 1.000D-02 INPUT COMMAND
PA: PGAIN 2.000D+01 AMP GAIN
FB: XXPP DP24 XDATA
RV: XXPV AMP OUTPUT
XXPV=(PINPT-XXPP)*PGAIN
OP=XXPV
EOD
/
SF1
PA: PFLCON 9.8D+02
RV: XXPV
F=PFLCON*XXPV
EOD
CI1
PA: PR1 0.351 VOLUME/BULK MODULOUS
C=Z/PR1
EOD
RE3
PA: PCLR 11.60D-00 RESISTANCE COEFFICIENT
R=Z/PCLR
EOD
TF4
PA: PL12 1.963D+03 TRANSFORMATION RATIO
TF=1/PL12
EOD
II6
PA: PMAS 100.0D-00 MASS
L=Z/PMAS
EOD
RE5
PA: PLR 5.0D03 FRICTION
R=PLR*Z
EOD
/
0.00 1.0D-00 1.00D-05 4000
/
20-Simによるシミュレーションのコード
Step1
parameters
real amplitude = 0.01;
real start_time = 0.0 {s};
variables
boolean hidden change;
equations
"calculate at least at the start time"
change = timeevent (start_time);
"calculate the step signal"
output = amplitude * step (start_time)
Gain
parameters
real K = 20; // gain
equations
output = K * input;
C2
parameters
real c = 0.351;
equations
state = int(p.f);
p.e = state / c;
R13
parameters
real r = 5.0e3;
equations
p.e = r * p.f;
TFA
parameters
real r = 1.963e3;
equations
p1.e = p2.e/r;
p2.f = p1.f/r;
MSf
variables
real effort;
equations
p.f = flow*980.0;
effort = p.e;
R3
parameters
real r = 11.6;
equations
p.f = p.e/r
I24
parameters
real i = 100;
equations
state = int(p.e);
p.f = state / i;
Integrate
parameters
real initial = 0; // initial value
equations
output = int (input, initial);
