diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-26 15:47:08 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-26 15:47:08 +0200 |
| commit | a4d662dcdcde9ea06de758ede42657a4be38b84b (patch) | |
| tree | 76b2a6f41e3f9a6352664851cad6775cc279b278 | |
| parent | 60a2692fd4acadfdf8724bb198e38a2689a866fd (diff) | |
| download | Tango-a4d662dcdcde9ea06de758ede42657a4be38b84b.tar.gz Tango-a4d662dcdcde9ea06de758ede42657a4be38b84b.zip | |
stubs update
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 Binary files differnew file mode 100644 index 000000000..00a9e0549 --- /dev/null +++ b/Software/Stubs Collection/stubs/temp/EmbParam.cfg 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 |
