diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-07-17 10:10:03 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-07-17 10:10:03 +0300 |
| commit | 23d68bcc5db54edf4b11a03537b902d16588ff82 (patch) | |
| tree | 09bceb8c238ab1a4b9d78d8abd323bd13010272f /Software/Stubs Collection | |
| parent | 15f9a26d5a4f0a90b628805bb551086d4b81c7ee (diff) | |
| download | Tango-23d68bcc5db54edf4b11a03537b902d16588ff82.tar.gz Tango-23d68bcc5db54edf4b11a03537b902d16588ff82.zip | |
stubs refresh
Diffstat (limited to 'Software/Stubs Collection')
| -rw-r--r-- | Software/Stubs Collection/stubs/Diagnosticsrequest.cs | 181 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/JobRequest 2 segments 2 dispensers no intersegment.cs | 194 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/MotorScrewTest.cs | 99 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/Processparams.cs | 42 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/ScrewLoopswithbusy.cs | 92 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/ScrewMotorMov.cs | 84 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/Stub_scripts.rar | bin | 32486 -> 0 bytes | |||
| -rw-r--r-- | Software/Stubs Collection/stubs/ThreadLoading.cs | 119 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/embeddedparametersbuild.cs | 83 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/mot stop.cs | 17 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/run winder.cs | 16 | ||||
| -rw-r--r-- | Software/Stubs Collection/stubs/screw_pos use max speed 5000.cs | 25 |
12 files changed, 752 insertions, 200 deletions
diff --git a/Software/Stubs Collection/stubs/Diagnosticsrequest.cs b/Software/Stubs Collection/stubs/Diagnosticsrequest.cs index b085cc8de..a146dc526 100644 --- a/Software/Stubs Collection/stubs/Diagnosticsrequest.cs +++ b/Software/Stubs Collection/stubs/Diagnosticsrequest.cs @@ -1,5 +1,3 @@ - -StopDiagnosticsRequest stopDiagnosticsRequest = new StopDiagnosticsRequest(); using System; using System.Text; using System.Linq; @@ -10,164 +8,39 @@ using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; -using Tango.PMR.Diagnostics; -using Tango.Stubs.UI; +using Tango.Stubs; +using Tango.PMR.EmbeddedParameters; +using System.IO; +using Tango.PMR.IO; public void OnExecute(StubManager stubManager) { - int i = 0; - StartDiagnosticsRequest startDiagnosticsRequest = new StartDiagnosticsRequest(); -/* stubManager.RunContinuous<StartDiagnosticsResponse>(startDiagnosticsRequest, (response1) => - { + int i,percent; + DispenserDataRequest dispenserDataRequest = new DispenserDataRequest(); + + var response = stubManager.Run<DispenserDataResponse>(dispenserDataRequest); - stubManager.WriteLine (String.Format("Data, Id {0}, Id {1}, Temp {2}, % {3}",++i,response1.Monitors.Dancer1Angle[0],response1.Monitors.Dancer2Angle[0],response1.Monitors.Dancer3Angle[0])); + + stubManager.Write("Id | Strokes | Percent\n"); + + for (i = 0; i < 8; i++) + { + if (response.DispenserInfo[i].ConsumedInNanoLitter>0) + { + stubManager.Write(" " + (i+1) ); + stubManager.Write(" | " + response.DispenserInfo[i].ConsumedInNanoLitter + " | " ); + percent = (int)((response.DispenserInfo[i].ConsumedInNanoLitter/5800000)*100); + stubManager.Write( percent+"% \n"); + } + } - }); -*/ -StopDiagnosticsRequest stopDiagnosticsRequest = new StopDiagnosticsRequest(); - var response = stubManager.Run<StopDiagnosticsResponse>(stopDiagnosticsRequest); } -/* -StartDiagnosticsResponse startDiagnosticsResponse = new StartDiagnosticsResponse(); - -DiagnosticsMonitors diagnosticsMonitors = new DiagnosticsMonitors(); - -Double double = new Double(); -diagnosticsMonitors.Dancer1Angle.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dancer2Angle.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dancer3Angle.Add(double); - -Double double = new Double(); -diagnosticsMonitors.FeederMotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.DryerMotor.Add(double); - -Double double = new Double(); -diagnosticsMonitors.PollerMotor.Add(double); - -Double double = new Double(); -diagnosticsMonitors.WinderMotor.Add(double); - -Double double = new Double(); -diagnosticsMonitors.ScrewMotor.Add(double); - -Double double = new Double(); -diagnosticsMonitors.ThreadSpeed.Add(double); - -Double double = new Double(); -diagnosticsMonitors.MixerTemperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.HeadZone1Temperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.HeadZone2Temperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.HeadZone3Temperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.HeadAirFlow.Add(double); - -Double double = new Double(); -diagnosticsMonitors.FeederTension.Add(double); - -Double double = new Double(); -diagnosticsMonitors.PullerTension.Add(double); - -Double double = new Double(); -diagnosticsMonitors.DryerZone1Temperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.DryerZone2Temperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.DryerZone3Temperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.DryerAirFlow.Add(double); -Double double = new Double(); -diagnosticsMonitors.WinderTension.Add(double); - -DoubleArray doubleArray = new DoubleArray(); - -Double double = new Double(); -doubleArray.Data.Add(double); -diagnosticsMonitors.DispensersMotorsFrequency.Add(doubleArray); - -DoubleArray doubleArray = new DoubleArray(); - -Double double = new Double(); -doubleArray.Data.Add(double); -diagnosticsMonitors.DispensersAngularEncoders.Add(doubleArray); - -DoubleArray doubleArray = new DoubleArray(); - -Double double = new Double(); -doubleArray.Data.Add(double); -diagnosticsMonitors.DispensersLinearPositions.Add(doubleArray); - -DoubleArray doubleArray = new DoubleArray(); - -Double double = new Double(); -doubleArray.Data.Add(double); -diagnosticsMonitors.DispensersPressure.Add(doubleArray); - -Double double = new Double(); -diagnosticsMonitors.MidTankPressure.Add(double); - -Double double = new Double(); -diagnosticsMonitors.FilterDeltaPressure.Add(double); - -Double double = new Double(); -diagnosticsMonitors.ChillerTemperature.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser1MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser2MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser3MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser4MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser5MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser6MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser7MotorFrequency.Add(double); - -Double double = new Double(); -diagnosticsMonitors.Dispenser8MotorFrequency.Add(double); - -startDiagnosticsResponse.Monitors = monitors; - -DigitalPin digitalPin = new DigitalPin(); -digitalPin.Port = 0; -digitalPin.Value = false; -startDiagnosticsResponse.DigitalPins.Add(digitalPin); - -ValueComponentState valueComponentState = new ValueComponentState(); -valueComponentState.Component = Tango.PMR.Diagnostics.ValueComponent.Heater1Temp; -valueComponentState.Value = 0; -startDiagnosticsResponse.ComponentsStates.Add(valueComponentState); - -Event event = new Event(); -event.Type = Tango.PMR.Diagnostics.EventType.ThreadBreak; -event.Message = null; -startDiagnosticsResponse.Events.Add(event); -*/
\ No newline at end of file +/*Id | Strokes | Percent + 1 | 238710 | 4% + 2 | 375369 | 6% + 3 | 333403 | 5% + 4 | 16320 | 0% +*/ diff --git a/Software/Stubs Collection/stubs/JobRequest 2 segments 2 dispensers no intersegment.cs b/Software/Stubs Collection/stubs/JobRequest 2 segments 2 dispensers no intersegment.cs new file mode 100644 index 000000000..a00f600b4 --- /dev/null +++ b/Software/Stubs Collection/stubs/JobRequest 2 segments 2 dispensers no intersegment.cs @@ -0,0 +1,194 @@ +// 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<CalculateResponse>("CalculateRequest" ,6, 7); + +JobRequest jobRequest = new JobRequest(); + +JobTicket jobTicket = new JobTicket(); +jobTicket.Name = "Stubs Job"; +jobTicket.EnableInterSegment = true; +jobTicket.InterSegmentLength = 10.0; +jobTicket.Length = 1000; + +/*ProcessParameters processParameters = new ProcessParameters(); +// SPEEED +processParameters.DyeingSpeed = 25; +// HEAT +processParameters.DryerZone1Temp = 100; + + +processParameters.MixerTemp = 0; +processParameters.DryerBufferLength = 20; +processParameters.MinInkUptake = 0; +processParameters.HeadZone1Temp = 50; +processParameters.HeadZone2Temp = 150; +processParameters.HeadZone3Temp = 150; +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 = 300; +jobSpool.BackingRate = 10; +jobSpool.SegmentOffsetPulses = 700; +jobSpool.BottomBackingRate = 70; +jobSpool.RotationsPerPassage = 3; + +jobTicket.Spool = jobSpool; + +JobSegment jobSegment1 = new JobSegment(); +jobSegment1.Name = "Segment1"; +// LENGTH +jobSegment1.Length = 150.0; + +JobBrushStop jobBrushStop1 = new JobBrushStop(); +jobBrushStop1.Index = 0; +jobBrushStop1.OffsetPercent = 0; +jobBrushStop1.OffsetMeters = 0; + +JobDispenser jobDispenser1 = new JobDispenser(); +jobDispenser1.Index = 6; +jobDispenser1.Volume = 10; +jobDispenser1.DispenserStepDivision = Tango.PMR.Printing.DispenserStepDivision.Auto; +jobDispenser1.NanolitterPerSecond = 1500; +jobDispenser1.NanoliterPerCentimeter = 10; +jobDispenser1.PulsePerSecond = 0; +jobDispenser1.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan; +jobDispenser1.LiquidMaxNanoliterPerCentimeter = 40; +jobDispenser1.NanoliterPerPulse = 2.4; +jobBrushStop1.Dispensers.Add(jobDispenser1); + +JobDispenser jobDispenser3 = new JobDispenser(); +jobDispenser3.Index = 7; +jobDispenser3.Volume = 10; +jobDispenser3.DispenserStepDivision = Tango.PMR.Printing.DispenserStepDivision.Auto; +jobDispenser3.NanolitterPerSecond = 100; +jobDispenser3.NanoliterPerCentimeter = 10; +jobDispenser3.PulsePerSecond = 0; +jobDispenser3.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan; +jobDispenser3.LiquidMaxNanoliterPerCentimeter = 40; +jobDispenser3.NanoliterPerPulse = 2.4; +jobBrushStop1.Dispensers.Add(jobDispenser3); + +jobSegment1.BrushStops.Add(jobBrushStop1); +jobTicket.Segments.Add(jobSegment1); + +JobSegment jobSegment2 = new JobSegment(); +jobSegment1.Name = "Segment2"; +// LENGTH +jobSegment2.Length = 150.0; + +JobBrushStop jobBrushStop2 = new JobBrushStop(); +jobBrushStop2.Index = 0; +jobBrushStop2.OffsetPercent = 0; +jobBrushStop2.OffsetMeters = 0; + +JobDispenser jobDispenser2 = new JobDispenser(); +jobDispenser2.Index = 6; +jobDispenser2.Volume = 10; +jobDispenser2.DispenserStepDivision = Tango.PMR.Printing.DispenserStepDivision.Auto; +jobDispenser2.NanolitterPerSecond = 500; +jobDispenser2.NanoliterPerCentimeter = 10; +jobDispenser2.PulsePerSecond = 0; +jobDispenser2.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan; +jobDispenser2.LiquidMaxNanoliterPerCentimeter = 40; +jobDispenser2.NanoliterPerPulse = 2.4; +jobBrushStop2.Dispensers.Add(jobDispenser2); + +JobDispenser jobDispenser4 = new JobDispenser(); +jobDispenser4.Index = 7; +jobDispenser4.Volume = 10; +jobDispenser4.DispenserStepDivision = Tango.PMR.Printing.DispenserStepDivision.Auto; +jobDispenser4.NanolitterPerSecond = 1000; +jobDispenser4.NanoliterPerCentimeter = 10; +jobDispenser4.PulsePerSecond = 0; +jobDispenser4.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan; +jobDispenser4.LiquidMaxNanoliterPerCentimeter = 40; +jobDispenser4.NanoliterPerPulse = 2.4; +jobBrushStop2.Dispensers.Add(jobDispenser4); + +jobSegment2.BrushStops.Add(jobBrushStop2); +jobTicket.Segments.Add(jobSegment2); + +jobRequest.JobTicket = jobTicket; + + + //var response = stubManager.Run<JobResponse>(jobRequest); + int i=0; +/*stubManager.WriteLine("data.data length = " + jobRequest.CalculateSize()); +*/ +stubManager.RunContinuous<JobResponse>(jobRequest,(response1) => + { + stubManager.WriteLine (String.Format("Data, {0}, {1} meters, {2}",++i,response1.Status.Progress*jobSegment1.Length,response1.Status.Message)); + + }); +/* stubManager.RunContinuous<ProgressResponse>(request, (response) => + { + + stubManager.WriteLine(response.Progress); + + }); +*/ + + //int i=0; +/*stubManager.RunContinuous<StubHeatingTestPollResponse>("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<StartDiagnosticsResponse>(startDiagnosticsRequest,(response1) => +stubManager.RunContinuous<StartDiagnosticsResponse>(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); + +*/ +} + diff --git a/Software/Stubs Collection/stubs/MotorScrewTest.cs b/Software/Stubs Collection/stubs/MotorScrewTest.cs new file mode 100644 index 000000000..d4e7ba357 --- /dev/null +++ b/Software/Stubs Collection/stubs/MotorScrewTest.cs @@ -0,0 +1,99 @@ +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.Stubs; + +const Int32 x_GET_STATUS = 0xD0; +const Int32 x_ABS_POS = 0x01; +const Int32 x_EL_POS = 0x02; +const Int32 x_MARK = 0x03; +const Int32 x_SPEED = 0x04; +const Int32 x_ACC = 0x05; +const Int32 x_DEC = 0x06; +const Int32 x_MAX_SPEED = 0x07; +const Int32 x_MIN_SPEED = 0x08; +const Int32 x_FS_SPD = 0x15; +const Int32 x_KVAL_HOLD = 0x09; +const Int32 x_KVAL_RUN = 0x0A; +const Int32 x_KVAL_ACC = 0x0B; +const Int32 x_KVAL_DEC = 0x0C; +const Int32 x_INT_SPD = 0x0D; +const Int32 x_ST_SLP = 0x0E; +const Int32 x_FN_SLP_ACC = 0x0F; +const Int32 x_FN_SLP_DEC = 0x10; +const Int32 x_K_THERM = 0x11; +const Int32 x_ADC_OUT = 0x12; +const Int32 x_OCD_TH = 0x13; +const Int32 x_STALL_TH = 0x14; +const Int32 x_STEP_MODE = 0x16; +const Int32 x_ALARM_EN = 0x17; +const Int32 x_CONFIG = 0x18; +const Int32 x_STATUS = 0x19; +//------------------------------- +const Int32 x_GET_PARAM = 0x20; +const Int32 x_SET_PARAM = 0x00; + + +public void OnExecute(StubManager stubManager) +{ + + Uint32 SpeedSet1 = 0x7000062; + Uint32 SpeedSet2 = 0x7000053; + Uint32 Move1 = 0x4000026c; + Uint32 MoveFor = 0x400007D0; + Uint32 MoveBack = 0x410007D0; + var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, SpeedSet1, 0, 0); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, (x_GET_STATUS)<<16, 0, 0); + stubManager.WriteHex(response.RecivedData,4); + stubManager.Write("\n\n"); + + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, Move1, 0, 0); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, (x_GET_STATUS)<<16, 0, 0); + stubManager.WriteHex(response.RecivedData,4); + stubManager.Write("\n\n"); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, MoveFor, 0, 0); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, (x_GET_STATUS)<<16, 0, 0); + stubManager.WriteHex(response.RecivedData,4); + stubManager.Write("\n\n"); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, SpeedSet2, 0, 0); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, (x_GET_STATUS)<<16, 0, 0); + stubManager.WriteHex(response.RecivedData,4); + stubManager.Write("\n\n"); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, MoveBack, 0, 0); + response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,14, (x_GET_STATUS)<<16, 0, 0); + stubManager.WriteHex(response.RecivedData,4); + stubManager.Write("\n\n"); + + + + + // Request ---- +// UInt32 : MotorID +// Boolean : ClearStatus + +// Response ---- +// UInt32 : MotorID +// Boolean : SCKMOD +// Boolean : STEPLOSSB +// Boolean : STEPLOSSA +// Boolean : OCD +// Boolean : THSD +// Boolean : THWRN +// Boolean : UVLO +// Boolean : WRONGCMD +// Boolean : NOTPERFCMD +// UInt32 : MOTSTATUS +// Boolean : DIR +// Boolean : SWEVN +// Boolean : SWF +// Boolean : BUSY +// Boolean : HiZ +//response = stubManager.Run<StubMotorStatusResponse>("StubMotorStatusRequest" ,12, true); +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Processparams.cs b/Software/Stubs Collection/stubs/Processparams.cs new file mode 100644 index 000000000..e1d3b888f --- /dev/null +++ b/Software/Stubs Collection/stubs/Processparams.cs @@ -0,0 +1,42 @@ +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.Printing; +using Tango.Stubs; + +public void OnExecute(StubManager stubManager) +{ + +UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest(); + +ProcessParameters processParameters = new ProcessParameters(); +processParameters.DyeingSpeed = 40; +processParameters.MinInkUptake = 0; +processParameters.FeederTension = 0; +processParameters.PullerTension = 0; +processParameters.WinderTension = 0; +processParameters.MixerTemp = 80; +processParameters.HeadZone1Temp = 80; +processParameters.HeadZone2Temp = 100; +processParameters.HeadZone3Temp = 110; +processParameters.HeadZone4Temp = 120; +processParameters.HeadZone5Temp = 120; +processParameters.HeadZone6Temp = 140; +processParameters.DryerAirFlow = 0; +processParameters.DryerZone1Temp = 160; +processParameters.DryerZone2Temp = 0; +processParameters.DryerZone3Temp = 0; +processParameters.DryerBufferLength = 20; +processParameters.HeadAirFlow = 0; +processParameters.TableIndex = 0; + +uploadProcessParametersRequest.ProcessParameters = processParameters; +var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest); +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/ScrewLoopswithbusy.cs b/Software/Stubs Collection/stubs/ScrewLoopswithbusy.cs new file mode 100644 index 000000000..b0d02a436 --- /dev/null +++ b/Software/Stubs Collection/stubs/ScrewLoopswithbusy.cs @@ -0,0 +1,92 @@ +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.Stubs; + +const Int32 FPGA1 = 0x60000000; +const Int32 F1_GPI_Busy_Direct = 0x60; + +public void OnExecute(StubManager stubManager) +{ + // FALSE - to the body + //TRUE out + stubManager.Run("StubMotorRunRequest" ,15, false, 3000 ); //5000 fidder (18 TESTED) + //Thread.Sleep(1000); + bool flag = true; + //for (int i = 0; i < 20000; i++) + while (1==1) + { + var response = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, false, 800); + //Thread.Sleep(1000); + while (flag == true) + { + Thread.Sleep(200); + var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , FPGA1 + F1_GPI_Busy_Direct); + if ((response1.Value & 0x2)==2) + flag = false; + else + flag = true; + } + //var response2 = stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,2); + //Thread.Sleep(300); + var response3 = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, true, 800); + // Thread.Sleep(1000); + while (flag == true) + { + Thread.Sleep(200); + var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , FPGA1 + F1_GPI_Busy_Direct); + if ((response1.Value & 0x2)==2) + flag = false; + else + flag = true; + } + } + //var response1 = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, false, 500); + // Request ---- +// UInt32 : Address + +// Response ---- +// UInt32 : Address +// UInt32 : Value +// String : Status +// UInt32 : StatusWord + /*{ + + var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 20); + Thread.Sleep(600); + var response1 = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, true, 20); + Thread.Sleep(600); + } + +//var response1 = stubManager.Run<StubMotorStatusResponse>("StubMotorStatusRequest" ,14, true); +//Thread.Sleep(1000); +// var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,24, false, 20); +// Thread.Sleep(700); + +var response2 = stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,15, 0); +var response4 = stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14, 0);*/ +// Request ---- +// UInt32 : Address +// UInt32 : Value + +// Response ---- +// String : Status +// UInt32 : StatusWord +//var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600008e2, 0); +// Request ---- +// UInt32 : Address + +// Response ---- +// UInt32 : Address +// UInt32 : Value +// String : Status +// UInt32 : StatusWord +//var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600008e2); +} diff --git a/Software/Stubs Collection/stubs/ScrewMotorMov.cs b/Software/Stubs Collection/stubs/ScrewMotorMov.cs new file mode 100644 index 000000000..6b3ffe626 --- /dev/null +++ b/Software/Stubs Collection/stubs/ScrewMotorMov.cs @@ -0,0 +1,84 @@ +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.Stubs; + +public void OnExecute(StubManager stubManager) +{ + // FALSE - to the body + //TRUE out + // Request ---- +// UInt32 : ValveId +// UInt32 : Inkflow +// Boolean : ValveOn +// Request ---- +// UInt32 : ADCDevice + +// Response ---- +// UInt32 : ADCDevice +// Int32 : SamplingInBits +// Int32 : VoltageSamplingMv +// String : Status +// UInt32 : StatusWord +//var response = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,UInt32); + +// Response ---- +// String : Status +// UInt32 : StatusWord + //open valve toward the mixer, run dispenser 7 + //var response3 = stubManager.Run<StubValveResponse>("StubValveRequest" ,6, 10, true); + //var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 800); + //Thread.Sleep(3000); + //open valve toward the midtank, stop dispenser 7 + //var response3 = stubManager.Run<StubValveResponse>("StubValveRequest" ,6, 10, false); + var response2 = stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,3,0); + //Thread.Sleep(10); + //var response1 = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,12, false, 150); + // Request ---- +// UInt32 : Address + +// Response ---- +// UInt32 : Address +// UInt32 : Value +// String : Status +// UInt32 : StatusWord + /*{ + + var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 20); + Thread.Sleep(600); + var response1 = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, true, 20); + Thread.Sleep(600); + } + +//var response1 = stubManager.Run<StubMotorStatusResponse>("StubMotorStatusRequest" ,14, true); +//Thread.Sleep(1000); +// var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,24, false, 20); +// Thread.Sleep(700); + +var response2 = stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,15, 0); +var response4 = stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14, 0);*/ +// Request ---- +// UInt32 : Address +// UInt32 : Value + +// Response ---- +// String : Status +// UInt32 : StatusWord +//var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600008e2, 0); +// Request ---- +// UInt32 : Address + +// Response ---- +// UInt32 : Address +// UInt32 : Value +// String : Status +// UInt32 : StatusWord +//var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600008e2); +} diff --git a/Software/Stubs Collection/stubs/Stub_scripts.rar b/Software/Stubs Collection/stubs/Stub_scripts.rar Binary files differdeleted file mode 100644 index 8b8dd1d4d..000000000 --- a/Software/Stubs Collection/stubs/Stub_scripts.rar +++ /dev/null diff --git a/Software/Stubs Collection/stubs/ThreadLoading.cs b/Software/Stubs Collection/stubs/ThreadLoading.cs new file mode 100644 index 000000000..375237184 --- /dev/null +++ b/Software/Stubs Collection/stubs/ThreadLoading.cs @@ -0,0 +1,119 @@ +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<UploadHardwareConfigurationResponse>(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<JobResponse>(jobRequest,(response1) => + { + stubManager.WriteLine (String.Format("Data, {0}, {1} meters, {2}",++i,response1.Status.Progress*jobSegment.Length,response1.Status.Message)); + + }); + + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs index 60fe41bb9..e9c2e235e 100644 --- a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs +++ b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs @@ -23,50 +23,51 @@ ConfigurationParameters configurationParameters = new ConfigurationParameters(); configurationParameters.BreakSensorLimit = 10; +//how many samples to collect in diagnostics before sending configurationParameters.DiagnosticCollectionLimit = 2; +//how many consecutive readout before declaring DC over/underheat alarm configurationParameters.OverHeatCountLimit = 3; configurationParameters.UnderHeatCountLimit = 3; // time of motor activity before opening the valve or after closing the valve, in milliseconds -configurationParameters.CloseValveTimeout = 500; -configurationParameters.OpenValveTimeout = 500; +configurationParameters.CloseValveTimeout = 255; +configurationParameters.OpenValveTimeout = 255; -//backlash after filling - +//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters) configurationParameters.InitialDispenserPressure = 1.5; configurationParameters.InitialDispenserTimeout = 60000; //20 seconds configurationParameters.InitialDispenserTimeLag = 100; -//job prepare - build pressure in dispensers -configurationParameters.DispenserBuildPressureSpeed = 500; //no more than 1000 -configurationParameters.DispenserBuildPressureLimit = 1.5; -configurationParameters.DispenserBuildPressureTimeout = 20000; +//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed +configurationParameters.DispenserBuildPressureSpeed = 800; //no more than 1000 +configurationParameters.DispenserBuildPressureLimit = 0.9; +configurationParameters.DispenserBuildPressureTimeout = 80000; configurationParameters.DispenserBuildPressureLag = 50; -//temperature band 1000 = 100% +//temperature band 1000 = 100% - thresholds for job start around target temprature - AC configurationParameters.ACHeatersLowerOperationLimit = 995; configurationParameters.ACHeatersUpperOperationLimit = 1005; +//temperature band 1000 = 100% - thresholds for job start around target temprature - DC configurationParameters.DCHeatersLowerOperationLimit = 978; configurationParameters.DCHeatersUpperOperationLimit = 1005; +// mid tank reading offset to add to the readout (OBSOLETE!) configurationParameters.MidTankPressureCorrection = 0.0; -configurationParameters.DispenserPresegmentWFCF = 80; -configurationParameters.StartHeatingOnInitSequence = false; +//waste factor for intersegment pressure building +configurationParameters.DispenserPresegmentWFCF = 40; +//how much time to start the WFCF process (pressure buildup) before segment start +configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 1500; -Double checkHardLimitAlarms = new Double(); -checkHardLimitAlarms = 1.0; -configurationParameters.GeneralParameters.Add(checkHardLimitAlarms); -Double checkCurrentAlarms = new Double(); -checkCurrentAlarms = 1.0; -configurationParameters.GeneralParameters.Add(checkCurrentAlarms); -Double checkTamperAlarms = new Double(); -checkTamperAlarms = 1.0; -configurationParameters.GeneralParameters.Add(checkTamperAlarms); +//flag: start heaters according to saved process parameters upon init? +configurationParameters.StartHeatingOnInitSequence = true; +// current test for the heaters - alarm thresholds configurationParameters.CurrentAlarmLowLimit = 0.80; configurationParameters.CurrentAlarmHighLimit = 1.07; + configurationParameters.IDSSegmentRefillTimeout = 5000; configurationParameters.IDSPreSegmentBuildupTime = 5000; configurationParameters.IDSCleaningSpeed = 50; @@ -79,37 +80,33 @@ configurationParameters.IdleDrierTemperature = 80; configurationParameters.IdleHeadTemperature = 80; configurationParameters.IdleMixerTemperature = 0; configurationParameters.PowerOffTemperatureLimit = 50; -configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 1500; - -File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes()); -byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg"); +//general parameters, ORDER MUST BE PRESERVED!!!! +//check the dispensers hard limit alarms +Double checkHardLimitAlarms = new Double(); +checkHardLimitAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkHardLimitAlarms); +Double checkCurrentAlarms = new Double(); +checkCurrentAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkCurrentAlarms); +//check the tamper alarms +Double checkTamperAlarms = new Double(); +checkTamperAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkTamperAlarms); +Double checkMotorAlarms = new Double(); +checkMotorAlarms = 1.0; +configurationParameters.GeneralParameters.Add(checkMotorAlarms); +Double WinderBackToBaseTime = new Double(); +WinderBackToBaseTime = 1.0; +configurationParameters.GeneralParameters.Add(WinderBackToBaseTime); -DeleteRequest deleteRequest = new DeleteRequest(); -deleteRequest.Path = "0://SysInfo//EmbParam.cfg"; - var response5 = stubManager.Run<DeleteResponse>(deleteRequest); -FileUploadRequest fileUploadRequest = new FileUploadRequest(); -fileUploadRequest.Path = "0://SysInfo//EmbParam.cfg"; -fileUploadRequest.Length = (int)fileBytes.Length; -FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest); -long chunk_size = response2.MaxChunkLength; +File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes()); -FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open); +byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg"); -while (fs.Position < fs.Length) -{ - stubManager.Write("Position "+ fs.Position+ " Length "+ fs.Length +"\n\n"); - FileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest(); - fileChunkUploadRequest.UploadID = response2.UploadID; - byte[] chunk = new byte[Math.Min(chunk_size,fs.Length - fs.Position)]; - fs.Read(chunk,0,chunk.Length); - fileChunkUploadRequest.Buffer = ByteString.CopyFrom(chunk); - var response3 = stubManager.Run<FileChunkUploadResponse>(fileChunkUploadRequest); - Thread.Sleep(2000); -} }
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/mot stop.cs b/Software/Stubs Collection/stubs/mot stop.cs index 6b47b0cbb..24cfe16e6 100644 --- a/Software/Stubs Collection/stubs/mot stop.cs +++ b/Software/Stubs Collection/stubs/mot stop.cs @@ -8,11 +8,22 @@ using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; -using Tango.Stubs; +using Tango.Stubs.UI; public void OnExecute(StubManager stubManager) { - stubManager.Run("StubMotorStopRequest" ,5, 3); // 3 - SoftHiZ / 2 - HardHiZ / 1 - SoftStop / 0 - HardStop - + + + + //stubManager.Run<StubMotorStatusResponse>("StubMotorStatusRequest" ,18, true); + + //Thread.Sleep(1000); + // without init - don't start with this command !!!!!!!!!!! + stubManager.Run("StubMotorStopRequest" ,14, 3); // 3 - SoftHiZ / 2 - HardHiZ / 1 - SoftStop / 0 - HardStop + stubManager.Run("StubMotorStopRequest" ,15, 3); + + stubManager.Run("StubMotorStopRequest" ,18, 3); + + stubManager.Run("StubMotorStopRequest" ,12, 3); } diff --git a/Software/Stubs Collection/stubs/run winder.cs b/Software/Stubs Collection/stubs/run winder.cs new file mode 100644 index 000000000..c86951041 --- /dev/null +++ b/Software/Stubs Collection/stubs/run winder.cs @@ -0,0 +1,16 @@ +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.Stubs; + +public void OnExecute(StubManager stubManager) +{ + stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,15, false, 1000); +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/screw_pos use max speed 5000.cs b/Software/Stubs Collection/stubs/screw_pos use max speed 5000.cs new file mode 100644 index 000000000..a3081cbe0 --- /dev/null +++ b/Software/Stubs Collection/stubs/screw_pos use max speed 5000.cs @@ -0,0 +1,25 @@ +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.Stubs; + +public void OnExecute(StubManager stubManager) +{ + + while(true) + { + stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, true, 1700); + Thread.Sleep(400); + stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, false, 1700); + Thread.Sleep(400); + } + + +}
\ No newline at end of file |
