シミュレーションの演習のコード

BGSA3のコードを以下に示します。このコードは20-Sim用です。

BGSA3のコード

MSe
variables
	real flow;
equations
	p.e = effort;
	flow = p.f;

MSe1
variables
	real flow;
equations
	p.e = effort;
	flow = p.f;
Controller
// Created by C. Kleijn, 22 Sep 1999
parameters
	real K = 8.0 {};	// Proportional gain
	real Ti = 0.8 {s};	// Integral time constant (Ti > 0).
variables
	real error;
	real hidden uP,uI;
equations
	error = SP - MV;
	uP = K * error;
	uI = int (error * K / Ti );
	output = uP + uI;         
Gain
parameters
	real K =0.03070;		// gain
equations
	output = K * input;
I
parameters
	real i = 0.175;
equations
    state = int(p.e);
    p.f = state / i;
I1
parameters
	real i = 0.8;
equations
    state = int(p.e);
    p.f = state / i;
Limit
parameters
	real maximum = 220;
	real minimum = -1;
equations
	output = limit (input, minimum, maximum);
MGY
equations
	p1.e = r * p2.f;
	p2.e = r * p1.f;
MSe
variables
	real flow;
equations
	p.e = effort;
	flow = p.f;
MSe1
variables
	real flow;
equations
	p.e = effort;
	flow = p.f;
R
parameters
	real r = 0.875;
equations
	p.e = r * p.f;
R1
parameters
	real r = 0.066;
equations
	p.e = r * p.f;
Step
parameters
	real amplitude = 100;
	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);     
Step1
parameters
	real amplitude = -50;
	real start_time = 2.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);