using System; using System.Text; using System.Linq; using System.Drawing; using System.Diagnostics; using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; using Tango.PMR.Hardware; using Tango.Stubs; public void OnExecute(StubManager stubManager) { StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest(); stubHeatingTestRequest.DryerZone1Temp = 0; stubHeatingTestRequest.DryerZone2Temp = 0; HardwarePidControl hardwarePidControl = new HardwarePidControl(); hardwarePidControl.OutputProportionalPowerLimit = 0.5; //Maximal additional power hardwarePidControl.OutputProportionalBand = 5; hardwarePidControl.DerivativeTime = 0; //Kd hardwarePidControl.SensorCorrectionAdjustment = 0; hardwarePidControl.SensorMinValue = 0; hardwarePidControl.SensorMaxValue = 0; hardwarePidControl.SetPointRampRateorSoftStartRamp = 100; //Ki divider hardwarePidControl.SetPointControlOutputRate = 0; hardwarePidControl.ControlOutputType = 0.001; ////Dt hardwarePidControl.SsrControlOutputType = 0; hardwarePidControl.OutputOnOffHysteresisValue = 100; //Kp divider hardwarePidControl.ProcessVariableSamplingRate = 10; hardwarePidControl.PvInputFilterFactorMode = 4; //averaging the readouts / number of samples hardwarePidControl.OutputProportionalCycleTime = 0; hardwarePidControl.AcHeatersHalfCycleTime = 0; hardwarePidControl.PidActive = false; hardwarePidControl.Epsilon = 0; hardwarePidControl.OutputOnOffHysteresisValue = 100; hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder; hardwarePidControl.IntegralTime = 8000; //Ki hardwarePidControl.ProportionalGain = 7000; //Kp stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl; StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest(); var response = stubManager.Run(stubHeatingTestRequest); }