// Request ---- // UInt32 : MotorID // Response ---- // UInt32 : MotorID // UInt32 : Position 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.Printing; using Tango.PMR.Diagnostics; using Tango.PMR.Stubs; using Tango.Stubs; public void OnExecute(StubManager stubManager) { // Request ---- // Double : A // Double : B // Response ---- // Double : Sum //var response1 = stubManager.Run("CalculateRequest" ,6, 7); JobRequest jobRequest = new JobRequest(); JobTicket jobTicket = new JobTicket(); jobTicket.Name = "Stubs Job"; jobTicket.EnableInterSegment = false; jobTicket.InterSegmentLength = 50; jobTicket.Length = 1000; ProcessParameters processParameters = new ProcessParameters(); // SPEEED processParameters.DyeingSpeed = 20; // HEAT processParameters.DryerZone1Temp = 100; processParameters.MixerTemp = 0; processParameters.DryerBufferLength = 20; processParameters.MinInkUptake = 0; processParameters.HeadZone1Temp = 0; processParameters.HeadZone2Temp = 0; processParameters.HeadZone3Temp = 0; processParameters.DryerZone2Temp = 0; processParameters.DryerZone3Temp = 0; processParameters.FeederTension = 0; processParameters.PullerTension = 0; processParameters.WinderTension = 0; processParameters.HeadAirFlow = 0; processParameters.DryerAirFlow = 0; processParameters.TableIndex = 0; jobTicket.ProcessParameters = processParameters; jobTicket.WindingMethod = Tango.PMR.Printing.JobWindingMethod.Embroidery; JobSpool jobSpool = new JobSpool(); jobSpool.JobSpoolType = Tango.PMR.Printing.JobSpoolType.StandardSpool; jobSpool.Length = 800; jobSpool.Weight = 0; jobSpool.Diameter = 3.0; jobSpool.StartOffsetPulses = 250; jobSpool.BackingRate = 10; jobSpool.SegmentOffsetPulses = 750; jobSpool.BottomBackingRate = 70; jobSpool.RotationsPerPassage = 3; jobTicket.Spool = jobSpool; JobSegment jobSegment = new JobSegment(); jobSegment.Name = "Segment1"; // LENGTH jobSegment.Length = 30.0; JobBrushStop jobBrushStop = new JobBrushStop(); jobBrushStop.Index = 0; jobBrushStop.OffsetPercent = 0; jobBrushStop.OffsetMeters = 0; JobDispenser jobDispenser = new JobDispenser(); jobDispenser.Index = 6; jobDispenser.Volume = 10; jobDispenser.DispenserStepDivision = Tango.PMR.Printing.DispenserStepDivision.Auto; jobDispenser.NanolitterPerSecond = 500; jobDispenser.NanoliterPerCentimeter = 10; jobDispenser.PulsePerSecond = 0; jobDispenser.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan; jobDispenser.LiquidMaxNanoliterPerCentimeter = 40; jobDispenser.NanoliterPerPulse = 2.4; jobBrushStop.Dispensers.Add(jobDispenser); jobSegment.BrushStops.Add(jobBrushStop); jobTicket.Segments.Add(jobSegment); jobRequest.JobTicket = jobTicket; var response = stubManager.Run(jobRequest); int i=0; /*stubManager.WriteLine("data.data length = " + jobRequest.CalculateSize()); */ stubManager.RunContinuous(jobRequest,(response1) => { stubManager.WriteLine (String.Format("Data, {0}, {1} meters, {2}",++i,response1.Status.Progress*jobSegment.Length,response1.Status.Message)); }); /* stubManager.RunContinuous(request, (response) => { stubManager.WriteLine(response.Progress); }); */ //int i=0; /*stubManager.RunContinuous("StubHeatingTestPollRequest",(response1) => { // stubManager.WriteLine (String.Format("Data, {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}",++i,response1.Zone1Temp,response1.Zone2Temp,response1.Heater1Active,response1.Heater2Active,response1.Heater1Percentage,response1.Heater2Percentage,response1.InfoMessage)); stubManager.WriteLine (String.Format("Data, Id {0}, Id {1}, Temp {2}, % {3}, Active {4}, {5}",++i,response1.Zone1Temp,response1.Zone2Temp,response1.Heater1Percentage,response1.Heater1Active,response1.InfoMessage)); },0); /*StartDiagnosticsRequest startDiagnosticsRequest = new StartDiagnosticsRequest(); //stubManager.RunContinuous(startDiagnosticsRequest,(response1) => stubManager.RunContinuous(startDiagnosticsRequest,(response1) => { stubManager.WriteLine (String.Format("Data, {0}, H1 {1}, H2{2}, H3 {3}, D1 {4}, D2 {5}",++i,response1.Monitors.HeadZone1Temperature[0],response1.Monitors.HeadZone2Temperature[0],response1.Monitors.HeadZone3Temperature[0],response1.Monitors.DryerZone1Temperature[0],response1.Monitors.DryerZone2Temperature[0])); stubManager.WriteLine (String.Format("Data, {0}, DR {1}, DM{2}, DL {3}, Feeder {4}",++i,response1.Monitors.Dancer1Angle[0],response1.Monitors.Dancer2Angle[0],response1.Monitors.Dancer3Angle[0],response1.Monitors.FeederMotorFrequency[0])); },0); */ }