aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-01-26 15:47:08 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-01-26 15:47:08 +0200
commita4d662dcdcde9ea06de758ede42657a4be38b84b (patch)
tree76b2a6f41e3f9a6352664851cad6775cc279b278
parent60a2692fd4acadfdf8724bb198e38a2689a866fd (diff)
downloadTango-a4d662dcdcde9ea06de758ede42657a4be38b84b.tar.gz
Tango-a4d662dcdcde9ea06de758ede42657a4be38b84b.zip
stubs update
-rw-r--r--Software/Stubs Collection/stubs/Autohome_Control.cs30
-rw-r--r--Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing2.cs22
-rw-r--r--Software/Stubs Collection/stubs/Progress_SetRapid.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs97
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs94
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs72
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs38
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs (renamed from Software/Stubs Collection/stubs/newWHS/fan.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs (renamed from Software/Stubs Collection/stubs/newWHS/test_fan.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs (renamed from Software/Stubs Collection/stubs/newWHS/test_valv1.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs (renamed from Software/Stubs Collection/stubs/newWHS/test_valv1_disable.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs215
-rw-r--r--Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs90
-rw-r--r--Software/Stubs Collection/stubs/Set loading arm center.cs22
-rw-r--r--Software/Stubs Collection/stubs/SetWindingRotations.cs27
-rw-r--r--Software/Stubs Collection/stubs/embeddedparametersbuildand load.cs178
-rw-r--r--Software/Stubs Collection/stubs/moveloadarmback.cs29
-rw-r--r--Software/Stubs Collection/stubs/technician view files/new head.tpf294
-rw-r--r--Software/Stubs Collection/stubs/temp/EmbParam.cfgbin0 -> 252 bytes
-rw-r--r--Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs178
21 files changed, 1368 insertions, 86 deletions
diff --git a/Software/Stubs Collection/stubs/Autohome_Control.cs b/Software/Stubs Collection/stubs/Autohome_Control.cs
new file mode 100644
index 000000000..597a70893
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Autohome_Control.cs
@@ -0,0 +1,30 @@
+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)
+{
+
+
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xAD;
+/*
+ AutoHoming_off = 0
+ AutoHoming_PowerOff = 1
+ AutoHoming_PowerOn_off = 2
+ AutoHoming_JobEnd_PowerOn_off = 3
+*/
+//USE 0 TO TURN OFF, 3 TO TURN ON
+progressRequest.Delay = 0;
+
+ var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing2.cs b/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing2.cs
index 763288603..09d22dea9 100644
--- a/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing2.cs
+++ b/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing2.cs
@@ -40,7 +40,7 @@ const Int32 x_STATUS = 0x19;
//-------------------------------
const Int32 x_GET_PARAM = 0x20;
//-------------------------------
-const Int32 Max_Motor_ID = 30;
+const Int32 Max_Motor_ID = 25;
@@ -98,6 +98,22 @@ Int32 i = 12; // to run only for specific motor
public void OnExecute(StubManager stubManager)
{
+
+stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9);
+stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
+stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003);
+stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
+
+
+
+
+
+
+
+
+
+
+
for (i = 0; i < Max_Motor_ID; i++)
{
@@ -166,7 +182,9 @@ public void OnExecute(StubManager stubManager)
response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 12 )
+ if( response.RecivedData > 0x15 )
+ stubManager.Write("\t\tDual_Driver");
+ else if ( response.RecivedData > 0x0b)
stubManager.Write("\t\tVolage_Driver");
else if ( response.RecivedData > 8 )
stubManager.Write("\t\tCurrent_Driver");
diff --git a/Software/Stubs Collection/stubs/Progress_SetRapid.cs b/Software/Stubs Collection/stubs/Progress_SetRapid.cs
new file mode 100644
index 000000000..fbe559378
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Progress_SetRapid.cs
@@ -0,0 +1,23 @@
+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)
+{
+
+
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xE0;
+progressRequest.Delay = 0x1;
+
+ var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
new file mode 100644
index 000000000..397999f12
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
@@ -0,0 +1,97 @@
+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;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_LimitSwitch.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_LimitSwitch.cs"
+
+//MF 23092018 2 spare LS not include
+
+const Int32 F3_CARTx_PRES_02_Direct = 0x60000870;
+const Int32 F3_LOW_Cart_Led1 = 0x60000ba4;
+const Int32 F3_High_Cart_Led1 = 0x60000ba6;
+const Int32 F3_LOW_Cart_Led2 = 0x60000ba8;
+const Int32 F3_High_Cart_Led2 = 0x60000baa;
+const Int32 F3_LOW_Cart_Led3 = 0x60000bac;
+const Int32 F3_High_Cart_Led3 = 0x60000bae;
+
+const Int32 F3_PreScalar_Leds = 0x60000be8;
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ uint Temp = 0;
+ uint Temp1 = 0;
+ int counter = 0;
+ stubManager.Write("\nReading register F3_CARTx_PRES_02_Direct: ");
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led1,100);//Low 8 bit
+
+var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_PreScalar_Leds,250);
+ stubManager.WriteHex(response.Value,4);
+ Temp = response.Value;
+ stubManager.Write("\nActivate limit switches one-by-one");
+
+ while ( counter != 1000)
+ {
+ response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_CARTx_PRES_02_Direct);
+
+
+
+ if (response.Value != Temp)
+ {
+ stubManager.WriteHex(response.Value,4);
+
+
+ Temp1=response.Value & 0x080;
+ if (Temp1 ==0x0080)
+ {
+ stubManager.Write("\nCART1_PRES");
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led1,255);//Low 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led1,255);//High 8 bit
+
+
+ }
+ Temp1=response.Value & 0x0040;
+ if (Temp1 ==0x0040)
+ {
+ stubManager.Write("\nCART2_PRES");
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led2,255);//Low 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led2,255);//High 8 bit
+ }
+
+ Temp1=response.Value & 0x0020;
+ if (Temp1 ==0x0020)
+ {
+ stubManager.Write("\nCART3_PRES");
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led3,255);//Low 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led3,255);//High 8 bit
+ }
+
+
+ counter = counter + 1;
+ }
+ Thread.Sleep(1000);
+ Temp = response.Value;
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led1,10);//Low 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led1,1);//High 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led2,10);//Low 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led2,1);//High 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_LOW_Cart_Led3,10);//Low 8 bit
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_High_Cart_Led3,1);//High 8 bit
+
+ }
+
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs
new file mode 100644
index 000000000..2c51aebe7
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs
@@ -0,0 +1,94 @@
+sing 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;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_LimitSwitch.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_LimitSwitch.cs"
+
+//MF 23092018 2 spare LS not include
+
+const Int32 F3_GPI_01_Direct = 0x60000820;
+
+public void OnExecute(StubManager stubManager)
+{
+
+ uint Temp = 0;
+ uint Temp1 = 0;
+ int counter = 0;
+ stubManager.Write("\nReading register F3_GPI_01_Direct: ");
+
+var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_GPI_01_Direct);
+ stubManager.WriteHex(response.Value,4);
+ Temp = response.Value;
+ stubManager.Write("\nActivate limit switches one-by-one");
+
+ while ( counter != 1000)
+ {
+ response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_GPI_01_Direct);
+
+
+
+ if (response.Value != Temp)
+ {
+ stubManager.WriteHex(response.Value,4);
+
+
+ Temp1=response.Value & 0x0008;
+ if (Temp1 ==0x0008)
+ {
+ stubManager.Write("\nF3_GPI_PANSW6");
+
+ }
+ Temp1=response.Value & 0x0010;
+ if (Temp1 ==0x0010)
+ {
+ stubManager.Write("\nF3_GPI_PANSW5");
+ }
+
+ Temp1=response.Value & 0x0020;
+ if (Temp1 ==0x0020)
+ {
+ stubManager.Write("\nF3_GPI_PANSW4");
+ }
+
+ Temp1=response.Value & 0x0040;
+ if (Temp1 ==0x0040)
+ {
+ stubManager.Write("\nF3_GPI_PANSW3");
+ }
+
+ Temp1=response.Value & 0x0080;
+ if (Temp1 ==0x0080)
+ {
+ stubManager.Write("\nF3_GPI_PANSW2");
+ }
+
+
+ Temp1=response.Value & 0x0100;
+ if (Temp1 ==0x0100)
+ {
+ stubManager.Write("\nF3_GPI_PANSW1");
+ }
+
+
+
+ counter = counter + 1;
+ }
+ Thread.Sleep(1000);
+ Temp = response.Value;
+
+ }
+
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs
new file mode 100644
index 000000000..9b741d981
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs
@@ -0,0 +1,72 @@
+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;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_LimitSwitch.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_LimitSwitch.cs"
+
+
+
+public void OnExecute(StubManager stubManager)
+{
+ uint Temp = 0;
+ uint Temp1 = 0;
+ int counter = 0;
+ stubManager.Write("\nReading register F3_GPI_01_Direct: ");
+ var RetVal = Fpga_Read_Reg(FPGA3, F3_GPI_01_Direct, 0);
+ stubManager.WriteHex(RetVal.Value,4);
+ Temp = RetVal.Value;
+ stubManager.Write("\nActivate Tamper switches one-by-one");
+
+ while ( counter != 100000)
+ {
+ RetVal = Fpga_Read_Reg(FPGA3, F3_GPI_01_Direct, 0);
+ if (RetVal.Value != Temp)
+ {
+ stubManager.Write("\nRegister F3_GPI_01_Direct new value: ");
+ stubManager.WriteHex(RetVal.Value, 4);
+
+ Temp1=RetVal.Value & 0x0008;
+ if (Temp1 !=0x0008)
+ stubManager.Write("\nPANSW6");
+
+
+ Temp1=RetVal.Value & 0x0010;
+ if (Temp1 !=0x0010)
+ stubManager.Write("\nPANSW5");
+
+ Temp1=RetVal.Value & 0x0020;
+ if (Temp1 !=0x0020)
+ stubManager.Write("\nPANSW4");
+
+ Temp1=RetVal.Value & 0x0040;
+ if (Temp1 !=0x0040)
+ stubManager.Write("\nPANSW3");
+
+ Temp1=RetVal.Value & 0x0080;
+ if (Temp1 !=0x0080)
+ stubManager.Write("\nPANSW2");
+
+ Temp1=RetVal.Value & 0x0100;
+ if (Temp1 !=0x0100)
+ stubManager.Write("\nPANSW1");
+
+
+ counter = counter + 1;
+ }
+ Thread.Sleep(100);
+ Temp = RetVal.Value;
+
+ }
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs
new file mode 100644
index 000000000..28d6f69fc
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs
@@ -0,0 +1,38 @@
+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;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_SSR.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\Software\Stub_scripts\Interfaces\Tango_Defines_SSR.cs"
+
+//----------------------
+const Int32 I2C_ID = 2;
+//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
+//----------------------
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+ UInt32 temp=0;
+
+
+ //Write F2_GPO_CHILLER_SSR9_CTRL SSR/SSR no. 9
+ SetBit (FPGA2, F2_CTRL, 2, 1);
+ stubManager.Write("\tTesting SSR no. 9\tCHILLER\t");
+ Thread.Sleep(10000);
+ SetBit (FPGA2, F2_CTRL, 2, 0);
+
+
+}
diff --git a/Software/Stubs Collection/stubs/newWHS/fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
index 7e68d62ef..7e68d62ef 100644
--- a/Software/Stubs Collection/stubs/newWHS/fan.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
diff --git a/Software/Stubs Collection/stubs/newWHS/test_fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
index acd5e3c50..acd5e3c50 100644
--- a/Software/Stubs Collection/stubs/newWHS/test_fan.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
diff --git a/Software/Stubs Collection/stubs/newWHS/test_valv1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs
index c81bdaebd..c81bdaebd 100644
--- a/Software/Stubs Collection/stubs/newWHS/test_valv1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs
diff --git a/Software/Stubs Collection/stubs/newWHS/test_valv1_disable.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs
index 086063855..086063855 100644
--- a/Software/Stubs Collection/stubs/newWHS/test_valv1_disable.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
new file mode 100644
index 000000000..7e0d1ae38
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
@@ -0,0 +1,215 @@
+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;
+
+//unmark Auto logging !
+
+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 Max_Motor_ID = 25;
+
+
+
+string[] Motor_ID = new string[30];
+
+
+Motor_ID[0] ="DH_CLEANHEAD ";
+Motor_ID[1] ="DH_CLEANMECH ";
+Motor_ID[2] ="DH_LID ";
+Motor_ID[3] ="DRYER_DRIVING";
+Motor_ID[4] ="DRYER_LID ";
+Motor_ID[5] ="DRYER_LOADARM";
+Motor_ID[6] ="DISPENCER_1 ";
+Motor_ID[7] ="DISPENCER_2 ";
+Motor_ID[8] ="DISPENCER_3 ";
+Motor_ID[9] ="DISPENCER_4 ";
+Motor_ID[10]="DISPENCER_5 ";
+Motor_ID[11]="DISPENCER_6 ";
+Motor_ID[12]="DISPENCER_7 ";
+Motor_ID[13]="DISPENCER_8 ";
+Motor_ID[14]="SCREW ";
+Motor_ID[15]="WINDER ";
+Motor_ID[16]="LDANCER1 ";
+Motor_ID[17]="LDANCER2 ";
+Motor_ID[18]="LDRIVING ";
+Motor_ID[19]="LLODING ";
+Motor_ID[20]="LPIVOT ";
+Motor_ID[21]="RDANCER ";
+Motor_ID[22]="RDRIVING ";
+Motor_ID[23]="RLOADARM ";
+Motor_ID[24]="RLODING ";
+Motor_ID[25]="SPARE1_1 ";
+Motor_ID[26]="SPARE1_2 ";
+Motor_ID[27]="SPARE2_1 ";
+Motor_ID[28]="SPARE2_2 ";
+Motor_ID[29]="SPARE3 ";
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Int32 i = 12; // to run only for specific motor
+
+public void OnExecute(StubManager stubManager)
+{
+ for (i = 0; i < Max_Motor_ID; i++)
+ {
+
+ if((i%8 ==0) )
+ {
+ stubManager.Write("\n\n");
+ stubManager.Write("MoTor\t\t\tMIN_SPEED\tMAX_SPEED\tSTEP_MODE\tACC\t\tDEC\t\tKVAL_HOLD\tKVAL_RUN\tKVAL_ACC\tKVAL_DEC\tOCD_TH\t\tSTALL_TH\tCONFIG\t\tFS_SPD\t\tADC_OUT\tDriver_Type\n");
+ stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t---------\t--------\t--------\t--------\t------\t\t--------\t------\t\t------\t\t------\t\t------\n");
+ }
+ //stubManager.Write(i);
+
+ stubManager.Write(Motor_ID[i]);
+ stubManager.Write("\t\t");
+
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4); stubManager.Write("\t");
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_CONFIG)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ if( response.RecivedData > 12 )
+ stubManager.Write("\t\tVolage_Driver");
+ else if ( response.RecivedData > 8 )
+ stubManager.Write("\t\tCurrent_Driver");
+ else
+ stubManager.Write("\t\tNo_Driver");
+
+
+ stubManager.Write("\n\n");
+
+ }
+
+ stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC\tSLP_DEC\tSTATUS\n");
+ stubManager.Write("-----\t\t\t-------\t------\t\t-------\t--------\t-----\n");
+
+ for (i = 0; i < Max_Motor_ID; i++)
+ {
+ stubManager.Write(Motor_ID[i]);
+
+// stubManager.Write(i);
+ stubManager.Write("\t\t");
+
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STATUS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n\n");
+
+
+
+ }
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs b/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
new file mode 100644
index 000000000..02f8384bc
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
@@ -0,0 +1,45 @@
+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 UInt32 Freq = 29166667;//FPGA Freq
+
+const UInt32 F1_Tacho_reg9 = 0x1E2;//Time of Tacho / No of clk in one cycle
+const UInt32 F1_gpo_cnt_A_reg = 0x3B0;// how many pulses to count
+//const Int32 F1_Prescaler1_reg5 = 0x3E8; //OLD FPGA 05.022019
+const UInt32 F1_Prescaler1_reg6 = 0x3EA; //New FPGA
+
+const UInt32 CNT = 4;//bigger number for resolution
+const UInt32 Presc = 2;//Lower number for resolution
+UInt32 temp;
+
+public void OnExecute(StubManager stubManager)
+{
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000000 + F1_Prescaler1_reg6, Presc);//for new FPGA use reg6!!
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_Prescaler1_reg6);//for new FPGA use reg6!!!
+ response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_gpo_cnt_A_reg);
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000000 + F1_gpo_cnt_A_reg, CNT);
+ response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_gpo_cnt_A_reg);
+
+ for(int i =0;i<1000;i++)
+ {
+ response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + F1_Tacho_reg9);
+
+
+ temp = (Freq * CNT) /((UInt32)response.Value * Presc);
+
+ stubManager.Write(temp);
+ stubManager.Write(" Hz, ");
+ stubManager.WriteHex((response.Value & 0xffff),4);
+ stubManager.WriteLine("");
+ Thread.Sleep(100); //Sleep for 100 milli.
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs b/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
new file mode 100644
index 000000000..43d0dd76a
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
@@ -0,0 +1,90 @@
+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)
+{
+ // Request ----
+ // UInt32 : DispenserId
+ // Boolean : Start --- true for ByPass
+ // Boolean : SetDirection --- true for TestRelay
+ // UInt32 : SetMicrostepDivision -- 1 for TestByPassTestRelay
+ // Int32 : SetSpeed
+
+ // Response ----
+ // UInt32 : DispenserId
+ // UInt32 : DispenserPosition --- MSB for Disp_UP, LSB for Disp_Down
+ // UInt32 : InkWorningLevel ---- MSB for Realy_On, LSB for Over_Press
+ // String : Status
+ // UInt32 : StatusWord
+
+ stubManager.Write("read inputs ");
+ stubManager.WriteLine("");
+ var response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, false, 0, 0);//read inputs
+ stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
+ stubManager.WriteHex((response.DispenserPosition),4);
+ stubManager.WriteLine("");
+ stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
+ stubManager.WriteHex((response.InkWorningLevel),4);
+ stubManager.WriteLine("");
+ stubManager.WriteLine("----");
+ stubManager.WriteLine("");
+
+ stubManager.Write("TestRelay + read inputs ");
+ stubManager.WriteLine("");
+ response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, true, 0, 0);//TestRelay + read inputs
+ stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
+ stubManager.WriteHex((response.DispenserPosition),4);
+ stubManager.WriteLine("");
+ stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
+ stubManager.WriteHex((response.InkWorningLevel),4);
+ stubManager.WriteLine("");
+ stubManager.WriteLine("----");
+ stubManager.WriteLine("");
+
+ stubManager.Write("ByPass + TestRelay + read inputs ");
+ stubManager.WriteLine("");
+ response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, true, true, 0, 0);//ByPass + TestRelay + read inputs
+ stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
+ stubManager.WriteHex((response.DispenserPosition),4);
+ stubManager.WriteLine("");
+ stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
+ stubManager.WriteHex((response.InkWorningLevel),4);
+ stubManager.WriteLine("");
+ stubManager.WriteLine("----");
+ stubManager.WriteLine("");
+
+ stubManager.Write("Remove ByPass (TestRelay + read inputs) ");
+ stubManager.WriteLine("");
+ response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, true, 0, 0);//TestRelay + read inputs
+ stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
+ stubManager.WriteHex((response.DispenserPosition),4);
+ stubManager.WriteLine("");
+ stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
+ stubManager.WriteHex((response.InkWorningLevel),4);
+ stubManager.WriteLine("");
+ stubManager.WriteLine("----");
+ stubManager.WriteLine("");
+
+
+ stubManager.Write("Rempve TestRelay and read inputs ");
+ stubManager.WriteLine("");
+ response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,3, false, false, 0, 0);//read input
+ stubManager.Write("MSB for Disp_UP, LSB for Disp_Down ");
+ stubManager.WriteHex((response.DispenserPosition),4);
+ stubManager.WriteLine("");
+ stubManager.Write("MSB for Realy_On, LSB for Over_Press ");
+ stubManager.WriteHex((response.InkWorningLevel),4);
+ stubManager.WriteLine("");
+ stubManager.WriteLine("----");
+ stubManager.WriteLine("");
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Set loading arm center.cs b/Software/Stubs Collection/stubs/Set loading arm center.cs
new file mode 100644
index 000000000..bb502309e
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Set loading arm center.cs
@@ -0,0 +1,22 @@
+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)
+{
+
+
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xB1;
+
+var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/SetWindingRotations.cs b/Software/Stubs Collection/stubs/SetWindingRotations.cs
new file mode 100644
index 000000000..e89bc04e5
--- /dev/null
+++ b/Software/Stubs Collection/stubs/SetWindingRotations.cs
@@ -0,0 +1,27 @@
+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)
+{
+
+// use this stub to set the number of thread rotation on each screw passage (bigger the number - slower the screw)
+ProgressRequest progressRequest = new ProgressRequest();
+//DO NOT CHANGE THIS LINE!!!!!!!!!!!!!!
+progressRequest.Amount = 0xF1; //DO NOT CHANGE THIS LINE!!!!!!!!!!!!!!
+//DO NOT CHANGE THIS LINE!!!!!!!!!!!!!!
+
+//set the number of rotations *1000
+progressRequest.Delay = 6123;
+
+ var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/embeddedparametersbuildand load.cs b/Software/Stubs Collection/stubs/embeddedparametersbuildand load.cs
new file mode 100644
index 000000000..ed3e3f8d9
--- /dev/null
+++ b/Software/Stubs Collection/stubs/embeddedparametersbuildand load.cs
@@ -0,0 +1,178 @@
+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;
+using Google.Protobuf;
+using Tango.PMR.EmbeddedParameters;
+using System.IO;
+using Tango.PMR.IO;
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+ConfigurationParameters configurationParameters = new ConfigurationParameters();
+
+configurationParameters.BreakSensorLimit = 10;
+
+//how many samples to collect in diagnostics before sending
+configurationParameters.DiagnosticCollectionLimit = 3;
+
+//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 = 49;
+configurationParameters.OpenValveTimeout = 49;
+
+//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
+configurationParameters.InitialDispenserPressure = 0.25;
+configurationParameters.InitialDispenserTimeout = 60000; //20 seconds
+configurationParameters.InitialDispenserTimeLag = 100;
+
+//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed
+configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000
+configurationParameters.DispenserBuildPressureLimit = 1.0;
+configurationParameters.DispenserBuildPressureTimeout = 180000;
+configurationParameters.DispenserBuildPressureLag = 50;
+
+//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;
+
+//waste factor for intersegment pressure building
+configurationParameters.DispenserPresegmentWFCF = 40;
+//how much time to start the WFCF process (pressure buildup) before segment start
+configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000;
+
+//flag: start heaters according to saved process parameters upon init?
+configurationParameters.StartHeatingOnInitSequence = true;
+
+// current test for the heaters - alarm thresholds
+configurationParameters.CurrentAlarmLowLimit = 0.78;
+configurationParameters.CurrentAlarmHighLimit = 1.07;
+
+//currently not in use
+configurationParameters.IDSSegmentRefillTimeout = 5000;
+configurationParameters.IDSPreSegmentBuildupTime = 5000;
+//cleaning!!!!!!!!!!
+configurationParameters.IDSCleaningSpeed = 800;
+configurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt
+configurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment
+
+configurationParameters.IDSLeftCleaningMotorSpeed = 49;
+configurationParameters.IDSRightCleaningMotorSpeed = 49;
+
+configurationParameters.SwitchToIdleTimeinSeconds = 3600;
+configurationParameters.IdleDrierTemperature = 80;
+configurationParameters.IdleHeadTemperature = 80;
+configurationParameters.IdleMixerTemperature = 0;
+configurationParameters.PowerOffTemperatureLimit = 100;
+
+//general parameters, ORDER MUST BE PRESERVED!!!!
+//check the dispensers hard limit alarms
+/*1*/
+Double checkHardLimitAlarms = new Double();
+
+checkHardLimitAlarms = 1.0;
+configurationParameters.GeneralParameters.Add(checkHardLimitAlarms);
+
+/*2*/
+Double checkCurrentAlarms = new Double();
+checkCurrentAlarms = 1.0;
+configurationParameters.GeneralParameters.Add(checkCurrentAlarms);
+//check the tamper alarms
+
+/*3*/
+Double checkTamperAlarms = new Double();
+checkTamperAlarms = 0.0;
+configurationParameters.GeneralParameters.Add(checkTamperAlarms);
+
+/*4*/
+Double checkMotorAlarms = new Double();
+checkMotorAlarms = 1.0;
+configurationParameters.GeneralParameters.Add(checkMotorAlarms);
+
+/*5*/
+Double WinderBackToBaseTime = new Double();
+WinderBackToBaseTime = 820.0;
+configurationParameters.GeneralParameters.Add(WinderBackToBaseTime);
+
+/*6*/
+Double DispenserInitialPressureSpeed = new Double();
+DispenserInitialPressureSpeed = 1050.0;
+configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);
+
+/*7*/
+Double SetDiagnosticMode = new Double();
+SetDiagnosticMode = 3.0;
+configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
+
+/*8*/
+Double SetAutoFill = new Double();
+SetAutoFill = 3.0;
+configurationParameters.GeneralParameters.Add(SetAutoFill);
+
+File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
+
+byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
+
+
+var config = ConfigurationParameters.Parser.ParseFrom(fileBytes);
+
+ stubManager.Write( config);
+ Thread.Sleep(1000);
+stubManager.Write("\n\n Deleting old file");
+
+DeleteRequest deleteRequest = new DeleteRequest();
+deleteRequest.Path = "SYSINFO//EmbParam.cfg";
+deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
+DeleteResponse response5 = stubManager.Run<DeleteResponse>(deleteRequest);
+
+ Thread.Sleep(1000);
+stubManager.Write("\n\n Loading new file file");
+
+ FileUploadRequest fileUploadRequest = new FileUploadRequest();
+fileUploadRequest.Path = "SYSINFO//EmbParam.cfg";
+fileUploadRequest.Length = (int)fileBytes.Length;
+FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest);
+ Thread.Sleep(1000);
+long chunk_size = response2.MaxChunkLength;
+
+FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
+
+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);
+
+}
+
+/*
+13:46:42.38: Executing script 'embeddedparametersbuild.cs'...
+{ "BreakSensorLimit": 10, "DiagnosticCollectionLimit": 1, "OverHeatCountLimit": 3, "UnderHeatCountLimit": 3, "CloseValveTimeout": 255, "OpenValveTimeout": 255, "InitialDispenserPressure": 1.5, "InitialDispenserTimeout": 60000, "InitialDispenserTimeLag": 100, "DispenserBuildPressureSpeed": 800, "DispenserBuildPressureLimit": 0.9, "DispenserBuildPressureTimeout": 80000, "DispenserBuildPressureLag": 50, "ACHeatersLowerOperationLimit": 995, "ACHeatersUpperOperationLimit": 1005, "DCHeatersLowerOperationLimit": 978, "DCHeatersUpperOperationLimit": 1005, "DispenserPresegmentWFCF": 80, "StartHeatingOnInitSequence": true, "GeneralParameters": [ 1, 1, 1, 1, 800, 1000 ], "CurrentAlarmLowLimit": 0.8, "CurrentAlarmHighLimit": 1.07, "IDSSegmentRefillTimeout": 5000, "IDSPreSegmentBuildupTime": 5000, "IDSCleaningSpeed": 50, "IDSCleaningStopBeforeSegmentTime": 3000, "IDSCleaningStartSprayPreSegmentTime": 1000, "IDSLeftCleaningMotorSpeed": 30, "IDSRightCleaningMotorSpeed": 23, "SwitchToIdleTimeinSeconds": 3600, "IdleDrierTemperature": 80, "IdleHeadTemperature": 80, "PowerOffTemperatureLimit": 50, "IDSPreSegmentWFCFTimeBeforeSegment": 1500 } */
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/moveloadarmback.cs b/Software/Stubs Collection/stubs/moveloadarmback.cs
new file mode 100644
index 000000000..b7f5e0fa6
--- /dev/null
+++ b/Software/Stubs Collection/stubs/moveloadarmback.cs
@@ -0,0 +1,29 @@
+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)
+{
+// Request ----
+// UInt32 : MotorID
+// Boolean : Direction
+// UInt32 : Position
+
+// Response ----
+// UInt32 : MotorID
+// UInt32 : Position
+// UInt32 : StatusReg
+// Boolean : Direction
+// UInt32 : MotStatus
+// Boolean : STEPLOSSA
+// Boolean : STEPLOSSB
+var response = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 15);
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/technician view files/new head.tpf b/Software/Stubs Collection/stubs/technician view files/new head.tpf
index 1dfde4520..c2ae54a7d 100644
--- a/Software/Stubs Collection/stubs/technician view files/new head.tpf
+++ b/Software/Stubs Collection/stubs/technician view files/new head.tpf
@@ -41,7 +41,7 @@
<HeaterState>
<HeaterType>DryerAirHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>-137.64</CurrentValue>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -60,7 +60,7 @@
<HeaterState>
<HeaterType>DryerMainHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>8.5</CurrentValue>
+ <CurrentValue>-2.05</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -79,7 +79,7 @@
<HeaterState>
<HeaterType>DryerSecondaryHeater</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>233.14999999999998</CurrentValue>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -98,7 +98,7 @@
<HeaterState>
<HeaterType>HeaterZone3</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -116,13 +116,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone2</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.94</CurrentValue>
+ <SetPoint>30</SetPoint>
+ <CurrentValue>225.29</CurrentValue>
<IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>30</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
@@ -135,13 +135,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone1</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.97</CurrentValue>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>0</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>c844235a-8a29-4c2e-a964-e8f546d2ced7</ID>
@@ -154,13 +154,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>MixerHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
+ <SetPoint>30</SetPoint>
+ <CurrentValue>216.54999999999998</CurrentValue>
<IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>0</SetPoint>
+ <SetPoint>30</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID>
@@ -173,13 +173,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone4</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.97</CurrentValue>
+ <SetPoint>30</SetPoint>
+ <CurrentValue>170.98999999999998</CurrentValue>
<IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>30</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
@@ -192,13 +192,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone5</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.97</CurrentValue>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>0</SetPoint>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>efff2e67-e3a3-4667-9208-4704707d7cda</ID>
@@ -211,13 +211,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone6</HeaterType>
- <SetPoint>99</SetPoint>
- <CurrentValue>98.97</CurrentValue>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>279.81</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>99</SetPoint>
+ <SetPoint>0</SetPoint>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>f9936dba-cef8-41e3-a715-eb629dca1870</ID>
@@ -810,6 +810,44 @@
<ItemGuid>3EEE3B24-55DD-49F2-9339-F83F883BB908</ItemGuid>
<ColorNumber>-1</ColorNumber>
</TechItem>
+ <TechItem xsi:type="HeaterItem">
+ <ID>e502555c-95b0-4688-b5e3-8becb30fc62c</ID>
+ <Left>1458.875</Left>
+ <Top>91.7821782178217</Top>
+ <Width>200</Width>
+ <Height>187.45575221238937</Height>
+ <Angle>0</Angle>
+ <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <HeaterState>
+ <HeaterType>DryerAirHeater</HeaterType>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>0</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
+ </HeaterState>
+ <SetPoint>0</SetPoint>
+ </TechItem>
+ <TechItem xsi:type="HeaterItem">
+ <ID>0f7a35fc-e363-45b2-948d-ba66f91e4f0d</ID>
+ <Left>1457.8333333333333</Left>
+ <Top>344.58910891089096</Top>
+ <Width>200</Width>
+ <Height>187.45575221238937</Height>
+ <Angle>0</Angle>
+ <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <HeaterState>
+ <HeaterType>DryerAirHeater</HeaterType>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>0</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
+ </HeaterState>
+ <SetPoint>0</SetPoint>
+ </TechItem>
</Items>
</MachineTechViewProjectTab>
<MachineTechViewProjectTab>
@@ -874,9 +912,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1460</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>984b4126-3dda-4624-a79f-0646eb0e1358</ID>
@@ -889,9 +927,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1516</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>8ebc3ab7-a02d-4b12-93b3-2563443831d7</ID>
@@ -904,9 +942,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>acafb268-5e97-4277-8dc8-173250a9e3f8</ID>
@@ -919,9 +957,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1273</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MotorItem">
<ID>3ccb1485-b0e9-4d36-a931-a1b3865edeaa</ID>
@@ -945,9 +983,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>514</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100000</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>75b99507-4eba-4b11-b52e-26732d4c5479</ID>
@@ -960,9 +998,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>a30e48de-be76-4230-92d0-d27d6f37b940</ID>
@@ -975,9 +1013,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>5ac4b368-093a-4192-98d4-e9d24f229b13</ID>
@@ -990,9 +1028,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>4</DecimalPlaces>
<Duration>1398</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MonitorRecorderItem">
<ID>9c34dc69-cfaa-48b4-9d02-8f0d9bba79dd</ID>
@@ -1446,9 +1484,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>1426</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>cc99a514-1498-4b93-a4eb-4e0a2a2e9de6</ID>
@@ -1461,9 +1499,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1282</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="ValveItem">
<ID>cdddd48e-422d-48f4-8397-5032c3705fdb</ID>
@@ -1671,9 +1709,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>81b78212-14d8-4a66-bf3a-eeea9900e0d6</ID>
@@ -1715,9 +1753,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>064bd571-4250-4ea3-8ed5-96f1ddc8fe6b</ID>
@@ -1750,8 +1788,8 @@
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>85b25b0b-cd3d-4a8a-88f5-f832623d7ec2</ID>
- <Left>15</Left>
- <Top>708.27433628318636</Top>
+ <Left>8.75</Left>
+ <Top>704.87334618417651</Top>
<Width>350</Width>
<Height>152.70353982300856</Height>
<Angle>0</Angle>
@@ -1759,28 +1797,28 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>85e9ecc2-3bce-4055-89a9-1712752898a9</ID>
- <Left>384</Left>
- <Top>708.34070796460185</Top>
+ <Left>375.66666666666663</Left>
+ <Top>902.19714360816624</Top>
<Width>128</Width>
<Height>91.469026548670342</Height>
<Angle>0</Angle>
- <ItemGuid>96A8AF31-B489-4FA2-BF99-C66D7DEC94C8</ItemGuid>
+ <ItemGuid>500698E0-5623-4A47-9537-FCAAF5D0B725</ItemGuid>
<ColorNumber>-1</ColorNumber>
</TechItem>
<TechItem xsi:type="HeaterItem">
<ID>8d9b0d4b-ac5e-4c17-b7eb-4d59825064c7</ID>
- <Left>522</Left>
- <Top>719.04867256637192</Top>
+ <Left>523.04166666666652</Left>
+ <Top>895.90015771488663</Top>
<Width>103</Width>
<Height>121.59292035398221</Height>
<Angle>0</Angle>
- <ItemGuid>2D578A37-D808-40D0-ACE4-4A868EDD6BDC</ItemGuid>
+ <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid>
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone12</HeaterType>
@@ -1803,9 +1841,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>5ed86083-bdd6-4648-b7ca-f17fa97f034a</ID>
@@ -1847,9 +1885,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>e8130372-e0ee-4c1c-a43d-4ab15ff57bd8</ID>
@@ -1891,9 +1929,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>e7935033-56c6-42a4-a2b3-f5eedb0a11e7</ID>
@@ -1935,9 +1973,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>b3826c8e-1d82-4f4f-ad9f-d88f257dffb2</ID>
@@ -1961,7 +1999,7 @@
<HeaterState>
<HeaterType>HeaterZone3</HeaterType>
<SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
@@ -1979,9 +2017,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>233f0076-7595-4ecb-8496-41eeb7b457ea</ID>
@@ -2004,13 +2042,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone1</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.97</CurrentValue>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>0</SetPoint>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>7b7d9bea-29df-4f94-8ab6-2a6d7105bccf</ID>
@@ -2023,9 +2061,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>72d7192b-dd27-4064-9f5f-90062388a81c</ID>
@@ -2048,13 +2086,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone2</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.94</CurrentValue>
+ <SetPoint>30</SetPoint>
+ <CurrentValue>225.29</CurrentValue>
<IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>30</SetPoint>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>64fba32f-3c03-42b3-b1ed-e2bdbe454bd6</ID>
@@ -2067,9 +2105,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>5f451443-fab2-4bf6-8f21-5e038ca2c726</ID>
@@ -2092,13 +2130,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone6</HeaterType>
- <SetPoint>99</SetPoint>
- <CurrentValue>98.97</CurrentValue>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>279.81</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>0</SetPoint>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>4f3b4ecd-759a-4ba5-80f3-74cc485d7085</ID>
@@ -2111,9 +2149,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>665593d6-e689-459e-94f9-2cdcce6150ac</ID>
@@ -2136,13 +2174,13 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone5</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.97</CurrentValue>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>8.5</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
<IsInSetPoint>true</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>0</SetPoint>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>60dff2b2-7ddc-47a9-90b1-3f45968c1790</ID>
@@ -2155,9 +2193,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>2</DecimalPlaces>
<Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="PidItem">
<ID>b53a74f3-8e91-40ce-b980-c5b237baeee9</ID>
@@ -2180,13 +2218,101 @@
<ColorNumber>-1</ColorNumber>
<HeaterState>
<HeaterType>HeaterZone4</HeaterType>
- <SetPoint>100</SetPoint>
- <CurrentValue>99.97</CurrentValue>
+ <SetPoint>30</SetPoint>
+ <CurrentValue>170.98999999999998</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>true</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
+ </HeaterState>
+ <SetPoint>30</SetPoint>
+ </TechItem>
+ <TechItem xsi:type="SingleGraphItem">
+ <ID>f786b4da-3291-4ccb-a280-196fd8697ac1</ID>
+ <Left>5.7499999999999858</Left>
+ <Top>866.06435643564362</Top>
+ <Width>350</Width>
+ <Height>152.70353982300856</Height>
+ <Angle>0</Angle>
+ <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E448DD</ItemGuid>
+ <ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
+ <Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
+ <Min>0</Min>
+ <Max>300</Max>
+ </TechItem>
+ <TechItem xsi:type="PidItem">
+ <ID>584c7f29-49cc-4845-a7ab-09239bd3a986</ID>
+ <Left>377.875</Left>
+ <Top>735.75944098834611</Top>
+ <Width>128</Width>
+ <Height>91.469026548670342</Height>
+ <Angle>0</Angle>
+ <ItemGuid>96A8AF31-B489-4FA2-BF99-C66D7DEC94C8</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ </TechItem>
+ <TechItem xsi:type="HeaterItem">
+ <ID>5c6da8d4-bd2e-44cc-8d99-a6b8bca7df3f</ID>
+ <Left>524.20833333333337</Left>
+ <Top>721.52681153071046</Top>
+ <Width>103</Width>
+ <Height>121.59292035398221</Height>
+ <Angle>0</Angle>
+ <ItemGuid>2D578A37-D808-40D0-ACE4-4A868EDD6BDC</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <HeaterState>
+ <HeaterType>DryerAirHeater</HeaterType>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>0</CurrentValue>
<IsActive>false</IsActive>
<IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
+ <IsInSetPoint>false</IsInSetPoint>
</HeaterState>
- <SetPoint>100</SetPoint>
+ <SetPoint>0</SetPoint>
+ </TechItem>
+ <TechItem xsi:type="SingleGraphItem">
+ <ID>05eab3d7-3af6-4d3f-b3b3-468eeb77a503</ID>
+ <Left>644.29166666666674</Left>
+ <Top>874.00000000000011</Top>
+ <Width>350</Width>
+ <Height>152.70353982300856</Height>
+ <Angle>0</Angle>
+ <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E448CC</ItemGuid>
+ <ColorNumber>-14774017</ColorNumber>
+ <DecimalPlaces>2</DecimalPlaces>
+ <Duration>2962</Duration>
+ <UseAutoRange>true</UseAutoRange>
+ <Min>0</Min>
+ <Max>300</Max>
+ </TechItem>
+ <TechItem xsi:type="PidItem">
+ <ID>c1f48bf1-9cb3-475a-b152-e8b9a211b694</ID>
+ <Left>1010.1666666666667</Left>
+ <Top>895.60597564181194</Top>
+ <Width>128</Width>
+ <Height>91.469026548670342</Height>
+ <Angle>0</Angle>
+ <ItemGuid>7FCA67CB-785B-49F7-B9F2-191E3ACC6CB7</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ </TechItem>
+ <TechItem xsi:type="HeaterItem">
+ <ID>c5fbeda2-230d-40e4-9d52-5b3236e0c561</ID>
+ <Left>1161.708333333333</Left>
+ <Top>885.907999649522</Top>
+ <Width>103</Width>
+ <Height>121.59292035398221</Height>
+ <Angle>0</Angle>
+ <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
+ <ColorNumber>-1</ColorNumber>
+ <HeaterState>
+ <HeaterType>DryerAirHeater</HeaterType>
+ <SetPoint>0</SetPoint>
+ <CurrentValue>0</CurrentValue>
+ <IsActive>false</IsActive>
+ <IsRampingUp>false</IsRampingUp>
+ <IsInSetPoint>false</IsInSetPoint>
+ </HeaterState>
+ <SetPoint>0</SetPoint>
</TechItem>
</Items>
</MachineTechViewProjectTab>
@@ -2319,9 +2445,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="SingleGraphItem">
<ID>aae29286-81b3-476a-9f58-c0fd246cae96</ID>
@@ -2334,9 +2460,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>7d94c7c4-1288-4f9d-b0e6-a06794829642</ID>
@@ -2428,9 +2554,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>1c254a92-c075-453f-9667-cdcc91cf8e6a</ID>
@@ -2465,9 +2591,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="TextItem">
<ID>0bef6e9d-6da0-4f06-9e1a-c00142bde4c1</ID>
@@ -2502,9 +2628,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>3</DecimalPlaces>
<Duration>3600</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="MonitorItem">
<ID>39f6a02c-c4d9-47d0-b92d-bdea0ed5d3ce</ID>
@@ -2658,9 +2784,9 @@
<ColorNumber>-14774017</ColorNumber>
<DecimalPlaces>1</DecimalPlaces>
<Duration>1942</Duration>
+ <UseAutoRange>true</UseAutoRange>
<Min>0</Min>
<Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
</TechItem>
<TechItem xsi:type="ValveItem">
<ID>604e031b-89c3-4c9d-90ef-7b861a77e5e0</ID>
@@ -2685,5 +2811,5 @@
</Items>
</MachineTechViewProjectTab>
</Tabs>
- <SelectedTabIndex>4</SelectedTabIndex>
+ <SelectedTabIndex>0</SelectedTabIndex>
</MachineTechViewProject> \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/temp/EmbParam.cfg b/Software/Stubs Collection/stubs/temp/EmbParam.cfg
new file mode 100644
index 000000000..00a9e0549
--- /dev/null
+++ b/Software/Stubs Collection/stubs/temp/EmbParam.cfg
Binary files differ
diff --git a/Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs
new file mode 100644
index 000000000..c49e44582
--- /dev/null
+++ b/Software/Stubs Collection/stubs/temp/embeddedparametersbuild.cs
@@ -0,0 +1,178 @@
+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;
+using Google.Protobuf;
+using Tango.PMR.EmbeddedParameters;
+using System.IO;
+using Tango.PMR.IO;
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+ConfigurationParameters configurationParameters = new ConfigurationParameters();
+
+configurationParameters.BreakSensorLimit = 10;
+
+//how many samples to collect in diagnostics before sending
+configurationParameters.DiagnosticCollectionLimit = 1;
+
+//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 = 49;
+configurationParameters.OpenValveTimeout = 49;
+
+//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
+configurationParameters.InitialDispenserPressure = 0.25;
+configurationParameters.InitialDispenserTimeout = 60000; //20 seconds
+configurationParameters.InitialDispenserTimeLag = 100;
+
+//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed
+configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000
+configurationParameters.DispenserBuildPressureLimit = 1.0;
+configurationParameters.DispenserBuildPressureTimeout = 180000;
+configurationParameters.DispenserBuildPressureLag = 50;
+
+//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;
+
+//waste factor for intersegment pressure building
+configurationParameters.DispenserPresegmentWFCF = 40;
+//how much time to start the WFCF process (pressure buildup) before segment start
+configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000;
+
+//flag: start heaters according to saved process parameters upon init?
+configurationParameters.StartHeatingOnInitSequence = true;
+
+// current test for the heaters - alarm thresholds
+configurationParameters.CurrentAlarmLowLimit = 0.78;
+configurationParameters.CurrentAlarmHighLimit = 1.07;
+
+//currently not in use
+configurationParameters.IDSSegmentRefillTimeout = 5000;
+configurationParameters.IDSPreSegmentBuildupTime = 5000;
+//
+configurationParameters.IDSCleaningSpeed = 800;
+configurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt
+configurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment
+
+configurationParameters.IDSLeftCleaningMotorSpeed = 49;
+configurationParameters.IDSRightCleaningMotorSpeed = 49;
+
+configurationParameters.SwitchToIdleTimeinSeconds = 3600;
+configurationParameters.IdleDrierTemperature = 80;
+configurationParameters.IdleHeadTemperature = 80;
+configurationParameters.IdleMixerTemperature = 0;
+configurationParameters.PowerOffTemperatureLimit = 50;
+
+//general parameters, ORDER MUST BE PRESERVED!!!!
+//check the dispensers hard limit alarms
+/*1*/
+Double checkHardLimitAlarms = new Double();
+
+checkHardLimitAlarms = 1.0;
+configurationParameters.GeneralParameters.Add(checkHardLimitAlarms);
+
+/*2*/
+Double checkCurrentAlarms = new Double();
+checkCurrentAlarms = 1.0;
+configurationParameters.GeneralParameters.Add(checkCurrentAlarms);
+//check the tamper alarms
+
+/*3*/
+Double checkTamperAlarms = new Double();
+checkTamperAlarms = 0.0;
+configurationParameters.GeneralParameters.Add(checkTamperAlarms);
+
+/*4*/
+Double checkMotorAlarms = new Double();
+checkMotorAlarms = 1.0;
+configurationParameters.GeneralParameters.Add(checkMotorAlarms);
+
+/*5*/
+Double WinderBackToBaseTime = new Double();
+WinderBackToBaseTime = 800.0;
+configurationParameters.GeneralParameters.Add(WinderBackToBaseTime);
+
+/*6*/
+Double DispenserInitialPressureSpeed = new Double();
+DispenserInitialPressureSpeed = 1150.0;
+configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);
+
+/*7*/
+Double SetDiagnosticMode = new Double();
+SetDiagnosticMode = 1.0;
+configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
+
+/*8*/
+Double SetAutoFill = new Double();
+SetAutoFill = 3.0;
+configurationParameters.GeneralParameters.Add(SetAutoFill);
+
+File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
+
+byte[] fileBytes = File.ReadAllBytes("C:/temp/EmbParam.cfg");
+
+
+var config = ConfigurationParameters.Parser.ParseFrom(fileBytes);
+
+ stubManager.Write( config);
+ Thread.Sleep(1000);
+stubManager.Write("\n\n Deleting old file");
+
+DeleteRequest deleteRequest = new DeleteRequest();
+deleteRequest.Path = "SYSINFO//EmbParam.cfg";
+deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
+DeleteResponse response5 = stubManager.Run<DeleteResponse>(deleteRequest);
+
+ Thread.Sleep(1000);
+stubManager.Write("\n\n Loading new file file");
+
+ FileUploadRequest fileUploadRequest = new FileUploadRequest();
+fileUploadRequest.Path = "SYSINFO//EmbParam.cfg";
+fileUploadRequest.Length = (int)fileBytes.Length;
+FileUploadResponse response2 = stubManager.Run<FileUploadResponse>(fileUploadRequest);
+ Thread.Sleep(1000);
+long chunk_size = response2.MaxChunkLength;
+
+FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
+
+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);
+
+}
+
+/*
+13:46:42.38: Executing script 'embeddedparametersbuild.cs'...
+{ "BreakSensorLimit": 10, "DiagnosticCollectionLimit": 1, "OverHeatCountLimit": 3, "UnderHeatCountLimit": 3, "CloseValveTimeout": 255, "OpenValveTimeout": 255, "InitialDispenserPressure": 1.5, "InitialDispenserTimeout": 60000, "InitialDispenserTimeLag": 100, "DispenserBuildPressureSpeed": 800, "DispenserBuildPressureLimit": 0.9, "DispenserBuildPressureTimeout": 80000, "DispenserBuildPressureLag": 50, "ACHeatersLowerOperationLimit": 995, "ACHeatersUpperOperationLimit": 1005, "DCHeatersLowerOperationLimit": 978, "DCHeatersUpperOperationLimit": 1005, "DispenserPresegmentWFCF": 80, "StartHeatingOnInitSequence": true, "GeneralParameters": [ 1, 1, 1, 1, 800, 1000 ], "CurrentAlarmLowLimit": 0.8, "CurrentAlarmHighLimit": 1.07, "IDSSegmentRefillTimeout": 5000, "IDSPreSegmentBuildupTime": 5000, "IDSCleaningSpeed": 50, "IDSCleaningStopBeforeSegmentTime": 3000, "IDSCleaningStartSprayPreSegmentTime": 1000, "IDSLeftCleaningMotorSpeed": 30, "IDSRightCleaningMotorSpeed": 23, "SwitchToIdleTimeinSeconds": 3600, "IdleDrierTemperature": 80, "IdleHeadTemperature": 80, "PowerOffTemperatureLimit": 50, "IDSPreSegmentWFCFTimeBeforeSegment": 1500 } */
+
+
+} \ No newline at end of file