public TankControlSystem(double dt) : base() { DT = dt; Valve = 0; InputStream = SystemSettings.MaxInputStream; OutputStream = SystemSettings.MaxOutputStream; OutputGain = 0.2; m_withoutHitBlock = new AperiodicBlock(dt, SystemSettings.T); var blocks = new Queue <IBlock>(); blocks.Enqueue(new DelayBlock(dt, SystemSettings.Delay)); blocks.Enqueue(new AperiodicBlock(DT, SystemSettings.T)); blocks.Enqueue(new GainBlock(SystemSettings.T)); blocks.Enqueue(new InterferenceBlock(SystemSettings.Interference)); Object = new ComplexBlock(blocks); Regulator = new PIDRegulator(dt); }
public BarrelControlSystem(double dt) : base() { DT = dt; InputStream = 0; InputStreamBlock = new GainBlock(SystemSettings.Gain); m_withoutHitBlock = new AperiodicBlock(dt, SystemSettings.TForValve); var blocks = new Queue <IBlock>(); blocks.Enqueue(new DelayBlock(dt, SystemSettings.Delay)); blocks.Enqueue(new IntegralBlock(dt)); blocks.Enqueue(new InterferenceBlock(SystemSettings.Interference)); Object = new ComplexBlock(blocks); Regulator = new PIDRegulator(dt); }
public ObjectModel(double k, double T1, double T2, double delayTime, double noize, double dt) { K10 = new GainBlock(k); K11 = new GainBlock(k); K12 = new GainBlock(k); K13 = new GainBlock(k); K14 = new GainBlock(k); K15 = new GainBlock(k); AperiodicBlockZ1 = new AperiodicBlock(T1, dt); AperiodicBlockZ2 = new AperiodicBlock(T2, dt); Z2Delay = new DelayBlock(delayTime, dt); Z2Noize = new NoizeBlock(noize); Z1Delay = new DelayBlock(delayTime, dt); Z1Noize = new NoizeBlock(noize); }