Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }