シミュレーションの演習のコード
GS2.BGSのコードを以下に示します。このコードは BGSP用です。第1行の
BOND SYMBOL EXPR OUT DEFIN PARM INIT
はコードの一部ですから省略してはいけません。また、bgsPではカラム指定が厳格で1カラムでもずれるとエラーになります。また、許される文字は英数字、コロン(:)、スラッシュ(/)、加減乗算記号(+-*)、半角空白のみであり、制御文字が入るとエラーになります。倍角の空白はエラーを生じますが、ソースをプリントしても気づきにくいので注意が必要です。
GS2のコード
BOND SYMBOL EXPR OUT DEFIN PARM INIT SF1 1 ZJ -1 2 3 4 CI1 2 RE1 3 TF1 4 11 OJ -11 13 12 RE2 13 II1 12 / BC: P2 EF2 BC: V2 FL12 / SF1 PA: PS1 980.0 F=PS1 EOD CI1 PA: PC1 0.351 C=Z/PC1 EOD RE1 PA: PR1 11.6 R=Z/PR1 EOD TF1 PA: PT1 1.963D+03 TF=1/PT1 EOD II1 PA: PI1 100.0 L=Z/PI1 EOD RE2 PA: PR2 5.000D+03 R=PR2*Z EOD / 0.00D+00 0.10D+00 1.000D-05 1000 /
20-Simによるコード
Step Input parameters real amplitude = 980 ;//Servo Valve Flow 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); MSf variables real effort; equations p.f = flow; effort = p.e; C2 parameters real c = 0.351; equations state = int(p.f); p.e = state / c; R3 parameters real r = 11.6; equations p.f = p.e/r; TF parameters real r = 1.963e3; equations p1.e = p2.e/r; p2.f = p1.f/r; R13 parameters real r = 5.0e3; equations p.e = r * p.f; I12 parameters real i = 100; equations state = int(p.e); p.f = state / i;