aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-07-17 10:10:03 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-07-17 10:10:03 +0300
commit23d68bcc5db54edf4b11a03537b902d16588ff82 (patch)
tree09bceb8c238ab1a4b9d78d8abd323bd13010272f /Software/Stubs Collection
parent15f9a26d5a4f0a90b628805bb551086d4b81c7ee (diff)
downloadTango-23d68bcc5db54edf4b11a03537b902d16588ff82.tar.gz
Tango-23d68bcc5db54edf4b11a03537b902d16588ff82.zip
stubs refresh
Diffstat (limited to 'Software/Stubs Collection')
-rw-r--r--Software/Stubs Collection/stubs/Diagnosticsrequest.cs181
-rw-r--r--Software/Stubs Collection/stubs/JobRequest 2 segments 2 dispensers no intersegment.cs194
-rw-r--r--Software/Stubs Collection/stubs/MotorScrewTest.cs99
-rw-r--r--Software/Stubs Collection/stubs/Processparams.cs42
-rw-r--r--Software/Stubs Collection/stubs/ScrewLoopswithbusy.cs92
-rw-r--r--Software/Stubs Collection/stubs/ScrewMotorMov.cs84
-rw-r--r--Software/Stubs Collection/stubs/Stub_scripts.rarbin32486 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/ThreadLoading.cs119
-rw-r--r--Software/Stubs Collection/stubs/embeddedparametersbuild.cs83
-rw-r--r--Software/Stubs Collection/stubs/mot stop.cs17
-rw-r--r--Software/Stubs Collection/stubs/run winder.cs16
-rw-r--r--Software/Stubs Collection/stubs/screw_pos use max speed 5000.cs25
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
deleted file mode 100644
index 8b8dd1d4d..000000000
--- a/Software/Stubs Collection/stubs/Stub_scripts.rar
+++ /dev/null
Binary files differ
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