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.Hardware; using Tango.PMR.Printing; using Tango.PMR.Stubs; using Tango.Stubs.UI; include "D:\stubs\addedfiles\ACHeatersDefinition.cs" include "D:\stubs\addedfiles\DCHeatersDefinition.cs" include "D:\stubs\addedfiles\DeskSystemThreadMotorsDefinition.cs" //include "D:\stubs\addedfiles\ThreadMotorsDefinition2.cs" public void OnExecute(StubManager stubManager) { Thread.Sleep(10); UploadHardwareConfigurationRequest uploadHardwareConfigurationRequest = new UploadHardwareConfigurationRequest(); HardwareConfiguration hardwareConfiguration = new HardwareConfiguration(); hardwareConfiguration.Motors.Add(FeederMotor); hardwareConfiguration.Motors.Add(WinderMotor); hardwareConfiguration.Motors.Add(DryerMotor); hardwareConfiguration.Motors.Add(PoolerMotor); hardwareConfiguration.Motors.Add(ScrewMotor); hardwareConfiguration.Motors.Add(DryerLoadarm); //hardwareConfiguration.Dispensers.Add(hardwareDispenser); hardwareConfiguration.PidControls.Add(FeederPidControl); hardwareConfiguration.PidControls.Add(PoolerPidControl); hardwareConfiguration.PidControls.Add(WinderPidControl); hardwareConfiguration.Dancers.Add(FeederDancer); hardwareConfiguration.Dancers.Add(PoolerDancer); hardwareConfiguration.Dancers.Add(WinderDancer); hardwareConfiguration.Winders.Add(Winder); stubManager.WriteLine("data.data length = " + hardwareConfiguration.CalculateSize()); uploadHardwareConfigurationRequest.HardwareConfiguration = hardwareConfiguration; var response = stubManager.Run(uploadHardwareConfigurationRequest); /*Thread.Sleep(5000);*/ 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(); processParameters.DyeingSpeed = 20; 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 = 300; jobSpool.BackingRate = 10; jobSpool.SegmentOffsetPulses = 600; jobSpool.BottomBackingRate = 70; jobSpool.RotationsPerPassage = 7; jobTicket.Spool = jobSpool; JobSegment jobSegment = new JobSegment(); jobSegment.Name = "Segment1"; jobSegment.Length = 400.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 = 0; jobDispenser.NanoliterPerCentimeter = 10; jobDispenser.PulsePerSecond = 500; jobDispenser.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan; jobDispenser.LiquidMaxNanoliterPerCentimeter = 40; jobDispenser.NanoliterPerPulse = 0; jobBrushStop.Dispensers.Add(jobDispenser); jobSegment.BrushStops.Add(jobBrushStop); jobTicket.Segments.Add(jobSegment); jobRequest.JobTicket = jobTicket; int i=0; stubManager.RunContinuous(jobRequest,(response1) => { stubManager.WriteLine (String.Format("Data, {0}, {1} meters, {2}",++i,response1.Status.Progress*jobSegment.Length,response1.Status.Message)); }); }