diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-27 09:18:58 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-27 09:18:58 +0200 |
| commit | 1d4d327571d4c0c9f4e17411551bd4dae1e2aed0 (patch) | |
| tree | 54cfe3cb1d789c05b7270b07904d0ead44aa236a /Software | |
| parent | 31096fb03e434d52738b07acd881b87516c3c3d5 (diff) | |
| download | Tango-1d4d327571d4c0c9f4e17411551bd4dae1e2aed0.tar.gz Tango-1d4d327571d4c0c9f4e17411551bd4dae1e2aed0.zip | |
STUBS
Diffstat (limited to 'Software')
46 files changed, 7934 insertions, 18 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/Create File System on the Drive - reset flash.cs b/Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs new file mode 100644 index 000000000..d8b763ddd --- /dev/null +++ b/Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs @@ -0,0 +1,17 @@ +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) +{ + + var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xCF, 0xCF);//Create File System on the Drive +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs new file mode 100644 index 000000000..34dce79fe --- /dev/null +++ b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs @@ -0,0 +1,46 @@ +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) +{ + UInt32 Dispenser_ID = 3; //Software Dispensers 0..7, BP Dispensers 1..8 (4 for bp disp 5) + + stubManager.Write("ByPass + TestRelay + read inputs "); + stubManager.WriteLine(""); + var response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, true, false, 0, 0);//ByPass + 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.Run("StubMotorRunRequest" ,(Dispenser_ID + 6), true, 1200 );//Dispenser ID -> motor ID + + Thread.Sleep(30000); //Sleep + stubManager.Run("StubMotorStopRequest" ,15, 3); + + stubManager.Write("Remove ByPass ( + read inputs) "); + stubManager.WriteLine(""); + response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, 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(""); + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs new file mode 100644 index 000000000..1887d433c --- /dev/null +++ b/Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs @@ -0,0 +1,46 @@ +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) +{ + UInt32 Dispenser_ID = 1; //Software Dispensers 0..7, BP Dispensers 1..8 (4 for bp disp 5) + + stubManager.Write("ByPass + TestRelay + read inputs "); + stubManager.WriteLine(""); + var response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, true, false, 0, 0);//ByPass + 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.Run("StubMotorRunRequest" ,(Dispenser_ID + 6), false, 1200 );//Dispenser ID -> motor ID + + Thread.Sleep(30000); //Sleep + stubManager.Run("StubMotorStopRequest" ,15, 3); + + stubManager.Write("Remove ByPass ( + read inputs) "); + stubManager.WriteLine(""); + response = stubManager.Run<StubDispenserResponse>("StubDispenserRequest" ,Dispenser_ID, 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(""); + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/EmbParam.cfg b/Software/Stubs Collection/stubs/EmbParam.cfg Binary files differnew file mode 100644 index 000000000..6482fc82b --- /dev/null +++ b/Software/Stubs Collection/stubs/EmbParam.cfg diff --git a/Software/Stubs Collection/stubs/Head LS.cs b/Software/Stubs Collection/stubs/Head LS.cs new file mode 100644 index 000000000..b5c646649 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head LS.cs @@ -0,0 +1,31 @@ +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; + +/*HEAD CARD I/O + +Slave address 0x40 / 0x42 / 0x44 / 0x46 + +------------------------- +| Byte | WR | RD | CFG | +------------------------- +| Low | 02 | 00 | 06 | +| High | 03 | 01 | 07 | +------------------------- +Example (42 Slave Address, 03 Write High Byte, D8 Set value (NA on read)) +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203D8); +*/ +public void OnExecute(StubManager stubManager) +{ + //Head LS + var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x460100); + stubManager.WriteLineHex(response7.Progress,2); +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/HeadCard_ADC.cs b/Software/Stubs Collection/stubs/HeadCard_ADC.cs new file mode 100644 index 000000000..e1e18089c --- /dev/null +++ b/Software/Stubs Collection/stubs/HeadCard_ADC.cs @@ -0,0 +1,64 @@ +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; + + +//----------------------------------------- HEAD_ADC1_0x50 +//Maximum value: 1.3V, 1 LSB: 2500/4096 mA +const UInt32 HEAD_CURRENT_ZONE_1 = 0; +const UInt32 HEAD_CURRENT_ZONE_2 = 1; +const UInt32 HEAD_CURRENT_ZONE_3 = 2; +const UInt32 HEAD_CURRENT_ZONE_4 = 3; +const UInt32 HEAD_CURRENT_ZONE_5 = 4; +const UInt32 HEAD_CURRENT_ZONE_6 = 5; +const UInt32 HEAD_CURRENT_ZONE_7 = 6; +const UInt32 HEAD_CURRENT_ZONE_8 = 7; + +//----------------------------------------- HEAD_ADC2_0x54 +//Maximum value: 1.3V, 1 LSB: 2500/4096 mA +const UInt32 HEAD_CURRENT_ZONE_9 = 8 ; +const UInt32 HEAD_CURRENT_ZONE_10 = 9 ; +const UInt32 HEAD_CURRENT_ZONE_11 = 10; +const UInt32 HEAD_CURRENT_ZONE_12 = 11; + +//Maximum value: 2.1V, 1 LSB: 5000/4096 mA +const UInt32 HEAD_CURRENT_HTIN_1 = 12; +const UInt32 HEAD_CURRENT_HTIN_2 = 13; +const UInt32 HEAD_CURRENT_HTIN_3 = 14; +const UInt32 HEAD_CURRENT_HTIN_4 = 15; + +//----------------------------------------- HEAD_ADC3_0x56 +//Maximum value: 2.1V, 1 LSB: 5000/4096 mA +const UInt32 HEAD_CURRENT_HTOT_1 = 16; +const UInt32 HEAD_CURRENT_HTOT_2 = 17; +const UInt32 HEAD_CURRENT_HTOT_3 = 18; +const UInt32 HEAD_CURRENT_HTOT_4 = 19; + +//Maximum value: 1.7V, 1 LSB: 2500/4096 mA +const UInt32 HEAD_CURRENT_MIXER = 20; + +//Maximum value: 2.34V, 1 LSB: 4.9 mA +const UInt32 HEAD_CURRENT_HT_TOTAL = 21; + +//Maximum value: 0.5V, 1 LSB: 2500/4096 mA +const UInt32 HEAD_CURRENT_VALUE = 22; + +//Maximum value: (2.05 -2.3) V, 1 LSB: 27500/4096 mV +const UInt32 HEAD_CURRENT_24V = 23; + + +public void OnExecute(StubManager stubManager) +{ + + var response = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + HEAD_CURRENT_24V); // 0x8000 + Head ADC ID + stubManager.WriteLine(response.Pressure); + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_Card_I2C.cs b/Software/Stubs Collection/stubs/Head_Card_I2C.cs new file mode 100644 index 000000000..6f49eeb51 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_Card_I2C.cs @@ -0,0 +1,66 @@ +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; + +/*HEAD CARD I/O + +Slave address 0x40 / 0x42 / 0x44 / 0x46 + +------------------------- +| Byte | WR | RD | CFG | +------------------------- +| Low | 02 | 00 | 06 | +| High | 03 | 01 | 07 | +------------------------- + +Example (42 Slave Address, 03 Write High Byte, D8 Set value (NA on read)) +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203D8); +*/ + +public void OnExecute(StubManager stubManager) +{ + +//ZN_Latch_RST off +var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203D8); +stubManager.WriteLineHex(response.Progress,2); + +//Turn ON mixer +var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x420210); +stubManager.WriteLineHex(response1.Progress,2); + +//Turn ON 12 (0..7) +var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4002FF); +stubManager.WriteLineHex(response4.Progress,2); + +//Turn ON 12 (8..11) +var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x40030F); +stubManager.WriteLineHex(response5.Progress,2); + +//ZN_Latch_RST ON +var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x4203F8); +stubManager.WriteLineHex(response2.Progress,2); + +Thread.Sleep(5000); + +//Turn OFF mixer +var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x420200); +stubManager.WriteLineHex(response3.Progress,2); + +//Turn OFF 12 (0..7) +var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x400200); +stubManager.WriteLineHex(response6.Progress,2); + +//Turn OFF 12 (8..11) +var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD, 0x400300); +stubManager.WriteLineHex(response7.Progress,2); + + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_Card_IO.cs b/Software/Stubs Collection/stubs/Head_Card_IO.cs new file mode 100644 index 000000000..161b622f2 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_Card_IO.cs @@ -0,0 +1,160 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + +//---------------------- +const Int32 I2C_ID = 3; //MCU_I2C3 +const Int32 TCA9548A_address = 0xE2; // Main Mux +Int32 I2C_Slave_Add ; // //eeprom address - 32kByte +int Head_Mux_Channel_ID = 4; //Head MUX channel +//---------------------- + +uint[] write_Buf = new uint[5]; + + +int enable_channel(int Channel_ID) +{ + uint Const_temp = 0x01; + + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address; + + Const_temp = Const_temp << Channel_ID; + stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp); + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + + +int adc_write(uint I2C_Slave_Add, uint No_Bytes) +{ +uint i = 0; + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + UInt32 uInt32 = new UInt32(); + + //-------------------------------------------------------------- + for(i=0;i<No_Bytes;i++) + stubI2CWriteBytesRequest.BytesTWrite.Add(write_Buf[i]);//Data to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_set_for_read_ch(uint I2C_Slave_Add) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_read_ch(uint I2C_Slave_Add, uint No_Bytes) +{ + adc_set_for_read_ch(I2C_Slave_Add ); + + StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); + stubI2CReadBytesRequest.I2CId = I2C_ID; + stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1; + stubI2CReadBytesRequest.NumberOfBytesToRead = No_Bytes; // Number of bytes to read + + var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); + uint temph=0; + + for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++) + { + temph=response1.ReadBytes[i]; + stubManager.WriteLineHex(temph,2); + } + + return 1; +} + + +public void OnExecute(StubManager stubManager) +{ + + enable_channel(Head_Mux_Channel_ID); + + //ZN_Latch_RST off + write_Buf[0] = 0x03; + write_Buf[1] = 0xD8; + adc_write(0x42, 2); + adc_read_ch(0x42, 2); + + + //Turn ON mixer + write_Buf[0] = 0x02; + write_Buf[1] = 0x10; + adc_write(0x42, 2); + adc_read_ch(0x42, 2); + stubManager.WriteLine(""); + + //Turn ON 12 (0..7) + write_Buf[0] = 0x02; + write_Buf[1] = 0xFF; + adc_write(0x40, 2); + adc_read_ch(0x40, 2); + stubManager.WriteLine(""); + + //Turn ON 12 (8..11) + write_Buf[0] = 0x03; + write_Buf[1] = 0x0F; + adc_write(0x40, 2); + adc_read_ch(0x40, 2); + stubManager.WriteLine(""); + + //ZN_Latch_RST ON + write_Buf[0] = 0x03; + write_Buf[1] = 0xF8; + adc_write(0x42, 2); + adc_read_ch(0x42, 2); + + Thread.Sleep(5000); + stubManager.WriteLine("-------------"); + + //Turn OFF mixer + write_Buf[0] = 0x02; + write_Buf[1] = 0x00; + adc_write(0x42, 2); + adc_read_ch(0x42, 2); + stubManager.WriteLine(""); + + //Turn OFF 12 (0..7) + write_Buf[0] = 0x02; + write_Buf[1] = 0x00; + adc_write(0x40, 2); + adc_read_ch(0x40, 2); + stubManager.WriteLine(""); + + //Turn OFF 12 (8..11) + write_Buf[0] = 0x03; + write_Buf[1] = 0x00; + adc_write(0x40, 2); + adc_read_ch(0x40, 2); + stubManager.WriteLine(""); + + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_EEPROM.cs b/Software/Stubs Collection/stubs/Head_EEPROM.cs new file mode 100644 index 000000000..1b3ab7213 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_EEPROM.cs @@ -0,0 +1,135 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + +//---------------------- +const Int32 I2C_ID = 3; //MCU_I2C3 +const Int32 TCA9548A_address = 0xE2; +const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte +int Head_Mux_Channel_ID = 4; //Head MUX channel +//---------------------- + + +int enable_channel(int Channel_ID) +{ + uint Const_temp = 0x01; + + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address; + + Const_temp = Const_temp << Channel_ID; + stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp); + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + + +int adc_write(uint I2C_Slave_Add, uint Page) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write + //-------------------------------------------------------------- + + stubI2CWriteBytesRequest.BytesTWrite.Add(0x12 + Page);//Data 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0x34 + Page);//Data 1 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0x56 + Page);//Data 2 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0x78 + Page);//Data 3 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0x90 + Page);//Data 4 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0xAB + Page);//Data 5 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0xCD + Page);//Data 6 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0xEF + Page);//Data 7 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0x01 + Page);//Data 8 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0x02 + Page);//Data 9 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_set_for_read_ch(uint I2C_Slave_Add, uint Page) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_read_ch(uint I2C_Slave_Add) +{ + StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); + stubI2CReadBytesRequest.I2CId = I2C_ID; + stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1; + stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read + + var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); + uint temph=0; + + for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++) + { + temph=response1.ReadBytes[i]; + stubManager.WriteHex(temph,2); + } + + return 1; +} + + +public void OnExecute(StubManager stubManager) +{ + + //enable_all_channel(); + enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7 + + for (int i = 0; i<1; i++) + { + + adc_write(I2C_Slave_Add,0x10); + Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet ) + + adc_write(I2C_Slave_Add,0x00); + Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet ) + + stubManager.Write("\nPage 0x10 #"); + stubManager.Write(i); + stubManager.Write("\t- The Buffer is: "); + adc_set_for_read_ch(I2C_Slave_Add,0x10); + //Thread.Sleep(1); //Sleep for 10 milli. + adc_read_ch(I2C_Slave_Add); + + Thread.Sleep(10); + + stubManager.Write("\nPage 0x00 #"); + stubManager.Write(i); + stubManager.Write("\t- The Buffer is: "); + adc_set_for_read_ch(I2C_Slave_Add, 0x00); + //Thread.Sleep(1); //Sleep for 10 milli. + adc_read_ch(I2C_Slave_Add); + + Thread.Sleep(1000); + + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs new file mode 100644 index 000000000..6c6bbac05 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs @@ -0,0 +1,59 @@ +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.UI; +using Tango.Stubs;// +using Tango.PMR.Printing; +using Tango.PMR.Hardware; + + +public void OnExecute(StubManager stubManager) +{ + /* +ProcessParameters processParameters = new ProcessParameters(); +processParameters.DyeingSpeed = 30; +processParameters.DryerBufferLength = 0; +processParameters.MinInkUptake = 0; +processParameters.DryerZone1Temp = 120; +processParameters.DryerZone2Temp = 0; +processParameters.DryerZone3Temp = 0; +processParameters.HeadZone1Temp = 120; +processParameters.HeadZone2Temp = 150; +processParameters.HeadZone3Temp = 150; +processParameters.HeadZone4Temp = 150; +processParameters.HeadZone5Temp = 0; + +UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest(); + +uploadProcessParametersRequest.ProcessParameters = processParameters; +var response1 = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest); +*/ + + stubManager.Write("\n"); + stubManager.Write("HZone_1 \tHZone_3 \tHZone_5 \tHZone_7 \tHZone_9 \tHZone_11\tHAir_1 \tMixer \tHZone_2 \tHZone_4 \tHZone_6 \tHZone_8 \tHZone_10 \tHZone_12 \n"); + stubManager.Write("------- \t---------\t---------\t---------\t---------\t---------\t------- \t------- \t------- \t-----------\t-----------\t-----------\t-----------\t-----------\n"); + + for (int j = 0; j < 1000; j++) + { + for (int i = 12; i < 26; i++)//12 + { + + var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,0x100 + i); //Add 0x100 for internal temperature + float ftemp = (float)response.TemperatureCMultBy100; + ftemp = ftemp / 100; + + stubManager.Write(ftemp.ToString("F2")); + stubManager.Write("°C\t"); + + } + stubManager.Write("\n"); + Thread.Sleep(1000); + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs new file mode 100644 index 000000000..4d877e3d0 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs @@ -0,0 +1,87 @@ +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.UI; +using Tango.Stubs;// +using Tango.PMR.Printing; +using Tango.PMR.Hardware; + + +public void OnExecute(StubManager stubManager) +{ + + Int32 command = 0; + + /* +ProcessParameters processParameters = new ProcessParameters(); +processParameters.DyeingSpeed = 30; +processParameters.DryerBufferLength = 0; +processParameters.MinInkUptake = 0; +processParameters.DryerZone1Temp = 120; +processParameters.DryerZone2Temp = 0; +processParameters.DryerZone3Temp = 0; +processParameters.HeadZone1Temp = 120; +processParameters.HeadZone2Temp = 150; +processParameters.HeadZone3Temp = 150; +processParameters.HeadZone4Temp = 150; +processParameters.HeadZone5Temp = 0; + +UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest(); + +uploadProcessParametersRequest.ProcessParameters = processParameters; +var response1 = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest); +*/ + + stubManager.Write("\n"); + stubManager.Write("HZone_1 \tHZone_3 \tHZone_5 \tHZone_7 \tHZone_9 \tHZone_11\tHAir_1 \tMixer \tHZone_2 \tHZone_4 \tHZone_6 \tHZone_8 \tHZone_10 \tHZone_12 \n"); + stubManager.Write("------- \t---------\t---------\t---------\t---------\t---------\t------- \t------- \t------- \t-----------\t-----------\t-----------\t-----------\t-----------\n"); + + for (int j = 0; j < 1; j++) + { + for (int i = 12; i < 26; i++)//12 + { + + //if(((i ==12) || (i ==26 ) ) && (j==0)) + + + + var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , i);// not in use only for compilation + /* + //----------------------------------------------------------------- + if(((i == 12) || (i == 20)) && (j == 0) ) + { + + command = 0x8000 + i; + } + else + { + + command = i; + } + var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , command); + Thread.Sleep(50); + //---------------------------------------------------------------------------- + */ + //var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,/*0x100 +*/ i); //Add 0x100 for internal temperature + + float ftemp = (float)response.TemperatureCMultBy100; + ftemp = ftemp / 100; + + stubManager.Write(ftemp.ToString("F2")); + stubManager.Write("°C\t"); + +/* +stubManager.WriteHex(response.TemperatureCMultBy100,6); + stubManager.Write("\t");*/ + } + stubManager.Write("\n"); + Thread.Sleep(1000); + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs new file mode 100644 index 000000000..400a0d421 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs @@ -0,0 +1,49 @@ +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 Tango.PMR.Printing; +using Tango.PMR.Hardware; + + +public void OnExecute(StubManager stubManager) +{ + + stubManager.Write("\n"); + stubManager.Write("HZone_1 \tHZone_3 \tHZone_5 \tHZone_7 \tHZone_9 \tHZone_11\tHAir_1 \tMixer \tHZone_2 \tHZone_4 \tHZone_6 \tHZone_8 \tHZone_10 \tHZone_12 \n"); + stubManager.Write("------- \t---------\t---------\t---------\t---------\t---------\t------- \t------- \t------- \t-----------\t-----------\t-----------\t-----------\t-----------\n"); + + for (int j = 0; j < 1; j++) + { + for (int i = 12; i < 26; i++) + { + + if(((i == 12) || (i == 20)) && (j == 0) ) + { + stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 0x8000 + i);//read odd (12+) and even (20+) + } + var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , i);//get from the buffer + + + float ftemp = (float)response.TemperatureCMultBy100; + ftemp = ftemp / 100; + + stubManager.Write(ftemp.ToString("F2")); + stubManager.Write("°C\t"); + + /* to display the data in hex - need also to unmark the lines in the embedded code + stubManager.WriteHex(response.TemperatureCMultBy100,6); + stubManager.Write("\t");*/ + } + stubManager.Write("\n"); + Thread.Sleep(1000); + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Head_i2c_functions.cs b/Software/Stubs Collection/stubs/Head_i2c_functions.cs new file mode 100644 index 000000000..f676ba592 --- /dev/null +++ b/Software/Stubs Collection/stubs/Head_i2c_functions.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) +{ + // Request ---- + // Int32 : Amount + // Int32 : Delay + + // Response ---- + // Double : Progress + var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCA1401);//Turn on mixer (hrater ID on/off) + + Thread.Sleep(5000); + + var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCA1400);//Turn OFF mixer + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Heat I2C ACT test.cs b/Software/Stubs Collection/stubs/Heat I2C ACT test.cs new file mode 100644 index 000000000..1ad3a8f74 --- /dev/null +++ b/Software/Stubs Collection/stubs/Heat I2C ACT test.cs @@ -0,0 +1,33 @@ +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) +{ + + + var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF101);//Actuators: ID, power, Direction + Thread.Sleep(100); + var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF111);//Actuators: ID, power, Direction + Thread.Sleep(3000); + var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF100);//Actuators: ID, power, Direction + Thread.Sleep(100); + var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF110);//Actuators: ID, power, Direction + Thread.Sleep(3000); + var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF001);//Actuators: ID, power, Direction + Thread.Sleep(100); + var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF011);//Actuators: ID, power, Direction + Thread.Sleep(3000); + var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF000);//Actuators: ID, power, Direction + Thread.Sleep(100); + var response9 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0xCAF010);//Actuators: ID, power, Direction + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs b/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs new file mode 100644 index 000000000..6ec538758 --- /dev/null +++ b/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs @@ -0,0 +1,98 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + +//---------------------- +const Int32 I2C_ID = 2; //MCU_I2C2 + +const Int32 I2C_Slave_Add = 0xA0; //Slave (EEPROM) address + +string str = "UM181700004";//main card S/N + +uint length = 11; +int i = 0; + +//---------------------- + +int adc_write(uint I2C_Slave_Add) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + //-------------------------------------------------------------- + + for(i=0;i<length;i++) + stubI2CWriteBytesRequest.BytesTWrite.Add(str[i]);//Data 0 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_set_for_read_ch(uint I2C_Slave_Add) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_read_ch(uint I2C_Slave_Add) +{ + StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); + stubI2CReadBytesRequest.I2CId = I2C_ID; + stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1; + stubI2CReadBytesRequest.NumberOfBytesToRead = length; // Number of bytes to read + + var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); + uint temph=0; + + for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++) + { + temph=response1.ReadBytes[i]; + stubManager.Write((char) temph); + } + + return 1; +} + + +public void OnExecute(StubManager stubManager) +{ + + for (int i = 0; i<1; i++) + { + + adc_write(I2C_Slave_Add); + Thread.Sleep(5); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet ) + stubManager.Write("\n"); + + stubManager.Write("The eeprom data: "); + adc_set_for_read_ch(I2C_Slave_Add); + + adc_read_ch(I2C_Slave_Add); + + Thread.Sleep(1000); + + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs b/Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs new file mode 100644 index 000000000..00064ec7f --- /dev/null +++ b/Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs @@ -0,0 +1,109 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + +//---------------------- +const Int32 I2C_ID = 2; //MCU_I2C2 + +const Int32 I2C_Slave_Add = 0xA0; // /Slave (EEPROM) address + +//---------------------- + +int adc_write(uint I2C_Slave_Add) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + //-------------------------------------------------------------- + stubI2CWriteBytesRequest.BytesTWrite.Add(0x12);//Data 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('B');//Data 1 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('C');//Data 2 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('D');//Data 3 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('E');//Data 4 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('F');//Data 5 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('G');//Data 6 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('H');//Data 7 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('I');//Data 8 to write + stubI2CWriteBytesRequest.BytesTWrite.Add('J');//Data 9 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_set_for_read_ch(uint I2C_Slave_Add) +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = I2C_ID; + stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add; + + + UInt32 uInt32 = new UInt32(); + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + +int adc_read_ch(uint I2C_Slave_Add) +{ + StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); + stubI2CReadBytesRequest.I2CId = I2C_ID; + stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1; + stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read + + var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); + uint temph=0; + + for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++) + { + temph=response1.ReadBytes[i]; + //stubManager.WriteHex(temph,2); + if(((temph>='A') && (temph<='Z')) || ((temph>='a') && (temph<='z'))) + { + stubManager.Write((char) temph); + } + else + { + stubManager.WriteHex(temph,2); + } + stubManager.Write(" "); + } + + return 1; +} + + +public void OnExecute(StubManager stubManager) +{ + + for (int i = 0; i<1; i++) + { + + adc_write(I2C_Slave_Add); + Thread.Sleep(5); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet ) + stubManager.Write("\n"); + //stubManager.Write(i); + stubManager.Write("The Buffer is: "); + adc_set_for_read_ch(I2C_Slave_Add); + //Thread.Sleep(1); //Sleep for 10 milli. + adc_read_ch(I2C_Slave_Add); + + Thread.Sleep(1000); + + } +}
\ 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/Scripts/Assemblies/newWHS/fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs new file mode 100644 index 000000000..7e68d62ef --- /dev/null +++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs @@ -0,0 +1,34 @@ +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 ---- +// Int32 : Amount +// Int32 : Delay + +// Response ---- +// Double : Progress +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x20); //WHS FAN 1 low seed +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x20); //WHS FAN 2 low seed +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC4, 0x20); //WHS FAN 3 low seed +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC5, 0x20); //WHS FAN 4 low seed +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC6, 0x20); //WHS FAN 5 low seed +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x20); //WHS FAN 6 low seed +var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x20); + + + + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs new file mode 100644 index 000000000..acd5e3c50 --- /dev/null +++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.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 ---- +// Int32 : Amount +// Int32 : Delay + +// Response ---- +// Double : Progress +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0001); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0101); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0201); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0301); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0401); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0501); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0601); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701); +Thread.Sleep(1000); //Sleep for 10 milli. + +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4001); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4101); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4201); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4301); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4401); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4501); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4601); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4701); +Thread.Sleep(1000); //Sleep for 10 milli. + +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0001); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0101); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0201); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0301); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0401); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0501); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0601); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701); +Thread.Sleep(1000); //Sleep for 10 milli. + +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4001); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4101); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4201); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4301); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4401); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4501); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4601); +Thread.Sleep(1000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x4701); +Thread.Sleep(1000); //Sleep for 10 milli. + +var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0); +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs new file mode 100644 index 000000000..c81bdaebd --- /dev/null +++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs @@ -0,0 +1,47 @@ +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 ---- +// Int32 : Amount +// Int32 : Delay + +// Response ---- +// Double : Progress + +//valv1 +var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8401);// valv1_dir=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8400);// valv1_dir=0 +Thread.Sleep(5000); //Sleep for 10 milli. +var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500);// valv1_disable + + +// valve 2 +var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8701); //valv2_en=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8601);// valv2_dir=1 +Thread.Sleep(5000); //Sleep for 10 milli. +var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8600);// valv2_dir=0 +Thread.Sleep(5000); //Sleep for 10 milli. +var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8700); //valv2_disable + +//test pump +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0701);// pump on +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x0700); // pump off + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs new file mode 100644 index 000000000..086063855 --- /dev/null +++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs @@ -0,0 +1,40 @@ +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 ---- +// Int32 : Amount +// Int32 : Delay + +// Response ---- +// Double : Progress +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500); //valv1_en=0 +//Thread.Sleep(5000); //Sleep for 10 milli. +//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=0 +//Thread.Sleep(5000); //Sleep for 10 milli. + + + + int a = 0; + + while (a < 100) + { + a = a + 1; +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8500); //valv1_en=0 +Thread.Sleep(5000); //Sleep for 10 milli. +stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E9, 0x8501); //valv1_en=0 +Thread.Sleep(5000); //Sleep for 10 milli. +//stubManager.WriteLine(a); + } + +}
\ No newline at end of file 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/SetupDebugDisributors.cs b/Software/Stubs Collection/stubs/SetupDebugDisributors.cs new file mode 100644 index 000000000..0a31c7878 --- /dev/null +++ b/Software/Stubs Collection/stubs/SetupDebugDisributors.cs @@ -0,0 +1,79 @@ +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.Debugging; +using Tango.Stubs; + +public void OnExecute(StubManager stubManager) +{ + +SetupDebugDisributorsRequest setupDebugDisributorsRequest = new SetupDebugDisributorsRequest(); + +Boolean ControlFilter = new Boolean(); + ControlFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(ControlFilter); +Boolean HeatersFilter = new Boolean(); + HeatersFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(HeatersFilter); +Boolean JobFilter = new Boolean(); + JobFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(JobFilter); +Boolean WasteFilter = new Boolean(); + WasteFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(WasteFilter); +Boolean AlarmFilter = new Boolean(); + AlarmFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(AlarmFilter); +Boolean DiagnosticsFilter = new Boolean(); + DiagnosticsFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(DiagnosticsFilter); +Boolean IDSFilter = new Boolean(); + IDSFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(IDSFilter); +Boolean ThreadFilter = new Boolean(); + ThreadFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(ThreadFilter); +Boolean GeneralFilter = new Boolean(); + GeneralFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(GeneralFilter); +Boolean CommFilter = new Boolean(); + CommFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(CommFilter); +Boolean FPGAFilter = new Boolean(); + FPGAFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(FPGAFilter); +Boolean LoadFilter = new Boolean(); + LoadFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(LoadFilter); +Boolean InitFilter = new Boolean(); + InitFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(InitFilter); +Boolean MaintFilter = new Boolean(); + MaintFilter = true; +setupDebugDisributorsRequest.DistributorActive.Add(MaintFilter); +/* + DEBUG_DISTRIBUTOR__ControlFilter = 0, + DEBUG_DISTRIBUTOR__HeatersFilter = 1, + DEBUG_DISTRIBUTOR__JobFilter = 2, + DEBUG_DISTRIBUTOR__WasteFilter = 3, + DEBUG_DISTRIBUTOR__AlarmFilter = 4, + DEBUG_DISTRIBUTOR__DiagnosticsFilter = 5, + DEBUG_DISTRIBUTOR__IDSFilter = 6, + DEBUG_DISTRIBUTOR__ThreadFilter = 7, + DEBUG_DISTRIBUTOR__GeneralFilter = 8, + DEBUG_DISTRIBUTOR__CommFilter = 9, + DEBUG_DISTRIBUTOR__FPGAFilter = 10, + DEBUG_DISTRIBUTOR__LoadFilter = 11, + DEBUG_DISTRIBUTOR__InitFilter = 12, + DEBUG_DISTRIBUTOR__MaintFilter = 13 + + */ + SetupDebugDisributorsResponse response2 = stubManager.Run<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest); + +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/WD test.cs b/Software/Stubs Collection/stubs/WD test.cs new file mode 100644 index 000000000..f740ad54a --- /dev/null +++ b/Software/Stubs Collection/stubs/WD test.cs @@ -0,0 +1,49 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + +public void OnExecute(StubManager stubManager) +{ +/* +stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"N", 6, false); +stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"N", 6, true); + +stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"H", 4, false); +stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"H", 4, true); + +stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"F", 6, false); +stubManager.Run<StubGPIOWriteBitResponse>("StubGPIOWriteBitRequest" ,"F", 6, true); +*/ + + for (int i = 0; i < 1; i++) + { + + + var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x160); + var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000400 + 0x140); + var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000800 + 0x140); + stubManager.WriteLineHex(response.Value,4); + stubManager.WriteLineHex(response1.Value,4); + stubManager.WriteLineHex(response2.Value,4); + stubManager.WriteLine(""); + + var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x0B2); + var response4 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x0C2); + var response5 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000400 + 0x0B2); + var response6 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000800 + 0x0B2); + stubManager.WriteLineHex(response3.Value,4); + stubManager.WriteLineHex(response4.Value,4); + stubManager.WriteLineHex(response5.Value,4); + stubManager.WriteLineHex(response6.Value,4); + + Thread.Sleep(1000); //Sleep for 1000 milli. + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/alarm.cfg b/Software/Stubs Collection/stubs/alarm.cfg new file mode 100644 index 000000000..89f70357d --- /dev/null +++ b/Software/Stubs Collection/stubs/alarm.cfg @@ -0,0 +1,292 @@ + +èPÐ +d 08@ÿHPÒ +d 08@ÿHPÓ +d 08@ÿHPÔ +d 08@ÿHPÕ +d 08@ÿHPÖ +d 08@ÿHP× +èPØ +è(è8@ÿHPÙ +è8@ÿHPÚ +è (è8@ÿHPÛ +è 8@ÿHPÜ + +è8PÝ +èPÞ +èPß +èPà +èPá +èPâ +èPã +èPä +
è8@ÿP¸ +
è8@ÿP¹ +
è8@ÿPº +è (€ 8@ÿHP» +è (€ 8@ÿHP¼ +è (€ 8@ÿHP½ +è (€ 8@ÿHP¾ +è (€ 8@ÿHP¿ +è (€ 8@ÿHPÀ +è (€ 8@ÿHPÁ +è (€8@ÿHPÂ +è (€8@ÿHPÃ +è (€8@ÿHPÄ +è (€8@ÿHPÅ +è (€8@ÿHPÆ +è (€8@ÿHPÇ +è (€8@ÿHPÈ +è (€@8@ÿHPÉ +è (€@8@ÿHPÊ +è (€@8@ÿHPË +è (€@8@ÿHPÍ +è (€@8@ÿHPÎ +è (€@8@ÿHPÏ +è (€8@ÿHPÐ +è (€8@ÿHPÑ +è (€8@ÿHPÒ +è (€@8@ÿHPÓ +è (€8@ÿHPÔ +è (€8@ÿHPÕ +è (€8@ÿHPÖ +è (d08@ÿHP× +è (d08@ÿHPØ +è (d08@ÿHPÙ +è (d08@ÿHPÚ +è (d08@ÿHPÛ +è (€ 8@ÿHPÜ +è (€ 8@ÿHPÝ +è (€ 8@ÿHPÞ +è (€8@ÿHPß +è (€8@ÿHPà +è (€8@ÿHPá +è (€@8@ÿHPâ +è (€@8@ÿHPã +è (€@8@ÿHPä +è (€8@ÿHPå +è (€8@ÿHPæ +è (€8@ÿHPç + +è8Pè + +è8Pé +è (€ 8@ÿHP +è (€8@ÿHP¡ +è (€@8@ÿHP¢ +è (€8@ÿHP£ +
è8@ÿP¤ +d(Ž08@ÿP¥ +è( 8@ÿP§ +è( 8@ÿP¨ +
è8@ÿPª +è (08@ÿHP« +è (È08@ÿHP¬ +è 8@ÿHP +è 8@ÿHP® +è (è8@ÿHP¯ +è08@ÿHP° +è (€ 8@ÿHP± +è (€8@ÿHP² +è (€@8@ÿHP³ +è (€8@ÿHP´ +d (Ž08@ÿPˆ' +d (Ž08@ÿP‰' +d (Ž08@ÿPŠ' +d (Ž08@ÿP‹' +d (Ž08@ÿPŒ' +d (Ž08@ÿP' +è ( 8@ÿPŽ' +è ( 8@ÿP' +è ( 8@ÿP' +è ( 8@ÿP‘' +è ( 8@ÿP’' +è ( 8@ÿP“' +è ( 8@ÿP”' +è ( 8@ÿP•' +è ( 8@ÿP–' +è ( 8@ÿP—' +è ( 8@ÿP˜' +è ( 8@ÿP™' +è(¸08@ÿHPš' +è (»08@ÿHP›' +è (»08@ÿHPœ' +è (¸08@ÿHP' +è (ô08@ÿHPž' +è8@ÿHPŸ' +è 8@ÿHP ' +è 8@ÿHP¡' +è 8@ÿHP¢' +è 8@ÿHP£' +è (€ 8@ÿHP§' +è (€8@ÿHP¨' +è (€@8@ÿHP©' +è (€8@ÿHPª' +è (€ 8@ÿHP«' +è (€8@ÿHP¬' +è (€@8@ÿHP' +è (€8@ÿHP®' +è(€ 8@ÿHP¯' +è(€8@ÿHP°' +è(€@8@ÿHP±' +è(€8@ÿHP²' +è (Ž08@ÿHP³' +è (Ž08@ÿHP´' +è (Ž08@ÿHPµ' +è (Ž08@ÿHP¶' +è + (Ž08@ÿHP·' +è (Ž08@ÿHP¸' +è ( 8@ÿHP¹' +è ( 8@ÿHPº' +è ( 8@ÿHP»' +è ( 8@ÿHP¼' +è + ( 8@ÿHP½' +è ( 8@ÿHP¾' +è ( 8@ÿHP¿' +è ( 8@ÿHPÀ' +è ( 8@ÿHPÁ' +è ( 8@ÿHPÂ' +è + ( 8@ÿHPÃ' +è ( 8@ÿHPÄ' +è (¸08@ÿHPÅ' +è (¸08@ÿHPÆ' +è (¸08@ÿHPÇ' +è (¸08@ÿHPÈ' +è (¸08@ÿHPÉ' +è + +(¸08@ÿHPÊ' +è (¸08@ÿHPË' +è 8@ÿHPÌ' +è 8@ÿHPÍ' +è 8@ÿHPÎ' +è 8@ÿHPÏ' +è 8@ÿHPÐ' +è + +8@ÿHPÑ' +è 8@ÿHPÒ' +d (Ž08@ÿPð. +è ( 8@ÿPñ. +è ( 8@ÿPò. +è (»08@ÿHPô. +è8@ÿHPõ. +
è8@ÿPØ6 +
è8@ÿPÙ6 +
è8@ÿPÚ6 +
è8@ÿPÛ6 +
è8@ÿPÜ6 +
è8@ÿPÝ6 +
è8@ÿPÞ6 +
è8@ÿPß6 +d08@ÿPè6 +d 08@ÿPé6 +d 08@ÿPê6 +d 08@ÿPë6 +d 08@ÿPì6 +d 08@ÿPí6 +d 08@ÿPî6 +d 08@ÿPï6 +è (€ 8@ÿHPø6 +è (€ 8@ÿHPù6 +è (€ 8@ÿHPú6 +è (€ 8@ÿHPû6 +è + +(€ 8@ÿHPü6 +è (€ 8@ÿHPý6 +è (€ 8@ÿHPþ6 +è
(€ 8@ÿHPÿ6 +è (€8@ÿHP€7 +è (€8@ÿHP7 +è (€8@ÿHP‚7 +è (€8@ÿHPƒ7 +è + +(€8@ÿHP„7 +è (€8@ÿHP…7 +è (€8@ÿHP†7 +è
(€8@ÿHP‡7 +è (€@8@ÿHPˆ7 +è (€@8@ÿHP‰7 +è (€@8@ÿHPŠ7 +è (€@8@ÿHP‹7 +è + +(€@8@ÿHPŒ7 +è (€@8@ÿHP7 +è (€@8@ÿHPŽ7 +è
(€@8@ÿHP7 +è (€8@ÿHP7 +è (€8@ÿHP‘7 +è (€8@ÿHP’7 +è (€8@ÿHP“7 +è + +(€8@ÿHP”7 +è (€8@ÿHP•7 +è (€8@ÿHP–7 +è
(€8@ÿHP—7 +è(08@ÿHP˜7 +è(08@ÿHP™7 +è(08@ÿHPš7 +è(08@ÿHP›7 +è(08@ÿHPœ7 +è(08@ÿHP7 +è(08@ÿHPž7 +è(08@ÿHPŸ7 +è(8@ÿHP 7 +è(8@ÿHP¡7 +è(8@ÿHP¢7 +è(8@ÿHP£7 +è(8@ÿHP¤7 +è(8@ÿHP¥7 +è(8@ÿHP¦7 +è(8@ÿHP§7 +è(08@ÿHP¨7 +è (08@ÿHP©7 +è (08@ÿHPª7 +è (08@ÿHP«7 +è (08@ÿHP¬7 +è (08@ÿHP7 +è (08@ÿHP®7 +è (08@ÿHP¯7 + è(¬8@ÿHPÀ> + è (¬8@ÿHPÁ> + è (¬8@ÿHPÂ> + è (¬8@ÿHPÃ> + è (¬8@ÿHPÄ> + è (¬8@ÿHPÅ> + è (¬8@ÿHPÆ> + è (¬8@ÿHPÇ> + è(d8@ÿHPÈ> + è (d8@ÿHPÉ> + è (d8@ÿHPÊ> + è (d8@ÿHPË> + è (d8@ÿHPÌ> + è (d8@ÿHPÍ> + è (d8@ÿHPÎ> + è (d8@ÿHPÏ> + è(¤
08@ÿHPÐ> + è (¤
08@ÿHPÑ> + è (¤
08@ÿHPÒ> + è (¤
08@ÿHPÓ> + è (¤
08@ÿHPÔ> + è (¤
08@ÿHPÕ> + è (¤
08@ÿHPÖ> + è (¤
08@ÿHP×> +
è8@ÿPØ> +è 8@ÿPÙ> +è 8@ÿPÚ> +è 8@ÿPÛ> +è 8@ÿPÜ> +è 8@ÿPÝ> +è 8@ÿPÞ> +è 8@ÿPß> +
è8@ÿP¨F +
è8@ÿP«F +
è8@ÿPF +
è8@ÿP°F
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/embParamDownload.cs b/Software/Stubs Collection/stubs/embParamDownload.cs new file mode 100644 index 000000000..afdc14c92 --- /dev/null +++ b/Software/Stubs Collection/stubs/embParamDownload.cs @@ -0,0 +1,74 @@ +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(); + +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); + +//1. read +stubManager.Write("\n\n Deleting old file"); + +stubManager.Write("\n\n Loading new file file"); + + +FileDownloadRequest fileDownloadRequest = new FileDownloadRequest(); +fileDownloadRequest.FileName = "SYSINFO//EmbParam.cfg";; + +FileDownloadResponse response = stubManager.Run<FileDownloadResponse>(fileDownloadRequest); + + +FileChunkDownloadRequest fileChunkDownloadRequest = new FileChunkDownloadRequest(); +fileChunkDownloadRequest.DownloadID = response. +fileChunkDownloadRequest.FileName = null; +fileChunkDownloadRequest.Position = 0; + +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/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs index a08ca327a..e106699c8 100644 --- a/Software/Stubs Collection/stubs/embeddedparametersbuild.cs +++ b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs @@ -24,15 +24,15 @@ ConfigurationParameters configurationParameters = new ConfigurationParameters(); configurationParameters.BreakSensorLimit = 10; //how many samples to collect in diagnostics before sending -configurationParameters.DiagnosticCollectionLimit = 1; +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 = 10; -configurationParameters.OpenValveTimeout = 10; +configurationParameters.CloseValveTimeout = 48; +configurationParameters.OpenValveTimeout = 48; //backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters) configurationParameters.InitialDispenserPressure = 0.25; @@ -41,9 +41,9 @@ 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.2; -configurationParameters.DispenserBuildPressureTimeout = 80000; -configurationParameters.DispenserBuildPressureLag = 50; +configurationParameters.DispenserBuildPressureLimit = 1.0; +configurationParameters.DispenserBuildPressureTimeout = 180000; +configurationParameters.DispenserBuildPressureLag = 100; //temperature band 1000 = 100% - thresholds for job start around target temprature - AC configurationParameters.ACHeatersLowerOperationLimit = 995; @@ -65,34 +65,37 @@ configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 30000; configurationParameters.StartHeatingOnInitSequence = true; // current test for the heaters - alarm thresholds -configurationParameters.CurrentAlarmLowLimit = 0.80; +configurationParameters.CurrentAlarmLowLimit = 0.78; configurationParameters.CurrentAlarmHighLimit = 1.07; +//currently not in use configurationParameters.IDSSegmentRefillTimeout = 5000; configurationParameters.IDSPreSegmentBuildupTime = 5000; //cleaning!!!!!!!!!! configurationParameters.IDSCleaningSpeed = 800; -configurationParameters.IDSCleaningStopBeforeSegmentTime = 3000; -configurationParameters.IDSCleaningStartSprayPreSegmentTime = 1000; +configurationParameters.IDSCleaningStopBeforeSegmentTime = 10000; //end of presegemnt +configurationParameters.IDSCleaningStartSprayPreSegmentTime =2000; //beginning of presegment + +configurationParameters.IDSLeftCleaningMotorSpeed = 48; +configurationParameters.IDSRightCleaningMotorSpeed = 48; -configurationParameters.IDSLeftCleaningMotorSpeed = 30; -configurationParameters.IDSRightCleaningMotorSpeed = 23; configurationParameters.SwitchToIdleTimeinSeconds = 3600; configurationParameters.IdleDrierTemperature = 80; configurationParameters.IdleHeadTemperature = 80; configurationParameters.IdleMixerTemperature = 0; -configurationParameters.PowerOffTemperatureLimit = 50; +configurationParameters.PowerOffTemperatureLimit = 60; //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; +checkCurrentAlarms = 0.0; configurationParameters.GeneralParameters.Add(checkCurrentAlarms); //check the tamper alarms @@ -108,12 +111,12 @@ configurationParameters.GeneralParameters.Add(checkMotorAlarms); /*5*/ Double WinderBackToBaseTime = new Double(); -WinderBackToBaseTime = 800.0; +WinderBackToBaseTime = 820.0; configurationParameters.GeneralParameters.Add(WinderBackToBaseTime); /*6*/ Double DispenserInitialPressureSpeed = new Double(); -DispenserInitialPressureSpeed = 800.0; +DispenserInitialPressureSpeed = 1050.0; configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed); /*7*/ @@ -123,7 +126,7 @@ configurationParameters.GeneralParameters.Add(SetDiagnosticMode); /*8*/ Double SetAutoFill = new Double(); -SetAutoFill = 0.0; +SetAutoFill = 3.0; configurationParameters.GeneralParameters.Add(SetAutoFill); File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes()); @@ -134,7 +137,39 @@ 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 } */ 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/head_card_fan_test.cs b/Software/Stubs Collection/stubs/head_card_fan_test.cs new file mode 100644 index 000000000..95c3825e0 --- /dev/null +++ b/Software/Stubs Collection/stubs/head_card_fan_test.cs @@ -0,0 +1,26 @@ +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 ---- +// Int32 : Amount +// Int32 : Delay + +// Response ---- +// Double : Progress +var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0, 0x00);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP +stubManager.WriteLineHex(response.Progress,2);//100% = 0xDC0, 50% = 0x1790, 0% = 0xFFF0 + +var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac1, 0x00);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP +stubManager.WriteLineHex(response1.Progress,2);//100% = 0xDC0, 50% = 0x1790, 0% = 0xFFF0 +}
\ 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/powestep01_change_mode.cs b/Software/Stubs Collection/stubs/powestep01_change_mode.cs new file mode 100644 index 000000000..75939ea87 --- /dev/null +++ b/Software/Stubs Collection/stubs/powestep01_change_mode.cs @@ -0,0 +1,25 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; + + +Int32 i = 6; // to run only for specific motor + +public void OnExecute(StubManager stubManager) +{ + for (i = 6; i < 14; i++) + { + //stubManager.Run<ProgressResponse>("ProgressRequest" ,0x01, 0x010000 + (i<<8) + 0x00); //change motor driver 25 to voltage mode; + stubManager.Run<ProgressResponse>("ProgressRequest" ,0x01, 0x010000 + (i<<8) + 0x08); //change motor driver 06 to current mode; + Thread.Sleep(10); //Sleep for 10 milli. + + } +}
\ No newline at end of file diff --git a/Software/Stubs Collection/stubs/technician view files/alpha.tpf b/Software/Stubs Collection/stubs/technician view files/alpha.tpf new file mode 100644 index 000000000..ed887f811 --- /dev/null +++ b/Software/Stubs Collection/stubs/technician view files/alpha.tpf @@ -0,0 +1,2107 @@ +<?xml version="1.0"?> +<MachineTechViewProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Items /> + <Tabs> + <MachineTechViewProjectTab> + <Name>Temperatures</Name> + <Items> + <TechItem xsi:type="MonitorItem"> + <ID>50bae43f-8b1a-4279-9238-b976a0c72af3</ID> + <Left>1530</Left> + <Top>193.19911504424795</Top> + <Width>169</Width> + <Height>181.37610619469029</Height> + <Angle>0</Angle> + <ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>88d1ed8f-752b-4eb0-9dad-b47aee34d5db</ID> + <Left>677</Left> + <Top>64.513274336283189</Top> + <Width>575</Width> + <Height>201.64159292035407</Height> + <Angle>0</Angle> + <ItemGuid>48E8DD1B-46EC-4576-B513-7E734503B6DA</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>701</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="ControllerItem"> + <ID>ba743caa-95f2-4b20-8c32-8e5943ada3fc</ID> + <Left>144</Left> + <Top>589.78318584070769</Top> + <Width>380</Width> + <Height>194.54867256637203</Height> + <Angle>0</Angle> + <ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <OptimalRangeMinimum>0</OptimalRangeMinimum> + <OptimalRangeMaximum>70</OptimalRangeMaximum> + <UpdateInterval>10</UpdateInterval> + <IsSetToDefault>true</IsSetToDefault> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>e4892498-fa1a-413c-9dd8-633efaade51c</ID> + <Left>561</Left> + <Top>638.02654867256649</Top> + <Width>203</Width> + <Height>160.09734513274339</Height> + <Angle>0</Angle> + <ItemGuid>6b9cba1d-4acf-4992-97ad-e422bca6ada2</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>1a243586-f54c-4208-bc29-458c45acd578</ID> + <Left>776</Left> + <Top>641.06637168141606</Top> + <Width>215</Width> + <Height>159.08407079646031</Height> + <Angle>0</Angle> + <ItemGuid>b05b8324-022b-4d61-ae4a-33c97cd1f51b</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>c399ec1f-152e-4517-b6a3-c17bb445fc79</ID> + <Left>57</Left> + <Top>853.73451327433634</Top> + <Width>251</Width> + <Height>184.41592920353969</Height> + <Angle>0</Angle> + <ItemGuid>6f851979-d69c-4243-9383-1517a8bdc656</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>211ad3c8-3c39-47a1-88c0-089fb13678a0</ID> + <Left>361</Left> + <Top>858.80088495575251</Top> + <Width>245</Width> + <Height>204.68141592920335</Height> + <Angle>0</Angle> + <ItemGuid>C8D8FE90-0375-44A2-A6D1-E997789E065C</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1700</Speed> + <DisplayName>Dispenser 2</DisplayName> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>07ad9c30-c4cf-461a-904e-f6661d464c26</ID> + <Left>665</Left> + <Top>870.96017699115055</Top> + <Width>216</Width> + <Height>147.93805309734523</Height> + <Angle>0</Angle> + <ItemGuid>3bed8c31-bcd6-479b-8a5d-92ce8a5e4d41</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>de829cd4-0493-48d3-ac3a-4b9db77f2f42</ID> + <Left>969</Left> + <Top>866.90707964601779</Top> + <Width>190</Width> + <Height>145.91150442477886</Height> + <Angle>0</Angle> + <ItemGuid>08ED9044-CAD6-4492-94B2-C07206E0164B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1700</Speed> + <DisplayName>Dispenser 3</DisplayName> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>a15665e3-af39-42d8-8c06-97d770632e10</ID> + <Left>1289</Left> + <Top>72.951327433628364</Top> + <Width>207</Width> + <Height>184.4159292035398</Height> + <Angle>0</Angle> + <ItemGuid>6D6CFA18-5922-4AFE-84B3-2721CE128681</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerAirHeater</HeaterType> + <SetPoint>190</SetPoint> + <CurrentValue>190.13</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>190</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>0ac64716-d30c-489b-939e-a26d06445866</ID> + <Left>450</Left> + <Top>54.65044247787489</Top> + <Width>212</Width> + <Height>177.32300884955754</Height> + <Angle>0</Angle> + <ItemGuid>A5DFC2DB-3B36-4377-96A0-D492CE785C00</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerMainHeater</HeaterType> + <SetPoint>30</SetPoint> + <CurrentValue>206.95999999999998</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>30</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>181796d8-64f6-420a-8f37-9af9df67d6a9</ID> + <Left>245</Left> + <Top>50.159292035398948</Top> + <Width>199</Width> + <Height>180.36283185840711</Height> + <Angle>0</Angle> + <ItemGuid>86808B48-B7F9-43AD-840E-2A6A5987C305</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerSecondaryHeater</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>200.32</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>fd2bb3a3-a411-470d-bde7-0beaf84da059</ID> + <Left>667</Left> + <Top>320.19026548672576</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>8E764A14-0F84-4FEC-928B-32A2509CAD57</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone3</HeaterType> + <SetPoint>150</SetPoint> + <CurrentValue>149.94</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>150</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>7e8dd386-cca6-4d07-8a3e-af5403756002</ID> + <Left>894</Left> + <Top>321.20353982300895</Top> + <Width>200</Width> + <Height>187.45575221238937</Height> + <Angle>0</Angle> + <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone2</HeaterType> + <SetPoint>120</SetPoint> + <CurrentValue>119.97</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>120</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID> + <Left>1128</Left> + <Top>326.26991150442478</Top> + <Width>157</Width> + <Height>194.54867256637175</Height> + <Angle>0</Angle> + <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone1</HeaterType> + <SetPoint>80</SetPoint> + <CurrentValue>80.02</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>80</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>c844235a-8a29-4c2e-a964-e8f546d2ced7</ID> + <Left>1281</Left> + <Top>587.69469026548677</Top> + <Width>173</Width> + <Height>183.40265486725662</Height> + <Angle>0</Angle> + <ItemGuid>42A62A48-F1D5-4BB6-AFEA-6A7DF6DCF626</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>MixerHeater</HeaterType> + <SetPoint>80</SetPoint> + <CurrentValue>80</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>80</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID> + <Left>469</Left> + <Top>324.61946902655012</Top> + <Width>178</Width> + <Height>207.41150442477846</Height> + <Angle>0</Angle> + <ItemGuid>94574D69-46E1-4144-A8B5-D4BF0DA96D18</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone4</HeaterType> + <SetPoint>150</SetPoint> + <CurrentValue>150</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>150</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID> + <Left>257</Left> + <Top>328.66814159291738</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>D6771DF4-771E-4D62-B6BA-BDE361C0A0F3</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone5</HeaterType> + <SetPoint>150</SetPoint> + <CurrentValue>150</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>150</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>efff2e67-e3a3-4667-9208-4704707d7cda</ID> + <Left>65</Left> + <Top>331.91150442477812</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>D2B6CAA0-055E-4871-8D91-A5370F1ACB22</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone6</HeaterType> + <SetPoint>160</SetPoint> + <CurrentValue>159.97</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>160</SetPoint> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>f9936dba-cef8-41e3-a715-eb629dca1870</ID> + <Left>1311</Left> + <Top>346.53539823008856</Top> + <Width>199</Width> + <Height>114.5</Height> + <Angle>0</Angle> + <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>217c677a-3e11-4a7c-959b-616dae1259dd</ID> + <Left>1167</Left> + <Top>280.67256637168151</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>A</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>f129ea0d-9abb-437f-928e-1cd1f569db2a</ID> + <Left>980.0000000000025</Left> + <Top>272.39823008849913</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>C</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>5f2610dc-3b9d-4302-b8f5-77a5e1c73b8c</ID> + <Left>739.99999999999727</Left> + <Top>269.79203539822839</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>D</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>eadb5257-47a2-4336-a72a-f2d157fe70cb</ID> + <Left>552.99999999999909</Left> + <Top>277.11946902654887</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>F</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>6c59af66-169a-46e0-89ae-a81e3e619043</ID> + <Left>334.00000000000153</Left> + <Top>280.39380530973477</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>I</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>3b32b9a8-f300-443f-950e-c49f81678bac</ID> + <Left>133.99999999999966</Left> + <Top>283.84070796460247</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>L</Text> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>f6d44793-ed44-46ed-8854-eacbc11af10c</ID> + <Left>909</Left> + <Top>544.12389380530976</Top> + <Width>219</Width> + <Height>97.2743362831859</Height> + <Angle>0</Angle> + <ItemGuid>df38139e-0026-46bc-b72f-df5f9eec80f7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>dd8f8a58-c09f-43dc-af6f-13fe83471be4</ID> + <Left>1005</Left> + <Top>624.17256637168157</Top> + <Width>237</Width> + <Height>170.23008849557505</Height> + <Angle>0</Angle> + <ItemGuid>cac03991-b332-4dfa-b491-c0e381b74fb9</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorRecorderItem"> + <ID>43793f93-da64-4409-b583-bca498f641e6</ID> + <Left>18</Left> + <Top>25.3274336283186</Top> + <Width>203</Width> + <Height>107.40707964601774</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <SelectedMonitorsGuids /> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Thread</Name> + <Items> + <TechItem xsi:type="MonitorItem"> + <ID>50bae43f-8b1a-4279-9238-b976a0c72af3</ID> + <Left>1530</Left> + <Top>193.19911504424795</Top> + <Width>169</Width> + <Height>181.37610619469029</Height> + <Angle>0</Angle> + <ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>68eef943-2151-4df5-be61-044c3865606e</ID> + <Left>1172</Left> + <Top>145.78318584070678</Top> + <Width>175</Width> + <Height>167.827433628319</Height> + <Angle>0</Angle> + <ItemGuid>96B89605-F999-43FE-A1CD-2645BFB33A36</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>6be024c6-3d1b-4267-9b77-44473aba56b7</ID> + <Left>988</Left> + <Top>143.32300884955998</Top> + <Width>190</Width> + <Height>167.09734513274049</Height> + <Angle>0</Angle> + <ItemGuid>FC60060A-3736-4910-B41A-FF6DABDF0E9E</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>7c720f3b-00e1-49dd-92f9-fdd1e9686623</ID> + <Left>817</Left> + <Top>142.42035398230098</Top> + <Width>169</Width> + <Height>168.31858407079625</Height> + <Angle>0</Angle> + <ItemGuid>4CE6A82E-D841-4D33-BBB2-11F0743A441C</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>3ebd6759-521b-4ed1-a353-ee1ad7801f28</ID> + <Left>922</Left> + <Top>516.43362831858417</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>D126DB23-784B-4F0C-8F88-D89A65A7549F</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1460</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>16384</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>984b4126-3dda-4624-a79f-0646eb0e1358</ID> + <Left>465</Left> + <Top>515.420353982301</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>10102BC3-0EAE-47FF-A8E5-8640780CAA3D</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1516</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>16384</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>8ebc3ab7-a02d-4b12-93b3-2563443831d7</ID> + <Left>15</Left> + <Top>518.46017699115032</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>C0BCCD5C-346B-4C4A-A080-39D28E9E1A0C</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>16384</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>acafb268-5e97-4277-8dc8-173250a9e3f8</ID> + <Left>12</Left> + <Top>13.849557522123973</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>9FBC5460-BA59-486B-8D85-BD7D8A959F98</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1273</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>3ccb1485-b0e9-4d36-a931-a1b3865edeaa</ID> + <Left>460</Left> + <Top>38.28761061946841</Top> + <Width>267</Width> + <Height>221.90707964601768</Height> + <Angle>0</Angle> + <ItemGuid>08d15ca1-d7d1-460f-8f37-42c37c287cd1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>952.3546144121359</Speed> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>be4cb8d9-b516-4604-a6a5-1638cbc50251</ID> + <Left>860</Left> + <Top>-24.18584070796669</Top> + <Width>345</Width> + <Height>169.21681415929209</Height> + <Angle>0</Angle> + <ItemGuid>4CE6A82E-D841-4D33-BBB2-11F0743A441C</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>514</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100000</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>75b99507-4eba-4b11-b52e-26732d4c5479</ID> + <Left>19</Left> + <Top>324.14159292035305</Top> + <Width>429</Width> + <Height>193.26548672566258</Height> + <Angle>0</Angle> + <ItemGuid>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>4</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>a30e48de-be76-4230-92d0-d27d6f37b940</ID> + <Left>474</Left> + <Top>320.03097345132551</Top> + <Width>429</Width> + <Height>193.26548672566258</Height> + <Angle>0</Angle> + <ItemGuid>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>4</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>5ac4b368-093a-4192-98d4-e9d24f229b13</ID> + <Left>928</Left> + <Top>321.64601769912122</Top> + <Width>429</Width> + <Height>193.26548672566258</Height> + <Angle>0</Angle> + <ItemGuid>84CF23C9-D20D-4C08-BE1D-80201FC43C06</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>4</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="MonitorRecorderItem"> + <ID>9c34dc69-cfaa-48b4-9d02-8f0d9bba79dd</ID> + <Left>1303</Left> + <Top>34.380530973454768</Top> + <Width>176</Width> + <Height>83.05309734512457</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <SelectedMonitorsGuids> + <string>89B7B89D-8050-4188-B568-35B1910CFB6F</string> + <string>96B89605-F999-43FE-A1CD-2645BFB33A36</string> + <string>84CF23C9-D20D-4C08-BE1D-80201FC43C06</string> + <string>FC60060A-3736-4910-B41A-FF6DABDF0E9E</string> + <string>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</string> + <string>9ADF7823-B293-4275-9999-F62474D246AA</string> + <string>4CE6A82E-D841-4D33-BBB2-11F0743A441C</string> + <string>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</string> + </SelectedMonitorsGuids> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Dispensers</Name> + <Items> + <TechItem xsi:type="DispenserItem"> + <ID>dce78f33-c966-4848-8c6e-a4a01dbc7577</ID> + <Left>1322.1428571428571</Left> + <Top>214.15929203538531</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>2CC8E461-E91F-4D4C-A402-922477F06C87</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 1</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>2d03fc19-0502-43e1-a3ff-4012a612112b</ID> + <Left>1149</Left> + <Top>218.48230088495342</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>C8D8FE90-0375-44A2-A6D1-E997789E065C</ItemGuid> + <ColorNumber>-16724737</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 2</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>81958374-3fa3-48b3-a554-5653fe1934b1</ID> + <Left>959</Left> + <Top>210.32743362830422</Top> + <Width>156</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>08ED9044-CAD6-4492-94B2-C07206E0164B</ItemGuid> + <ColorNumber>-65325</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 3</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>8fead411-7198-4428-a364-e32f3035ed94</ID> + <Left>775</Left> + <Top>206.42920353980952</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>179F34BB-3252-4D3A-965C-E6EB43D6FE7C</ItemGuid> + <ColorNumber>-524544</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 4</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>31bfa89f-e64d-4a3b-8585-c4a1b2e5a139</ID> + <Left>585</Left> + <Top>208.47345132741418</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>716B35CF-46E0-47D5-AF85-5233D212568F</ItemGuid> + <ColorNumber>-2108246</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 5</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>c2bff5f3-6dc9-4b07-87ba-9e3a5814804e</ID> + <Left>372</Left> + <Top>216.75221238937439</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>99528449-4D76-4874-AB95-522951560E01</ItemGuid> + <ColorNumber>-263685</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 6</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>071281a5-3569-4a62-8b68-7bea850a3c07</ID> + <Left>217</Left> + <Top>211.63716814158107</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>E8ED07E2-7C36-459C-B9E5-6A23A1E24F03</ItemGuid> + <ColorNumber>-723724</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 7</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>7b703b9a-a626-4ae5-8e31-fa1cfe5718f4</ID> + <Left>45</Left> + <Top>216.04867256635521</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>8A957565-4165-49F7-854D-D21F95FFBE1B</ItemGuid> + <ColorNumber>-724238</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 8</DisplayName> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>caca40a2-310c-452e-adcf-c28ee38f6bdc</ID> + <Left>1305</Left> + <Top>31.606194690259713</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-15856114</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>af52d36f-27a2-4a31-8ceb-9c43fedbed22</ID> + <Left>1127</Left> + <Top>32.535398230081626</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-15293470</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>d40eada8-d22a-4521-bd2a-d998ed93106f</ID> + <Left>955</Left> + <Top>32.61946902653176</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid> + <ColorNumber>-1570857</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>b2d6364d-8b5c-43d2-8838-927c85b017b1</ID> + <Left>774</Left> + <Top>31.960176991142362</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid> + <ColorNumber>-1379575</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>3980e685-73b3-4af1-9593-9235be147322</ID> + <Left>596</Left> + <Top>32.889380530964274</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid> + <ColorNumber>-7763381</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>51465293-58d5-40a4-8302-81856f8b4f47</ID> + <Left>424</Left> + <Top>32.973451327414409</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>AF3FD56C-95BF-4DE1-8EDC-8426B0DB2A26</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>c2a8c5b2-891b-4f9f-862c-c1c294366c78</ID> + <Left>252</Left> + <Top>31.703539823006281</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>60DA9EA3-C8A6-4D41-8AD8-3EB1BAA79CC9</ItemGuid> + <ColorNumber>-8391822</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>9618e441-8973-4e16-a90b-06ce5798bd29</ID> + <Left>80</Left> + <Top>31.787610619456416</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>EF66F95A-E166-4FA2-B1AF-D6F55621817A</ItemGuid> + <ColorNumber>-2186185</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>bce8c8e8-a317-4991-9aa7-cd99a45d1509</ID> + <Left>28.22352941176473</Left> + <Top>682.03174474303751</Top> + <Width>247</Width> + <Height>122.24778761061873</Height> + <Angle>0</Angle> + <ItemGuid>66cc8510-db9c-4e13-9151-01e705ec04de</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>72a23702-31bb-4ab8-aee5-2a02bcb1270b</ID> + <Left>235.16470588235291</Left> + <Top>699.99460095802579</Top> + <Width>200</Width> + <Height>94.15929203539747</Height> + <Angle>0</Angle> + <ItemGuid>36ba0ba4-e41d-45ff-8f68-1699e00c7107</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="ControllerItem"> + <ID>2dd6ff17-e515-4d8f-814f-a9683f404a8e</ID> + <Left>140</Left> + <Top>867.73893805310092</Top> + <Width>160</Width> + <Height>85.49115044247776</Height> + <Angle>0</Angle> + <ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <OptimalRangeMinimum>0</OptimalRangeMinimum> + <OptimalRangeMaximum>70</OptimalRangeMaximum> + <UpdateInterval>10</UpdateInterval> + <IsSetToDefault>true</IsSetToDefault> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>06843009-1da0-4811-8e77-50576d0edcb1</ID> + <Left>507</Left> + <Top>792.77433628318749</Top> + <Width>219</Width> + <Height>125.75221238938025</Height> + <Angle>0</Angle> + <ItemGuid>0c5dc1e9-da17-4ff8-86aa-6b39fd796ba9</ItemGuid> + <ColorNumber>-16777216</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>935dddd0-0c6f-4766-8173-f9118006a12b</ID> + <Left>1303</Left> + <Top>475.87168141593065</Top> + <Width>160</Width> + <Height>124.6504424778754</Height> + <Angle>0</Angle> + <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid> + <ColorNumber>-15856114</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MultiGraphItem"> + <ID>97e39a59-dba8-4e42-a124-b37de9453baf</ID> + <Left>370</Left> + <Top>781.46902654866153</Top> + <Width>710</Width> + <Height>401.24778761063465</Height> + <Angle>0</Angle> + <ItemGuid>D023F15D-3555-48E9-A9E9-5DF99F60D791</ItemGuid> + <ColorNumber>0</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>1956</Duration> + <Min>0</Min> + <Max>100</Max> + <UseAutoRange>true</UseAutoRange> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>46bdfce3-1c69-45dd-bbe9-582d1ac1e6f2</ID> + <Left>1128</Left> + <Top>482.80530973451141</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>0FE216B2-A097-4F2C-B465-08593F2532B3</ItemGuid> + <ColorNumber>-15293470</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>429154a5-9a16-4423-85ca-ee4bae9aec3c</ID> + <Left>968</Left> + <Top>481.35398230088504</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>3271FD82-46D3-4789-B612-564967826C75</ItemGuid> + <ColorNumber>-1570857</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>0f6ab8e8-99a7-4468-bde8-690a63467688</ID> + <Left>766</Left> + <Top>476.07964601769811</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>FBB806E7-42FA-4BAA-BDA1-3B8B07913AAD</ItemGuid> + <ColorNumber>-1379575</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>bc0ac903-9c1f-4580-8b9e-670a76350473</ID> + <Left>586</Left> + <Top>474.38938053097161</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>436A22BB-AF79-4CB2-8A7D-DD4D9E54A81E</ItemGuid> + <ColorNumber>-7763381</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>f9c960b2-b93e-46d5-b892-30337c0b55af</ID> + <Left>391</Left> + <Top>474.87168141592781</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>89EA6CC8-5363-4BEC-A370-D906611087A7</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>5ac157ab-2d53-4307-bf0b-b069854701ac</ID> + <Left>226</Left> + <Top>471.66814159292005</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>D5EBE52B-E2DF-4C97-80B1-F111F6B15854</ItemGuid> + <ColorNumber>-8391822</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>65a19d7e-c524-48a0-bd70-28b99b113dd1</ID> + <Left>69</Left> + <Top>473.97787610619389</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>FE521D1B-A0EA-4FEA-AE64-33998A6CE138</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>5bf7a681-ee47-477e-8b47-ba7a2eb6e115</ID> + <Left>1130</Left> + <Top>624.9557522123913</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>3174ADCF-5793-4B5A-A3C6-B96E146A903D</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>29b17a4b-fd4e-49cc-a3cd-418730176bf7</ID> + <Left>969</Left> + <Top>625.95575221239</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>AD50C358-5BAF-4A2F-8593-51A22C85B3D1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>21a5429f-c3a2-4e3b-ae77-c5538f30130d</ID> + <Left>775</Left> + <Top>623.66814159292062</Top> + <Width>144</Width> + <Height>82.535398230087083</Height> + <Angle>0</Angle> + <ItemGuid>E2F0FC31-CE7E-416B-ACEA-8EB6CA9B850B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>96a46b0c-37b1-4457-93fb-b3dc301c5743</ID> + <Left>588</Left> + <Top>625.06637168141322</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C09F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>d4ad8603-9929-415f-9990-1869fcff36e4</ID> + <Left>1310</Left> + <Top>628.69469026548632</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>84682E90-6926-42AA-BF8C-2CCCF5C26C97</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>25249d78-ee37-42a8-b5aa-96f60e97c3ea</ID> + <Left>20.870588235294122</Left> + <Top>784.26605504587133</Top> + <Width>327</Width> + <Height>108.53097345133028</Height> + <Angle>0</Angle> + <ItemGuid>8B1FCBC3-FEEA-4F87-B56F-CE5D28B7ACA4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>fc1d62f7-d13b-4a7b-8f9f-c687c987c7a9</ID> + <Left>1065</Left> + <Top>788.41592920352355</Top> + <Width>370</Width> + <Height>362.10619469026585</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>1426</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>cc99a514-1498-4b93-a4eb-4e0a2a2e9de6</ID> + <Left>628</Left> + <Top>765.4469026548752</Top> + <Width>394</Width> + <Height>372.88495575221242</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1282</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>cdddd48e-422d-48f4-8397-5032c3705fdb</ID> + <Left>1069</Left> + <Top>698.04867256637226</Top> + <Width>382</Width> + <Height>136.79203539823016</Height> + <Angle>0</Angle> + <ItemGuid>16C0F85C-0479-42F4-A67E-3E0CD3B23C2D</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>ee6d4c5a-ca5b-4557-8012-dacf700cdc08</ID> + <Left>231</Left> + <Top>624.06637168142413</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C010</ItemGuid> + <ColorNumber>-8391822</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>20576bb2-202f-4170-9af5-f3c18b410112</ID> + <Left>77</Left> + <Top>624.46460176991513</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C011</ItemGuid> + <ColorNumber>-2186185</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Thread insertion</Name> + <Items> + <TechItem xsi:type="MotorItem"> + <ID>443a977c-8e89-4a56-82e4-684bac7945c9</ID> + <Left>25</Left> + <Top>22.761061946902203</Top> + <Width>247</Width> + <Height>172.25663716814159</Height> + <Angle>0</Angle> + <ItemGuid>08d15ca1-d7d1-460f-8f37-42c37c287cd1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>a821b716-cb7d-4951-84ee-e56955431099</ID> + <Left>355</Left> + <Top>20.592920353981697</Top> + <Width>260</Width> + <Height>153.00442477876106</Height> + <Angle>0</Angle> + <ItemGuid>b90a4e78-ebbf-44db-829b-949517d6400b</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>50</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>e36e321b-d48d-4199-a1ee-75ac18e9de1e</ID> + <Left>694</Left> + <Top>19.367256637167998</Top> + <Width>217</Width> + <Height>155.26106194690203</Height> + <Angle>0</Angle> + <ItemGuid>b7c1aea4-32c1-41cb-bca3-4aa665529b49</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>50</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>8790db03-4dfd-4d49-aec0-706babb55af9</ID> + <Left>364</Left> + <Top>222.16814159291846</Top> + <Width>240</Width> + <Height>172.30973451327589</Height> + <Angle>0</Angle> + <ItemGuid>2d3eaca5-4dfd-40d9-9d1f-aa4ae794eddc</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>69ebcb28-13d9-41b3-a9ef-b2be51584141</ID> + <Left>29</Left> + <Top>241.34955752210982</Top> + <Width>263</Width> + <Height>174.296460176989</Height> + <Angle>0</Angle> + <ItemGuid>c6099065-a735-4cc5-b575-c31a45bb9262</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>400</Speed> + </TechItem> + <TechItem xsi:type="ThreadMotionItem"> + <ID>4d562029-3fdf-40a4-a5a7-9a322253c912</ID> + <Left>1168</Left> + <Top>47.305309734517039</Top> + <Width>304</Width> + <Height>167.26548672566202</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <Speed>40</Speed> + </TechItem> + <TechItem xsi:type="BreakSensorItem"> + <ID>92607e12-2dd6-41c9-8f89-f051f386b734</ID> + <Left>1258</Left> + <Top>277.55752212389069</Top> + <Width>240</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>DCE08A06-6711-43AE-AB7C-EADD5AB70EE0</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>7b5b6896-f626-4e59-a5cf-2600e603c0f6</ID> + <Left>695</Left> + <Top>223.44247787610908</Top> + <Width>228</Width> + <Height>175.0353982300901</Height> + <Angle>0</Angle> + <ItemGuid>7b6d0a93-5a91-4e1f-af47-353afd8b5ea6</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>83.833754740833143</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>2052a2d3-843c-4a1c-87fd-acd0832fd1b9</ID> + <Left>81</Left> + <Top>542.88495575220634</Top> + <Width>220</Width> + <Height>168.473451327436</Height> + <Angle>0</Angle> + <ItemGuid>7c03f12f-ab2a-4421-8575-aefd6dec0001</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1000</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>339b7d00-d688-41cf-926a-8171d5e62740</ID> + <Left>376</Left> + <Top>553.11061946903</Top> + <Width>240</Width> + <Height>159.84070796460173</Height> + <Angle>0</Angle> + <ItemGuid>f3b5076e-cba3-4ad2-b3cc-0c4e907bd9ef</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>98.094184576485333</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID> + <Left>1014</Left> + <Top>290.60619469026437</Top> + <Width>240</Width> + <Height>172.30973451327589</Height> + <Angle>0</Angle> + <ItemGuid>92237d83-9f85-48db-aa6f-2fc5c9e0d8cd</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>c706d31b-48b0-44cc-a9c4-11d3acdcf667</ID> + <Left>548</Left> + <Top>418.71652683599893</Top> + <Width>269</Width> + <Height>127.67256637168134</Height> + <Angle>0</Angle> + <ItemGuid>2a454081-bd5e-41de-ae5d-97aefe1d76de</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>7ccff69d-50f9-4e9b-a997-72a67917df5e</ID> + <Left>803</Left> + <Top>569.80530973451619</Top> + <Width>227</Width> + <Height>145.08849557522183</Height> + <Angle>0</Angle> + <ItemGuid>9c02effb-7deb-40a1-90c3-df1fb48e6431</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>30</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>a88a74cb-418b-4ed0-89ec-c42ff560528e</ID> + <Left>1107</Left> + <Top>573.87168141592883</Top> + <Width>227</Width> + <Height>145.08849557522183</Height> + <Angle>0</Angle> + <ItemGuid>a359e9d0-adcc-40a5-b3d9-b9cb26eca092</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>30</Speed> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Head graphs</Name> + <Items> + <TechItem xsi:type="SingleGraphItem"> + <ID>ffe980da-dbbe-4bac-9595-46f587e9df00</ID> + <Left>1</Left> + <Top>57.486725663716754</Top> + <Width>430</Width> + <Height>187.15486725663709</Height> + <Angle>0</Angle> + <ItemGuid>D7585119-4A42-4370-8F1E-F3E62553E588</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>2962</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>c4e19f7c-e6e9-4f45-987e-f124456b2529</ID> + <Left>784</Left> + <Top>57.265486725668495</Top> + <Width>412</Width> + <Height>195.38938053097343</Height> + <Angle>0</Angle> + <ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>2817</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>b8b24455-1c20-417d-bd78-5fe4c7e3d023</ID> + <Left>0</Left> + <Top>240.77433628319324</Top> + <Width>430</Width> + <Height>224.47345132743214</Height> + <Angle>0</Angle> + <ItemGuid>6C0C1AB0-3EE9-40D7-8424-A79436FBC804</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>2982</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>2129a0cd-454f-4834-8197-3b048bf4b978</ID> + <Left>779</Left> + <Top>253.09292035398954</Top> + <Width>414</Width> + <Height>208.6194690265487</Height> + <Angle>0</Angle> + <ItemGuid>098F7CAB-030C-46B0-B2B8-A85AF2253032</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>2949</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>892fabb7-01fa-4b39-a19e-a557fafae0ac</ID> + <Left>3</Left> + <Top>465.50884955753315</Top> + <Width>423</Width> + <Height>226.97345132743362</Height> + <Angle>0</Angle> + <ItemGuid>DACEBF90-E2B4-4CC9-A973-B8B429AA0089</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>2628</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>4859974c-7224-42d5-97ca-0e2e549372f5</ID> + <Left>788</Left> + <Top>469.56194690266409</Top> + <Width>409</Width> + <Height>220.55752212389314</Height> + <Angle>0</Angle> + <ItemGuid>246C2551-5EFD-48E9-94F6-6313C5E5018F</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>3153</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>81b78212-14d8-4a66-bf3a-eeea9900e0d6</ID> + <Left>423</Left> + <Top>69.712389380530908</Top> + <Width>179</Width> + <Height>131.99999999999773</Height> + <Angle>0</Angle> + <ItemGuid>df38139e-0026-46bc-b72f-df5f9eec80f7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>34c56855-114d-4c94-b8b7-16881430d626</ID> + <Left>1198</Left> + <Top>60.787610619475856</Top> + <Width>144</Width> + <Height>147.96017699114969</Height> + <Angle>0</Angle> + <ItemGuid>d59b64f7-a8cf-4a2b-935a-943ae35fb78c</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>0d35c220-41f5-49e8-99ba-72d5134e4c81</ID> + <Left>1200</Left> + <Top>269.79646017698923</Top> + <Width>148</Width> + <Height>154.90265486725662</Height> + <Angle>0</Angle> + <ItemGuid>9de55ec4-201f-4f62-9003-f63ebea06f8f</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>e72a263a-41c2-408c-ac98-7345c787a3b0</ID> + <Left>1204</Left> + <Top>471.31858407080483</Top> + <Width>148</Width> + <Height>160.278761061948</Height> + <Angle>0</Angle> + <ItemGuid>d28bfa3c-edce-4f19-a296-3da251fcc0e2</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>62fd293e-9461-4c91-a5b3-26ef7893f780</ID> + <Left>420</Left> + <Top>250.1769911504424</Top> + <Width>189</Width> + <Height>145.75221238937741</Height> + <Angle>0</Angle> + <ItemGuid>81a3ae80-f4ea-4857-bc4e-2055d3b5fbc7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>10c62974-d2f9-4849-b88f-f223e04bacc6</ID> + <Left>435</Left> + <Top>474.43362831858008</Top> + <Width>178</Width> + <Height>153.6504424778766</Height> + <Angle>0</Angle> + <ItemGuid>16D0DEF7-A2E0-4163-9F4B-FBEC2573BCC7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>37657a24-40d2-4c10-be0b-0587406d77bf</ID> + <Left>10</Left> + <Top>691.58849557522046</Top> + <Width>415</Width> + <Height>203.57522123893648</Height> + <Angle>0</Angle> + <ItemGuid>AFB7B6F7-8FFB-4A7F-B814-04F0C163CAA1</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>3153</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>9330a6be-17f1-4ecb-978d-719adf9fec1f</ID> + <Left>781</Left> + <Top>692.69911504425033</Top> + <Width>409</Width> + <Height>220.55752212389314</Height> + <Angle>0</Angle> + <ItemGuid>9A3877B2-9F98-4A5C-9A93-DECA2836FA8A</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>3153</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>300</Max> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>3228b2ba-83f3-4eb2-a6d2-7200301758a4</ID> + <Left>1191</Left> + <Top>723.03539823007986</Top> + <Width>186</Width> + <Height>110.3451327433603</Height> + <Angle>0</Angle> + <ItemGuid>105ac1be-e6db-4a57-9f4a-bb9c780afd33</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>6fd0eeb3-6a2a-435f-a877-0c17c26c6692</ID> + <Left>411</Left> + <Top>727.73008849557368</Top> + <Width>204</Width> + <Height>114.92035398229848</Height> + <Angle>0</Angle> + <ItemGuid>9d403aad-157a-4128-874c-704da4ed9ac1</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>f9b4095c-4e87-41f2-955c-3b572ebee370</ID> + <Left>611</Left> + <Top>269.90265486725662</Top> + <Width>142</Width> + <Height>151.99115044247787</Height> + <Angle>0</Angle> + <ItemGuid>94574D69-46E1-4144-A8B5-D4BF0DA96D18</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone4</HeaterType> + <SetPoint>150</SetPoint> + <CurrentValue>150</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>150</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>4fa7a50d-5155-4785-95a0-508cd40fad4d</ID> + <Left>1360</Left> + <Top>77.818584070796476</Top> + <Width>140</Width> + <Height>168.77876106194691</Height> + <Angle>0</Angle> + <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone1</HeaterType> + <SetPoint>80</SetPoint> + <CurrentValue>80.02</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>80</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>9da56601-7b5b-4f0f-afbf-2b31970b104f</ID> + <Left>1352</Left> + <Top>292.19469026548552</Top> + <Width>166</Width> + <Height>148.95132743362956</Height> + <Angle>0</Angle> + <ItemGuid>8E764A14-0F84-4FEC-928B-32A2509CAD57</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone3</HeaterType> + <SetPoint>150</SetPoint> + <CurrentValue>149.94</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>150</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>b700e59d-f923-4f13-9dcc-942050548c22</ID> + <Left>1359</Left> + <Top>501.84513274336314</Top> + <Width>160</Width> + <Height>139.92920353982277</Height> + <Angle>0</Angle> + <ItemGuid>D6771DF4-771E-4D62-B6BA-BDE361C0A0F3</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone5</HeaterType> + <SetPoint>150</SetPoint> + <CurrentValue>150</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>150</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>97bf8fa2-b07f-4f0e-87ac-820ea52d236e</ID> + <Left>1358</Left> + <Top>716.707964601771</Top> + <Width>160</Width> + <Height>128.73451327433531</Height> + <Angle>0</Angle> + <ItemGuid>42A62A48-F1D5-4BB6-AFEA-6A7DF6DCF626</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>MixerHeater</HeaterType> + <SetPoint>80</SetPoint> + <CurrentValue>80</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>80</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>3941a557-05e6-4c1b-bb98-4f2a59892431</ID> + <Left>606</Left> + <Top>66.234513274336223</Top> + <Width>155</Width> + <Height>157.05752212389382</Height> + <Angle>0</Angle> + <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone2</HeaterType> + <SetPoint>120</SetPoint> + <CurrentValue>119.97</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>120</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>3020fbc5-305e-4adf-9f1e-d7a48168e2e7</ID> + <Left>628</Left> + <Top>488.76991150442484</Top> + <Width>133</Width> + <Height>155.03097345132744</Height> + <Angle>0</Angle> + <ItemGuid>D2B6CAA0-055E-4871-8D91-A5370F1ACB22</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone6</HeaterType> + <SetPoint>160</SetPoint> + <CurrentValue>159.97</CurrentValue> + <IsActive>true</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>160</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>a4049a51-7417-4eab-8bc1-837574307e93</ID> + <Left>599</Left> + <Top>716.27876106194685</Top> + <Width>161</Width> + <Height>143.34955752212409</Height> + <Angle>0</Angle> + <ItemGuid>6D6CFA18-5922-4AFE-84B3-2721CE128681</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerAirHeater</HeaterType> + <SetPoint>190</SetPoint> + <CurrentValue>190.13</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>190</SetPoint> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>waste</Name> + <Items> + <TechItem xsi:type="DigitalOutItem"> + <ID>bb9bf273-0a3d-4202-98ce-37a5f206ed75</ID> + <Left>119</Left> + <Top>68.898230088495609</Top> + <Width>339</Width> + <Height>184.4159292035398</Height> + <Angle>0</Angle> + <ItemGuid>7e1f53ec-8176-4efa-ac3d-c8f2436e60d1</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>59678a51-f995-4952-b250-e449f1fcbeac</ID> + <Left>468</Left> + <Top>80.336283185839477</Top> + <Width>280</Width> + <Height>166.17699115044252</Height> + <Angle>0</Angle> + <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>8f9ff579-0e9d-4f48-8ed0-6fa563f2aba7</ID> + <Left>873</Left> + <Top>63.831858407079665</Top> + <Width>174</Width> + <Height>133.75221238938059</Height> + <Angle>0</Angle> + <ItemGuid>06bd7c0b-5aef-445a-86c0-853becf8594b</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>70d1bd1e-acdb-436a-b205-6eeb9d137120</ID> + <Left>1070</Left> + <Top>70.106194690265909</Top> + <Width>221</Width> + <Height>123.61946902654864</Height> + <Angle>0</Angle> + <ItemGuid>4048bf02-27dc-4049-9284-fe913a7e0ebe</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>dcc7ce16-5b89-4ff8-acd5-7fb0b9ebb6d1</ID> + <Left>877</Left> + <Top>248.24778761061947</Top> + <Width>186</Width> + <Height>126.65929203539827</Height> + <Angle>0</Angle> + <ItemGuid>00ea1771-efee-4f3e-a0d2-8b2a4214e9fd</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>2b99bbf7-94da-4bb2-acc9-91b35e543c5d</ID> + <Left>897</Left> + <Top>358.69469026548683</Top> + <Width>147</Width> + <Height>69.9159292035398</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>Waste lower presence</Text> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>c150533c-abe4-4edf-b6ad-fa475b133142</ID> + <Left>1112</Left> + <Top>253.66814159291806</Top> + <Width>186</Width> + <Height>126.65929203539827</Height> + <Angle>0</Angle> + <ItemGuid>d2f266e3-779b-4dfe-b513-26ce61c529a4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>d96f2a6d-0ccb-401e-8931-09086ca81fae</ID> + <Left>1143</Left> + <Top>366.78318584070507</Top> + <Width>147</Width> + <Height>69.9159292035398</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>Waste middle presence</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>bb9847ba-9671-4613-bf23-a0c637ebc79d</ID> + <Left>151</Left> + <Top>271.55309734513281</Top> + <Width>200</Width> + <Height>63.836283185840671</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>pump</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>d13a2df4-3f54-4c31-8f9a-ee7810fb6af5</ID> + <Left>504</Left> + <Top>283.71238938053096</Top> + <Width>192</Width> + <Height>67.88938053097354</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>valve</Text> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>fbe2670f-6d9b-4361-9332-1ceb1692c91a</ID> + <Left>108</Left> + <Top>484.61946902655154</Top> + <Width>356</Width> + <Height>208.10619469026472</Height> + <Angle>0</Angle> + <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>disp</Name> + <Items> + <TechItem xsi:type="SingleGraphItem"> + <ID>f9531a72-3742-47a7-86bb-b589f8b3eb55</ID> + <Left>123</Left> + <Top>128.33628318584061</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>aae29286-81b3-476a-9f58-c0fd246cae96</ID> + <Left>880</Left> + <Top>158.81415929204155</Top> + <Width>442</Width> + <Height>241.88495575221771</Height> + <Angle>0</Angle> + <ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>7d94c7c4-1288-4f9d-b0e6-a06794829642</ID> + <Left>1055</Left> + <Top>14.181415929203524</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>Y</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>c95f9ad1-b607-4606-8217-400bea76f3d6</ID> + <Left>384</Left> + <Top>23.991150442480944</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>C</Text> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>8f141fa5-fb24-4557-adcf-a6aa55a28fb4</ID> + <Left>121</Left> + <Top>-8.8495575221214722</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>7eab018a-ef43-4bca-a6cf-857d69767bba</ID> + <Left>839</Left> + <Top>-4.7079646017762684</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorRecorderItem"> + <ID>2a9e89d4-5d60-4a83-9527-cb77fdf35c14</ID> + <Left>1276</Left> + <Top>22.287610619469035</Top> + <Width>187</Width> + <Height>102.34070796460179</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <SelectedMonitorsGuids> + <string>1F0F907A-EC16-4386-AFC8-B2B156F2A822</string> + <string>A499E5E0-A812-4032-8F96-B38C6762C4BD</string> + <string>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</string> + <string>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</string> + <string>19645882-6587-4A50-BD85-AF06617DC654</string> + <string>96B89605-F999-43FE-A1CD-2645BFB33A36</string> + <string>84CF23C9-D20D-4C08-BE1D-80201FC43C06</string> + <string>C0BCCD5C-346B-4C4A-A080-39D28E9E1A0C</string> + <string>10102BC3-0EAE-47FF-A8E5-8640780CAA3D</string> + <string>FC60060A-3736-4910-B41A-FF6DABDF0E9E</string> + <string>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</string> + <string>D126DB23-784B-4F0C-8F88-D89A65A7549F</string> + </SelectedMonitorsGuids> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>6d2e7962-b3ae-4682-b20e-9654f48dcffe</ID> + <Left>587</Left> + <Top>5.0619469026548813</Top> + <Width>155</Width> + <Height>131.72566371681415</Height> + <Angle>0</Angle> + <ItemGuid>2CC8E461-E91F-4D4C-A402-922477F06C87</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + <DisplayName>Dispenser 1</DisplayName> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>5ee2718f-f068-427b-a31e-d586c7d7682c</ID> + <Left>131</Left> + <Top>552.94690265486338</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>1c254a92-c075-453f-9667-cdcc91cf8e6a</ID> + <Left>399</Left> + <Top>455.67256637168265</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>K</Text> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>d1087b1a-c36b-4242-96f5-07c2bb602cc4</ID> + <Left>145</Left> + <Top>409.52212389380446</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>53fe93a2-88a5-4d4d-9cd5-eb4d8a8fefae</ID> + <Left>604</Left> + <Top>561.16371681414739</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>0bef6e9d-6da0-4f06-9e1a-c00142bde4c1</ID> + <Left>832</Left> + <Top>440.91150442477635</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>M</Text> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>762c5a97-a3bc-45b4-aa9f-0b50afa9cb9b</ID> + <Left>633</Left> + <Top>434.0132743362783</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>be584f80-3250-494c-87fc-250d6deae051</ID> + <Left>1045</Left> + <Top>559.4070796459921</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>39f6a02c-c4d9-47d0-b92d-bdea0ed5d3ce</ID> + <Left>1056</Left> + <Top>435.43805309733875</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>5b924929-9b16-4598-94cc-b2f4bca26798</ID> + <Left>1304</Left> + <Top>448.0884955752224</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>TI</Text> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>89ae1fa5-1ad1-469e-ae76-0a29c35805cd</ID> + <Left>588</Left> + <Top>317.1504424778762</Top> + <Width>283</Width> + <Height>74.982300884955748</Height> + <Angle>0</Angle> + <ItemGuid>E144A221-4859-4DC3-9A7E-4A2969FB0826</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>c218cf34-74c2-41bb-8c3b-3030abce451a</ID> + <Left>1363</Left> + <Top>384.02654867256643</Top> + <Width>156</Width> + <Height>94.234513274336337</Height> + <Angle>0</Angle> + <ItemGuid>E144A221-4859-4DC3-9A7E-4A2969FB0826</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>75af30c6-d7f8-4745-bfb5-d6dc5d50479a</ID> + <Left>767</Left> + <Top>362.74778761061958</Top> + <Width>283</Width> + <Height>74.982300884955748</Height> + <Angle>0</Angle> + <ItemGuid>E144A221-4859-4DC3-9A7E-4A2969FB0826</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>df1fd958-fd8a-4b00-98e1-679455494d60</ID> + <Left>309</Left> + <Top>13.168141592920392</Top> + <Width>112</Width> + <Height>107.40707964601768</Height> + <Angle>0</Angle> + <ItemGuid>3174ADCF-5793-4B5A-A3C6-B96E146A903D</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>f07225b3-1522-4cb6-9ba8-5b9697f05467</ID> + <Left>1180</Left> + <Top>60.7920353982301</Top> + <Width>102</Width> + <Height>88.1548672566372</Height> + <Angle>0</Angle> + <ItemGuid>E2F0FC31-CE7E-416B-ACEA-8EB6CA9B850B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>45b87322-e1f5-42eb-88c6-71c2eeb2899a</ID> + <Left>1258</Left> + <Top>463.06194690265494</Top> + <Width>88</Width> + <Height>75.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C09F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>0c1c25e8-3ce3-4994-bbb9-bd6b2367a413</ID> + <Left>810</Left> + <Top>462.04867256637175</Top> + <Width>77</Width> + <Height>80.048672566371636</Height> + <Angle>0</Angle> + <ItemGuid>AD50C358-5BAF-4A2F-8593-51A22C85B3D1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>fa2f697e-b229-418a-bae6-78b92bf0458b</ID> + <Left>336</Left> + <Top>428.61061946902663</Top> + <Width>95</Width> + <Height>96.261061946902657</Height> + <Angle>0</Angle> + <ItemGuid>84682E90-6926-42AA-BF8C-2CCCF5C26C97</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Priming</Name> + <Items> + <TechItem xsi:type="MonitorItem"> + <ID>ea45a516-9dac-4c9a-9261-0c44e22aa065</ID> + <Left>808</Left> + <Top>155.02654867256638</Top> + <Width>219</Width> + <Height>200.62831858407088</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>3e2cb7dc-a5f3-4ba6-a520-2bae8ff0e4a8</ID> + <Left>832</Left> + <Top>451.91592920353986</Top> + <Width>332</Width> + <Height>326.27433628318596</Height> + <Angle>0</Angle> + <ItemGuid>C8D8FE90-0375-44A2-A6D1-E997789E065C</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 2</DisplayName> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>6f8dfd8d-ed50-4923-b908-e0b5bc5d6ae5</ID> + <Left>154</Left> + <Top>131.72123893805315</Top> + <Width>474</Width> + <Height>410.37610619469024</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1942</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>604e031b-89c3-4c9d-90ef-7b861a77e5e0</ID> + <Left>243</Left> + <Top>595.80088495575228</Top> + <Width>497</Width> + <Height>189.48230088495575</Height> + <Angle>0</Angle> + <ItemGuid>8B1FCBC3-FEEA-4F87-B56F-CE5D28B7ACA4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>c414ae0e-323a-48c1-9165-2c05cc4234c6</ID> + <Left>1291</Left> + <Top>584.65486725663732</Top> + <Width>200</Width> + <Height>171.24336283185835</Height> + <Angle>0</Angle> + <ItemGuid>0bd10306-2944-4cda-bc59-0264da2883d2</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + </Items> + </MachineTechViewProjectTab> + </Tabs> + <SelectedTabIndex>2</SelectedTabIndex> +</MachineTechViewProject>
\ 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 new file mode 100644 index 000000000..c2ae54a7d --- /dev/null +++ b/Software/Stubs Collection/stubs/technician view files/new head.tpf @@ -0,0 +1,2815 @@ +<?xml version="1.0"?> +<MachineTechViewProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <Items /> + <Tabs> + <MachineTechViewProjectTab> + <Name>Temperatures</Name> + <Items> + <TechItem xsi:type="ControllerItem"> + <ID>ba743caa-95f2-4b20-8c32-8e5943ada3fc</ID> + <Left>28</Left> + <Top>678.95132743362808</Top> + <Width>238</Width> + <Height>119.56637168141629</Height> + <Angle>0</Angle> + <ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <OptimalRangeMinimum>0</OptimalRangeMinimum> + <OptimalRangeMaximum>70</OptimalRangeMaximum> + <UpdateInterval>10</UpdateInterval> + <IsSetToDefault>true</IsSetToDefault> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>e4892498-fa1a-413c-9dd8-633efaade51c</ID> + <Left>415</Left> + <Top>692.74336283185824</Top> + <Width>160</Width> + <Height>102.34070796460173</Height> + <Angle>0</Angle> + <ItemGuid>6b9cba1d-4acf-4992-97ad-e422bca6ada2</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>a15665e3-af39-42d8-8c06-97d770632e10</ID> + <Left>928</Left> + <Top>593.77433628318579</Top> + <Width>207</Width> + <Height>184.4159292035398</Height> + <Angle>0</Angle> + <ItemGuid>6D6CFA18-5922-4AFE-84B3-2721CE128681</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerAirHeater</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>0ac64716-d30c-489b-939e-a26d06445866</ID> + <Left>828</Left> + <Top>682.88053097345</Top> + <Width>130</Width> + <Height>100.31415929203541</Height> + <Angle>0</Angle> + <ItemGuid>A5DFC2DB-3B36-4377-96A0-D492CE785C00</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerMainHeater</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>-2.05</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>181796d8-64f6-420a-8f37-9af9df67d6a9</ID> + <Left>717</Left> + <Top>684.46902654867324</Top> + <Width>127</Width> + <Height>101.3274336283186</Height> + <Angle>0</Angle> + <ItemGuid>86808B48-B7F9-43AD-840E-2A6A5987C305</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>DryerSecondaryHeater</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>fd2bb3a3-a411-470d-bde7-0beaf84da059</ID> + <Left>931</Left> + <Top>83.08407079646031</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>8E764A14-0F84-4FEC-928B-32A2509CAD57</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone3</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>7e8dd386-cca6-4d07-8a3e-af5403756002</ID> + <Left>1106</Left> + <Top>88.1504424778762</Top> + <Width>200</Width> + <Height>187.45575221238937</Height> + <Angle>0</Angle> + <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone2</HeaterType> + <SetPoint>30</SetPoint> + <CurrentValue>225.29</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>true</IsRampingUp> + <IsInSetPoint>false</IsInSetPoint> + </HeaterState> + <SetPoint>30</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID> + <Left>1311</Left> + <Top>89.163716814159329</Top> + <Width>157</Width> + <Height>194.54867256637175</Height> + <Angle>0</Angle> + <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone1</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>c844235a-8a29-4c2e-a964-e8f546d2ced7</ID> + <Left>1140</Left> + <Top>588.70796460177</Top> + <Width>173</Width> + <Height>183.40265486725662</Height> + <Angle>0</Angle> + <ItemGuid>42A62A48-F1D5-4BB6-AFEA-6A7DF6DCF626</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>MixerHeater</HeaterType> + <SetPoint>30</SetPoint> + <CurrentValue>216.54999999999998</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>true</IsRampingUp> + <IsInSetPoint>false</IsInSetPoint> + </HeaterState> + <SetPoint>30</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID> + <Left>751</Left> + <Top>80.420353982302458</Top> + <Width>169</Width> + <Height>197.27876106194645</Height> + <Angle>0</Angle> + <ItemGuid>94574D69-46E1-4144-A8B5-D4BF0DA96D18</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone4</HeaterType> + <SetPoint>30</SetPoint> + <CurrentValue>170.98999999999998</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>true</IsRampingUp> + <IsInSetPoint>false</IsInSetPoint> + </HeaterState> + <SetPoint>30</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID> + <Left>547</Left> + <Top>85.482300884952679</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>D6771DF4-771E-4D62-B6BA-BDE361C0A0F3</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone5</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>efff2e67-e3a3-4667-9208-4704707d7cda</ID> + <Left>353</Left> + <Top>86.69911504424698</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>D2B6CAA0-055E-4871-8D91-A5370F1ACB22</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone6</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>279.81</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>f9936dba-cef8-41e3-a715-eb629dca1870</ID> + <Left>265</Left> + <Top>683.95575221238948</Top> + <Width>131</Width> + <Height>109.43362831858394</Height> + <Angle>0</Angle> + <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>5f2610dc-3b9d-4302-b8f5-77a5e1c73b8c</ID> + <Left>1027.9999999999973</Left> + <Top>291.07079646017547</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>D</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>eadb5257-47a2-4336-a72a-f2d157fe70cb</ID> + <Left>907.99999999999909</Left> + <Top>295.35840707964616</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>F</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>6c59af66-169a-46e0-89ae-a81e3e619043</ID> + <Left>785.00000000000159</Left> + <Top>288.5000000000004</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>I</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>3b32b9a8-f300-443f-950e-c49f81678bac</ID> + <Left>624.99999999999966</Left> + <Top>285.86725663716874</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>L</Text> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>f6d44793-ed44-46ed-8854-eacbc11af10c</ID> + <Left>569</Left> + <Top>688.00884955752213</Top> + <Width>155</Width> + <Height>96.261061946902714</Height> + <Angle>0</Angle> + <ItemGuid>df38139e-0026-46bc-b72f-df5f9eec80f7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorRecorderItem"> + <ID>43793f93-da64-4409-b583-bca498f641e6</ID> + <Left>1308</Left> + <Top>656.59734513274338</Top> + <Width>203</Width> + <Height>107.40707964601774</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <SelectedMonitorsGuids /> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>be9db1fd-d408-4f1c-a15a-d6ffe58fafb6</ID> + <Left>1292</Left> + <Top>343.56637168141606</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>188285E5-1493-4BED-8269-91743770A631</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone7</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>100.02</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>f129ea0d-9abb-437f-928e-1cd1f569db2a</ID> + <Left>1190.0000000000025</Left> + <Top>294.69026548672929</Top> + <Width>39</Width> + <Height>38.504424778760836</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>C</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>217c677a-3e11-4a7c-959b-616dae1259dd</ID> + <Left>1369</Left> + <Top>295.87168141592934</Top> + <Width>44</Width> + <Height>42.557522123893705</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>A</Text> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>381f67cf-b7c6-4f6d-b089-37130798a5d8</ID> + <Left>1107</Left> + <Top>342.55309734513293</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>461FA2D7-1918-4958-AAA7-37A1A329FA12</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone8</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>99.97</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>3c923a93-4d15-4bbc-b1b3-be1876a77cfc</ID> + <Left>924</Left> + <Top>343.56637168141606</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>63E2AFE0-0746-4AAB-AA74-C26EC1F282AE</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone9</HeaterType> + <SetPoint>95</SetPoint> + <CurrentValue>95.05</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>95</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>26e078e6-df8c-4fbf-b10e-4b3f7c7e9500</ID> + <Left>359</Left> + <Top>342.55309734513304</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>2D578A37-D808-40D0-ACE4-4A868EDD6BDC</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone12</HeaterType> + <SetPoint>99</SetPoint> + <CurrentValue>99</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>99</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>7a8c3948-bb3d-4eb1-9276-315d34038f91</ID> + <Left>550</Left> + <Top>343.56637168141611</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>D41BBB23-6EB5-4743-89DB-9191000B475F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone11</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>100.02</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>f7d4c8ac-28cb-4779-83ef-3ede5e5a612c</ID> + <Left>738</Left> + <Top>344.57964601769908</Top> + <Width>186</Width> + <Height>195.56194690265494</Height> + <Angle>0</Angle> + <ItemGuid>B4D0A1C8-711C-49A9-82A3-B5B9F35FC131</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone10</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>100.02</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="ProcessParametersItem"> + <ID>63aa661e-4bad-43fc-aed3-c8f570254246</ID> + <Left>6</Left> + <Top>111.52654867256638</Top> + <Width>308</Width> + <Height>419.49557522123905</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <ProcessParameters> + <ID>0</ID> + <Guid>0f2eecbd-2a88-4510-b37c-7b4fc90de7f9</Guid> + <LastUpdated>2020-01-14T07:43:22.6203867Z</LastUpdated> + <Name>Process parameters 1</Name> + <DyeingSpeed>0</DyeingSpeed> + <MinInkUptake>0</MinInkUptake> + <MaxInkUptake>0</MaxInkUptake> + <FeederTension>0</FeederTension> + <PullerTension>0</PullerTension> + <WinderTension>0</WinderTension> + <MixerTemp>12</MixerTemp> + <HeadZone1Temp>100</HeadZone1Temp> + <HeadZone2Temp>100</HeadZone2Temp> + <HeadZone3Temp>95</HeadZone3Temp> + <HeadZone4Temp>100</HeadZone4Temp> + <HeadZone5Temp>100</HeadZone5Temp> + <HeadZone6Temp>99</HeadZone6Temp> + <DryerAirFlow>0</DryerAirFlow> + <DryerZone1Temp>100</DryerZone1Temp> + <DryerZone2Temp>0</DryerZone2Temp> + <DryerZone3Temp>0</DryerZone3Temp> + <DryerBufferLength>0</DryerBufferLength> + <HeadAirFlow>0</HeadAirFlow> + <TableIndex>0</TableIndex> + </ProcessParameters> + <ParametersIndices> + <ParameterIndex> + <Name>Name</Name> + <Index>0</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dyeing Speed</Name> + <Index>1</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Min Ink Uptake</Name> + <Index>2</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Max Ink Uptake</Name> + <Index>3</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Feeder Tension</Name> + <Index>4</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Puller Tension</Name> + <Index>5</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Winder Tension</Name> + <Index>6</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Mixer Temp</Name> + <Index>7</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 1 Temp</Name> + <Index>8</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 2 Temp</Name> + <Index>9</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 3 Temp</Name> + <Index>10</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 4 Temp</Name> + <Index>11</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 5 Temp</Name> + <Index>12</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 6 Temp</Name> + <Index>13</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Air Flow</Name> + <Index>14</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 1 Temp</Name> + <Index>15</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 2 Temp</Name> + <Index>16</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 3 Temp</Name> + <Index>17</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Buffer Length</Name> + <Index>18</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Air Flow</Name> + <Index>19</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Process Parameters Tables Group Guid</Name> + <Index>20</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Table Index</Name> + <Index>21</Index> + </ParameterIndex> + </ParametersIndices> + </TechItem> + <TechItem xsi:type="ProcessParametersItem"> + <ID>120a9bea-5b5a-4ba4-92f5-40135f49a344</ID> + <Left>6</Left> + <Top>543.18141592920369</Top> + <Width>338</Width> + <Height>129.69911504424772</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <ProcessParameters> + <ID>0</ID> + <Guid>674d92c5-e6f8-4a62-bc62-b8e2fe0882a0</Guid> + <LastUpdated>2020-01-14T07:44:15.1425366Z</LastUpdated> + <Name>Process parameters 2</Name> + <DyeingSpeed>0</DyeingSpeed> + <MinInkUptake>0</MinInkUptake> + <MaxInkUptake>0</MaxInkUptake> + <FeederTension>0</FeederTension> + <PullerTension>0</PullerTension> + <WinderTension>0</WinderTension> + <MixerTemp>0</MixerTemp> + <HeadZone1Temp>0</HeadZone1Temp> + <HeadZone2Temp>0</HeadZone2Temp> + <HeadZone3Temp>0</HeadZone3Temp> + <HeadZone4Temp>0</HeadZone4Temp> + <HeadZone5Temp>0</HeadZone5Temp> + <HeadZone6Temp>0</HeadZone6Temp> + <DryerAirFlow>0</DryerAirFlow> + <DryerZone1Temp>0</DryerZone1Temp> + <DryerZone2Temp>0</DryerZone2Temp> + <DryerZone3Temp>0</DryerZone3Temp> + <DryerBufferLength>0</DryerBufferLength> + <HeadAirFlow>0</HeadAirFlow> + <TableIndex>0</TableIndex> + </ProcessParameters> + <ParametersIndices> + <ParameterIndex> + <Name>Name</Name> + <Index>0</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dyeing Speed</Name> + <Index>1</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Min Ink Uptake</Name> + <Index>2</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Max Ink Uptake</Name> + <Index>3</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Feeder Tension</Name> + <Index>4</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Puller Tension</Name> + <Index>5</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Winder Tension</Name> + <Index>6</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Mixer Temp</Name> + <Index>7</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 1 Temp</Name> + <Index>8</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 2 Temp</Name> + <Index>9</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 3 Temp</Name> + <Index>10</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 4 Temp</Name> + <Index>11</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 5 Temp</Name> + <Index>12</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 6 Temp</Name> + <Index>13</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Air Flow</Name> + <Index>14</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 1 Temp</Name> + <Index>15</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 2 Temp</Name> + <Index>16</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 3 Temp</Name> + <Index>17</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Buffer Length</Name> + <Index>18</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Air Flow</Name> + <Index>19</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Process Parameters Tables Group Guid</Name> + <Index>20</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Table Index</Name> + <Index>21</Index> + </ParameterIndex> + </ParametersIndices> + </TechItem> + <TechItem xsi:type="ProcessParametersItem"> + <ID>21aa11c9-3d35-4902-901a-b9ed45117e09</ID> + <Left>653</Left> + <Top>860.82743362831877</Top> + <Width>382</Width> + <Height>223.93362831858394</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <ProcessParameters> + <ID>0</ID> + <Guid>811430c0-2afc-4e9b-8077-a74e1fd2f825</Guid> + <LastUpdated>2020-01-14T11:41:02.8729031Z</LastUpdated> + <Name>Process parameters 3</Name> + <DyeingSpeed>0</DyeingSpeed> + <MinInkUptake>0</MinInkUptake> + <MaxInkUptake>0</MaxInkUptake> + <FeederTension>0</FeederTension> + <PullerTension>0</PullerTension> + <WinderTension>0</WinderTension> + <MixerTemp>0</MixerTemp> + <HeadZone1Temp>0</HeadZone1Temp> + <HeadZone2Temp>100</HeadZone2Temp> + <HeadZone3Temp>0</HeadZone3Temp> + <HeadZone4Temp>0</HeadZone4Temp> + <HeadZone5Temp>0</HeadZone5Temp> + <HeadZone6Temp>0</HeadZone6Temp> + <DryerAirFlow>0</DryerAirFlow> + <DryerZone1Temp>0</DryerZone1Temp> + <DryerZone2Temp>0</DryerZone2Temp> + <DryerZone3Temp>0</DryerZone3Temp> + <DryerBufferLength>0</DryerBufferLength> + <HeadAirFlow>0</HeadAirFlow> + <TableIndex>0</TableIndex> + </ProcessParameters> + <ParametersIndices> + <ParameterIndex> + <Name>Name</Name> + <Index>0</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dyeing Speed</Name> + <Index>1</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Min Ink Uptake</Name> + <Index>2</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Max Ink Uptake</Name> + <Index>3</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Feeder Tension</Name> + <Index>4</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Puller Tension</Name> + <Index>5</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Winder Tension</Name> + <Index>6</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Mixer Temp</Name> + <Index>7</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 1 Temp</Name> + <Index>8</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 2 Temp</Name> + <Index>9</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 3 Temp</Name> + <Index>10</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 4 Temp</Name> + <Index>11</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 5 Temp</Name> + <Index>12</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Zone 6 Temp</Name> + <Index>13</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Air Flow</Name> + <Index>14</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 1 Temp</Name> + <Index>15</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 2 Temp</Name> + <Index>16</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Zone 3 Temp</Name> + <Index>17</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Dryer Buffer Length</Name> + <Index>18</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Head Air Flow</Name> + <Index>19</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Process Parameters Tables Group Guid</Name> + <Index>20</Index> + </ParameterIndex> + <ParameterIndex> + <Name>Table Index</Name> + <Index>21</Index> + </ParameterIndex> + </ParametersIndices> + </TechItem> + <TechItem xsi:type="DancerItem"> + <ID>d3f502ea-76dd-48c3-b401-7f5fb7925a72</ID> + <Left>409</Left> + <Top>589.79203539823015</Top> + <Width>148</Width> + <Height>96.2610619469026</Height> + <Angle>0</Angle> + <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> + <Name>Thread</Name> + <Items> + <TechItem xsi:type="MonitorItem"> + <ID>50bae43f-8b1a-4279-9238-b976a0c72af3</ID> + <Left>1530</Left> + <Top>193.19911504424795</Top> + <Width>169</Width> + <Height>181.37610619469029</Height> + <Angle>0</Angle> + <ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>68eef943-2151-4df5-be61-044c3865606e</ID> + <Left>1172</Left> + <Top>145.78318584070678</Top> + <Width>175</Width> + <Height>167.827433628319</Height> + <Angle>0</Angle> + <ItemGuid>96B89605-F999-43FE-A1CD-2645BFB33A36</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>6be024c6-3d1b-4267-9b77-44473aba56b7</ID> + <Left>988</Left> + <Top>143.32300884955998</Top> + <Width>190</Width> + <Height>167.09734513274049</Height> + <Angle>0</Angle> + <ItemGuid>FC60060A-3736-4910-B41A-FF6DABDF0E9E</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>7c720f3b-00e1-49dd-92f9-fdd1e9686623</ID> + <Left>817</Left> + <Top>142.42035398230098</Top> + <Width>169</Width> + <Height>168.31858407079625</Height> + <Angle>0</Angle> + <ItemGuid>4CE6A82E-D841-4D33-BBB2-11F0743A441C</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>3ebd6759-521b-4ed1-a353-ee1ad7801f28</ID> + <Left>922</Left> + <Top>516.43362831858417</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>D126DB23-784B-4F0C-8F88-D89A65A7549F</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1460</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>16384</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>984b4126-3dda-4624-a79f-0646eb0e1358</ID> + <Left>465</Left> + <Top>515.420353982301</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>10102BC3-0EAE-47FF-A8E5-8640780CAA3D</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1516</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>16384</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>8ebc3ab7-a02d-4b12-93b3-2563443831d7</ID> + <Left>15</Left> + <Top>518.46017699115032</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>C0BCCD5C-346B-4C4A-A080-39D28E9E1A0C</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>16384</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>acafb268-5e97-4277-8dc8-173250a9e3f8</ID> + <Left>12</Left> + <Top>13.849557522123973</Top> + <Width>439</Width> + <Height>304.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>9FBC5460-BA59-486B-8D85-BD7D8A959F98</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1273</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>3ccb1485-b0e9-4d36-a931-a1b3865edeaa</ID> + <Left>460</Left> + <Top>38.28761061946841</Top> + <Width>267</Width> + <Height>221.90707964601768</Height> + <Angle>0</Angle> + <ItemGuid>08d15ca1-d7d1-460f-8f37-42c37c287cd1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>952.3546144121359</Speed> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>be4cb8d9-b516-4604-a6a5-1638cbc50251</ID> + <Left>860</Left> + <Top>-24.18584070796669</Top> + <Width>345</Width> + <Height>169.21681415929209</Height> + <Angle>0</Angle> + <ItemGuid>4CE6A82E-D841-4D33-BBB2-11F0743A441C</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>514</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100000</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>75b99507-4eba-4b11-b52e-26732d4c5479</ID> + <Left>19</Left> + <Top>324.14159292035305</Top> + <Width>429</Width> + <Height>193.26548672566258</Height> + <Angle>0</Angle> + <ItemGuid>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>4</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>a30e48de-be76-4230-92d0-d27d6f37b940</ID> + <Left>474</Left> + <Top>320.03097345132551</Top> + <Width>429</Width> + <Height>193.26548672566258</Height> + <Angle>0</Angle> + <ItemGuid>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>4</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>5ac4b368-093a-4192-98d4-e9d24f229b13</ID> + <Left>928</Left> + <Top>321.64601769912122</Top> + <Width>429</Width> + <Height>193.26548672566258</Height> + <Angle>0</Angle> + <ItemGuid>84CF23C9-D20D-4C08-BE1D-80201FC43C06</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>4</DecimalPlaces> + <Duration>1398</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="MonitorRecorderItem"> + <ID>9c34dc69-cfaa-48b4-9d02-8f0d9bba79dd</ID> + <Left>1303</Left> + <Top>34.380530973454768</Top> + <Width>176</Width> + <Height>83.05309734512457</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <SelectedMonitorsGuids> + <string>89B7B89D-8050-4188-B568-35B1910CFB6F</string> + <string>96B89605-F999-43FE-A1CD-2645BFB33A36</string> + <string>84CF23C9-D20D-4C08-BE1D-80201FC43C06</string> + <string>FC60060A-3736-4910-B41A-FF6DABDF0E9E</string> + <string>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</string> + <string>9ADF7823-B293-4275-9999-F62474D246AA</string> + <string>4CE6A82E-D841-4D33-BBB2-11F0743A441C</string> + <string>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</string> + </SelectedMonitorsGuids> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Dispensers</Name> + <Items> + <TechItem xsi:type="DispenserItem"> + <ID>dce78f33-c966-4848-8c6e-a4a01dbc7577</ID> + <Left>1322.1428571428571</Left> + <Top>214.15929203538531</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>2CC8E461-E91F-4D4C-A402-922477F06C87</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 1</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>2d03fc19-0502-43e1-a3ff-4012a612112b</ID> + <Left>1149</Left> + <Top>218.48230088495342</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>C8D8FE90-0375-44A2-A6D1-E997789E065C</ItemGuid> + <ColorNumber>-16724737</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 2</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>81958374-3fa3-48b3-a554-5653fe1934b1</ID> + <Left>959</Left> + <Top>210.32743362830422</Top> + <Width>156</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>08ED9044-CAD6-4492-94B2-C07206E0164B</ItemGuid> + <ColorNumber>-65325</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 3</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>8fead411-7198-4428-a364-e32f3035ed94</ID> + <Left>775</Left> + <Top>206.42920353980952</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>179F34BB-3252-4D3A-965C-E6EB43D6FE7C</ItemGuid> + <ColorNumber>-524544</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 4</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>31bfa89f-e64d-4a3b-8585-c4a1b2e5a139</ID> + <Left>585</Left> + <Top>208.47345132741418</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>716B35CF-46E0-47D5-AF85-5233D212568F</ItemGuid> + <ColorNumber>-2108246</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 5</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>c2bff5f3-6dc9-4b07-87ba-9e3a5814804e</ID> + <Left>372</Left> + <Top>216.75221238937439</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>99528449-4D76-4874-AB95-522951560E01</ItemGuid> + <ColorNumber>-263685</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 6</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>071281a5-3569-4a62-8b68-7bea850a3c07</ID> + <Left>217</Left> + <Top>211.63716814158107</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>E8ED07E2-7C36-459C-B9E5-6A23A1E24F03</ItemGuid> + <ColorNumber>-723724</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 7</DisplayName> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>7b703b9a-a626-4ae5-8e31-fa1cfe5718f4</ID> + <Left>45</Left> + <Top>216.04867256635521</Top> + <Width>159</Width> + <Height>215.8274336283186</Height> + <Angle>0</Angle> + <ItemGuid>8A957565-4165-49F7-854D-D21F95FFBE1B</ItemGuid> + <ColorNumber>-724238</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 8</DisplayName> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>caca40a2-310c-452e-adcf-c28ee38f6bdc</ID> + <Left>1305</Left> + <Top>31.606194690259713</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-15856114</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>af52d36f-27a2-4a31-8ceb-9c43fedbed22</ID> + <Left>1127</Left> + <Top>32.535398230081626</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-15293470</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>d40eada8-d22a-4521-bd2a-d998ed93106f</ID> + <Left>955</Left> + <Top>32.61946902653176</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid> + <ColorNumber>-1570857</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>b2d6364d-8b5c-43d2-8838-927c85b017b1</ID> + <Left>774</Left> + <Top>31.960176991142362</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid> + <ColorNumber>-1379575</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>3980e685-73b3-4af1-9593-9235be147322</ID> + <Left>596</Left> + <Top>32.889380530964274</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid> + <ColorNumber>-7763381</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>51465293-58d5-40a4-8302-81856f8b4f47</ID> + <Left>424</Left> + <Top>32.973451327414409</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>AF3FD56C-95BF-4DE1-8EDC-8426B0DB2A26</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>c2a8c5b2-891b-4f9f-862c-c1c294366c78</ID> + <Left>252</Left> + <Top>31.703539823006281</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>60DA9EA3-C8A6-4D41-8AD8-3EB1BAA79CC9</ItemGuid> + <ColorNumber>-8391822</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>9618e441-8973-4e16-a90b-06ce5798bd29</ID> + <Left>80</Left> + <Top>31.787610619456416</Top> + <Width>150</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>EF66F95A-E166-4FA2-B1AF-D6F55621817A</ItemGuid> + <ColorNumber>-2186185</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>bce8c8e8-a317-4991-9aa7-cd99a45d1509</ID> + <Left>28.22352941176473</Left> + <Top>682.03174474303751</Top> + <Width>247</Width> + <Height>122.24778761061873</Height> + <Angle>0</Angle> + <ItemGuid>66cc8510-db9c-4e13-9151-01e705ec04de</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>72a23702-31bb-4ab8-aee5-2a02bcb1270b</ID> + <Left>235.16470588235291</Left> + <Top>699.99460095802579</Top> + <Width>200</Width> + <Height>94.15929203539747</Height> + <Angle>0</Angle> + <ItemGuid>36ba0ba4-e41d-45ff-8f68-1699e00c7107</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="ControllerItem"> + <ID>2dd6ff17-e515-4d8f-814f-a9683f404a8e</ID> + <Left>140</Left> + <Top>867.73893805310092</Top> + <Width>160</Width> + <Height>85.49115044247776</Height> + <Angle>0</Angle> + <ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <OptimalRangeMinimum>0</OptimalRangeMinimum> + <OptimalRangeMaximum>70</OptimalRangeMaximum> + <UpdateInterval>10</UpdateInterval> + <IsSetToDefault>true</IsSetToDefault> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>06843009-1da0-4811-8e77-50576d0edcb1</ID> + <Left>507</Left> + <Top>792.77433628318749</Top> + <Width>219</Width> + <Height>125.75221238938025</Height> + <Angle>0</Angle> + <ItemGuid>0c5dc1e9-da17-4ff8-86aa-6b39fd796ba9</ItemGuid> + <ColorNumber>-16777216</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>935dddd0-0c6f-4766-8173-f9118006a12b</ID> + <Left>1303</Left> + <Top>475.87168141593065</Top> + <Width>160</Width> + <Height>124.6504424778754</Height> + <Angle>0</Angle> + <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid> + <ColorNumber>-15856114</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MultiGraphItem"> + <ID>97e39a59-dba8-4e42-a124-b37de9453baf</ID> + <Left>370</Left> + <Top>781.46902654866153</Top> + <Width>710</Width> + <Height>401.24778761063465</Height> + <Angle>0</Angle> + <ItemGuid>D023F15D-3555-48E9-A9E9-5DF99F60D791</ItemGuid> + <ColorNumber>0</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>1956</Duration> + <Min>0</Min> + <Max>100</Max> + <UseAutoRange>true</UseAutoRange> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>46bdfce3-1c69-45dd-bbe9-582d1ac1e6f2</ID> + <Left>1128</Left> + <Top>482.80530973451141</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>0FE216B2-A097-4F2C-B465-08593F2532B3</ItemGuid> + <ColorNumber>-15293470</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>429154a5-9a16-4423-85ca-ee4bae9aec3c</ID> + <Left>968</Left> + <Top>481.35398230088504</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>3271FD82-46D3-4789-B612-564967826C75</ItemGuid> + <ColorNumber>-1570857</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>0f6ab8e8-99a7-4468-bde8-690a63467688</ID> + <Left>766</Left> + <Top>476.07964601769811</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>FBB806E7-42FA-4BAA-BDA1-3B8B07913AAD</ItemGuid> + <ColorNumber>-1379575</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>bc0ac903-9c1f-4580-8b9e-670a76350473</ID> + <Left>586</Left> + <Top>474.38938053097161</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>436A22BB-AF79-4CB2-8A7D-DD4D9E54A81E</ItemGuid> + <ColorNumber>-7763381</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>f9c960b2-b93e-46d5-b892-30337c0b55af</ID> + <Left>391</Left> + <Top>474.87168141592781</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>89EA6CC8-5363-4BEC-A370-D906611087A7</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>5ac157ab-2d53-4307-bf0b-b069854701ac</ID> + <Left>226</Left> + <Top>471.66814159292005</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>D5EBE52B-E2DF-4C97-80B1-F111F6B15854</ItemGuid> + <ColorNumber>-8391822</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>65a19d7e-c524-48a0-bd70-28b99b113dd1</ID> + <Left>69</Left> + <Top>473.97787610619389</Top> + <Width>140</Width> + <Height>117.32300884955743</Height> + <Angle>0</Angle> + <ItemGuid>FE521D1B-A0EA-4FEA-AE64-33998A6CE138</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>5bf7a681-ee47-477e-8b47-ba7a2eb6e115</ID> + <Left>1130</Left> + <Top>624.9557522123913</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>3174ADCF-5793-4B5A-A3C6-B96E146A903D</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>29b17a4b-fd4e-49cc-a3cd-418730176bf7</ID> + <Left>969</Left> + <Top>625.95575221239</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>AD50C358-5BAF-4A2F-8593-51A22C85B3D1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>21a5429f-c3a2-4e3b-ae77-c5538f30130d</ID> + <Left>775</Left> + <Top>623.66814159292062</Top> + <Width>144</Width> + <Height>82.535398230087083</Height> + <Angle>0</Angle> + <ItemGuid>E2F0FC31-CE7E-416B-ACEA-8EB6CA9B850B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>96a46b0c-37b1-4457-93fb-b3dc301c5743</ID> + <Left>588</Left> + <Top>625.06637168141322</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C09F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>d4ad8603-9929-415f-9990-1869fcff36e4</ID> + <Left>1310</Left> + <Top>628.69469026548632</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>84682E90-6926-42AA-BF8C-2CCCF5C26C97</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>25249d78-ee37-42a8-b5aa-96f60e97c3ea</ID> + <Left>20.870588235294122</Left> + <Top>784.26605504587133</Top> + <Width>327</Width> + <Height>108.53097345133028</Height> + <Angle>0</Angle> + <ItemGuid>8B1FCBC3-FEEA-4F87-B56F-CE5D28B7ACA4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>fc1d62f7-d13b-4a7b-8f9f-c687c987c7a9</ID> + <Left>1065</Left> + <Top>788.41592920352355</Top> + <Width>370</Width> + <Height>362.10619469026585</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>1426</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>cc99a514-1498-4b93-a4eb-4e0a2a2e9de6</ID> + <Left>628</Left> + <Top>765.4469026548752</Top> + <Width>394</Width> + <Height>372.88495575221242</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1282</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>cdddd48e-422d-48f4-8397-5032c3705fdb</ID> + <Left>1069</Left> + <Top>698.04867256637226</Top> + <Width>382</Width> + <Height>136.79203539823016</Height> + <Angle>0</Angle> + <ItemGuid>16C0F85C-0479-42F4-A67E-3E0CD3B23C2D</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>ee6d4c5a-ca5b-4557-8012-dacf700cdc08</ID> + <Left>231</Left> + <Top>624.06637168142413</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C010</ItemGuid> + <ColorNumber>-8391822</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>20576bb2-202f-4170-9af5-f3c18b410112</ID> + <Left>77</Left> + <Top>624.46460176991513</Top> + <Width>144</Width> + <Height>80.495575221237516</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C011</ItemGuid> + <ColorNumber>-2186185</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Thread insertion</Name> + <Items> + <TechItem xsi:type="MotorItem"> + <ID>443a977c-8e89-4a56-82e4-684bac7945c9</ID> + <Left>25</Left> + <Top>22.761061946902203</Top> + <Width>247</Width> + <Height>172.25663716814159</Height> + <Angle>0</Angle> + <ItemGuid>08d15ca1-d7d1-460f-8f37-42c37c287cd1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>a821b716-cb7d-4951-84ee-e56955431099</ID> + <Left>355</Left> + <Top>20.592920353981697</Top> + <Width>260</Width> + <Height>153.00442477876106</Height> + <Angle>0</Angle> + <ItemGuid>b90a4e78-ebbf-44db-829b-949517d6400b</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>50</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>e36e321b-d48d-4199-a1ee-75ac18e9de1e</ID> + <Left>694</Left> + <Top>19.367256637167998</Top> + <Width>217</Width> + <Height>155.26106194690203</Height> + <Angle>0</Angle> + <ItemGuid>b7c1aea4-32c1-41cb-bca3-4aa665529b49</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>50</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>8790db03-4dfd-4d49-aec0-706babb55af9</ID> + <Left>364</Left> + <Top>222.16814159291846</Top> + <Width>240</Width> + <Height>172.30973451327589</Height> + <Angle>0</Angle> + <ItemGuid>2d3eaca5-4dfd-40d9-9d1f-aa4ae794eddc</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>69ebcb28-13d9-41b3-a9ef-b2be51584141</ID> + <Left>29</Left> + <Top>241.34955752210982</Top> + <Width>263</Width> + <Height>174.296460176989</Height> + <Angle>0</Angle> + <ItemGuid>c6099065-a735-4cc5-b575-c31a45bb9262</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>400</Speed> + </TechItem> + <TechItem xsi:type="ThreadMotionItem"> + <ID>4d562029-3fdf-40a4-a5a7-9a322253c912</ID> + <Left>1168</Left> + <Top>47.305309734517039</Top> + <Width>304</Width> + <Height>167.26548672566202</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <Speed>40</Speed> + </TechItem> + <TechItem xsi:type="BreakSensorItem"> + <ID>92607e12-2dd6-41c9-8f89-f051f386b734</ID> + <Left>1258</Left> + <Top>277.55752212389069</Top> + <Width>240</Width> + <Height>156.04424778761069</Height> + <Angle>0</Angle> + <ItemGuid>DCE08A06-6711-43AE-AB7C-EADD5AB70EE0</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>7b5b6896-f626-4e59-a5cf-2600e603c0f6</ID> + <Left>695</Left> + <Top>223.44247787610908</Top> + <Width>228</Width> + <Height>175.0353982300901</Height> + <Angle>0</Angle> + <ItemGuid>7b6d0a93-5a91-4e1f-af47-353afd8b5ea6</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>83.833754740833143</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>2052a2d3-843c-4a1c-87fd-acd0832fd1b9</ID> + <Left>81</Left> + <Top>542.88495575220634</Top> + <Width>220</Width> + <Height>168.473451327436</Height> + <Angle>0</Angle> + <ItemGuid>7c03f12f-ab2a-4421-8575-aefd6dec0001</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1000</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>339b7d00-d688-41cf-926a-8171d5e62740</ID> + <Left>376</Left> + <Top>553.11061946903</Top> + <Width>240</Width> + <Height>159.84070796460173</Height> + <Angle>0</Angle> + <ItemGuid>f3b5076e-cba3-4ad2-b3cc-0c4e907bd9ef</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>98.094184576485333</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID> + <Left>1014</Left> + <Top>290.60619469026437</Top> + <Width>240</Width> + <Height>172.30973451327589</Height> + <Angle>0</Angle> + <ItemGuid>92237d83-9f85-48db-aa6f-2fc5c9e0d8cd</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>c706d31b-48b0-44cc-a9c4-11d3acdcf667</ID> + <Left>548</Left> + <Top>418.71652683599893</Top> + <Width>269</Width> + <Height>127.67256637168134</Height> + <Angle>0</Angle> + <ItemGuid>2a454081-bd5e-41de-ae5d-97aefe1d76de</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>7ccff69d-50f9-4e9b-a997-72a67917df5e</ID> + <Left>803</Left> + <Top>569.80530973451619</Top> + <Width>227</Width> + <Height>145.08849557522183</Height> + <Angle>0</Angle> + <ItemGuid>9c02effb-7deb-40a1-90c3-df1fb48e6431</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>30</Speed> + </TechItem> + <TechItem xsi:type="MotorItem"> + <ID>a88a74cb-418b-4ed0-89ec-c42ff560528e</ID> + <Left>1107</Left> + <Top>573.87168141592883</Top> + <Width>227</Width> + <Height>145.08849557522183</Height> + <Angle>0</Angle> + <ItemGuid>a359e9d0-adcc-40a5-b3d9-b9cb26eca092</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>30</Speed> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Head graphs</Name> + <Items> + <TechItem xsi:type="SingleGraphItem"> + <ID>ffe980da-dbbe-4bac-9595-46f587e9df00</ID> + <Left>3</Left> + <Top>5.8097345132742362</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E448FB</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>81b78212-14d8-4a66-bf3a-eeea9900e0d6</ID> + <Left>371</Left> + <Top>21.075221238938013</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>AA1CF164-76FE-49C6-AA73-0EBA29816E92</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>3941a557-05e6-4c1b-bb98-4f2a59892431</ID> + <Left>517</Left> + <Top>11.517699115044195</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>188285E5-1493-4BED-8269-91743770A631</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone7</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>100.02</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>7e0942e7-a87a-402a-b580-5091ed6b29ee</ID> + <Left>8</Left> + <Top>276.6194690265491</Top> + <Width>357</Width> + <Height>143.58407079645986</Height> + <Angle>0</Angle> + <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E44809</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>064bd571-4250-4ea3-8ed5-96f1ddc8fe6b</ID> + <Left>374</Left> + <Top>280.73893805309746</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>8FEB7F10-E1FB-465A-A987-6E8659C2186A</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>4845ec5b-067b-43c2-aaf1-314dcb358a7c</ID> + <Left>519</Left> + <Top>283.3407079646019</Top> + <Width>103</Width> + <Height>121.59292035398221</Height> + <Angle>0</Angle> + <ItemGuid>63E2AFE0-0746-4AAB-AA74-C26EC1F282AE</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone9</HeaterType> + <SetPoint>95</SetPoint> + <CurrentValue>95.05</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>95</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>85b25b0b-cd3d-4a8a-88f5-f832623d7ec2</ID> + <Left>8.75</Left> + <Top>704.87334618417651</Top> + <Width>350</Width> + <Height>152.70353982300856</Height> + <Angle>0</Angle> + <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E44812</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>85e9ecc2-3bce-4055-89a9-1712752898a9</ID> + <Left>375.66666666666663</Left> + <Top>902.19714360816624</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>500698E0-5623-4A47-9537-FCAAF5D0B725</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>8d9b0d4b-ac5e-4c17-b7eb-4d59825064c7</ID> + <Left>523.04166666666652</Left> + <Top>895.90015771488663</Top> + <Width>103</Width> + <Height>121.59292035398221</Height> + <Angle>0</Angle> + <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone12</HeaterType> + <SetPoint>99</SetPoint> + <CurrentValue>99</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>99</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>63ccee8d-ce38-4c69-b8d1-141f320d11f9</ID> + <Left>6</Left> + <Top>563.37610619469046</Top> + <Width>358</Width> + <Height>141.55752212389359</Height> + <Angle>0</Angle> + <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E44811</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>5ed86083-bdd6-4648-b7ca-f17fa97f034a</ID> + <Left>379</Left> + <Top>573.57522123893818</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>C113AA1D-25F5-4095-A1F3-18BEDFC0EEEE</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>8269194e-5348-4367-8ae9-e6c0647febaf</ID> + <Left>523</Left> + <Top>571.1106194690268</Top> + <Width>103</Width> + <Height>116.52654867256626</Height> + <Angle>0</Angle> + <ItemGuid>D41BBB23-6EB5-4743-89DB-9191000B475F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone11</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>100.02</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>182492d7-b240-4162-b8ec-39996eec3cc7</ID> + <Left>9</Left> + <Top>418.47787610619497</Top> + <Width>353</Width> + <Height>145.61061946902635</Height> + <Angle>0</Angle> + <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E44810</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>e8130372-e0ee-4c1c-a43d-4ab15ff57bd8</ID> + <Left>378</Left> + <Top>430.703539823009</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>DCCCCF68-5895-40BE-9E90-1FA35E44D2E4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>af0d953f-45de-4c0d-9eeb-d7a5c17681e4</ID> + <Left>519</Left> + <Top>428.23893805309746</Top> + <Width>103</Width> + <Height>121.59292035398221</Height> + <Angle>0</Angle> + <ItemGuid>B4D0A1C8-711C-49A9-82A3-B5B9F35FC131</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone10</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>100.02</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>00dda04e-1853-422f-ac47-29bdbab642d7</ID> + <Left>7</Left> + <Top>142.86725663716828</Top> + <Width>357</Width> + <Height>152.70353982300867</Height> + <Angle>0</Angle> + <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E44808</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>e7935033-56c6-42a4-a2b3-f5eedb0a11e7</ID> + <Left>382</Left> + <Top>151.03982300884968</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>E772ECA1-24EB-446A-AB28-F5E3D853B9F6</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>b339a7c0-7555-4e54-9834-6193ed7c2b7a</ID> + <Left>519</Left> + <Top>147.561946902655</Top> + <Width>104</Width> + <Height>109.43362831858406</Height> + <Angle>0</Angle> + <ItemGuid>461FA2D7-1918-4958-AAA7-37A1A329FA12</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone8</HeaterType> + <SetPoint>100</SetPoint> + <CurrentValue>99.97</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>100</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>40d16753-8448-4af9-8fbd-98c1ed301de5</ID> + <Left>623</Left> + <Top>117.5353982300885</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>D7585119-4A42-4370-8F1E-F3E62553E588</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>b3826c8e-1d82-4f4f-ad9f-d88f257dffb2</ID> + <Left>1005</Left> + <Top>12.221238938053205</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>d59b64f7-a8cf-4a2b-935a-943ae35fb78c</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>d3631074-68c4-4377-b0c5-9213a6b1b2c0</ID> + <Left>1148</Left> + <Top>293.47345132743362</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>8E764A14-0F84-4FEC-928B-32A2509CAD57</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone3</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>99af8946-4971-4913-9382-705c4e05b7ce</ID> + <Left>621</Left> + <Top>275.60619469026591</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>098F7CAB-030C-46B0-B2B8-A85AF2253032</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>2</DecimalPlaces> + <Duration>2962</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="PidItem"> + <ID>233f0076-7595-4ecb-8496-41eeb7b457ea</ID> + <Left>993</Left> + <Top>279.72566371681404</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>9de55ec4-201f-4f62-9003-f63ebea06f8f</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>f815ebb5-61af-45ff-8109-5f5e717a5c4d</ID> + <Left>1146</Left> + <Top>14.823008849557596</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone1</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>7b7d9bea-29df-4f94-8ab6-2a6d7105bccf</ID> + <Left>627</Left> + <Top>6.07522123893807</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</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>72d7192b-dd27-4064-9f5f-90062388a81c</ID> + <Left>1003</Left> + <Top>151.03982300884974</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>df38139e-0026-46bc-b72f-df5f9eec80f7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>915f8dfc-5407-43ca-a0c7-d774867dfb5f</ID> + <Left>1145</Left> + <Top>153.64159292035396</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone2</HeaterType> + <SetPoint>30</SetPoint> + <CurrentValue>225.29</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>true</IsRampingUp> + <IsInSetPoint>false</IsInSetPoint> + </HeaterState> + <SetPoint>30</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>64fba32f-3c03-42b3-b1ed-e2bdbe454bd6</ID> + <Left>630</Left> + <Top>535.00442477876129</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>246C2551-5EFD-48E9-94F6-6313C5E5018F</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>5f451443-fab2-4bf6-8f21-5e038ca2c726</ID> + <Left>1008</Left> + <Top>707.327433628319</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>16D0DEF7-A2E0-4163-9F4B-FBEC2573BCC7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>e5c1becb-1402-45fa-b252-60a03d4401cc</ID> + <Left>1150</Left> + <Top>716.00884955752235</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>D2B6CAA0-055E-4871-8D91-A5370F1ACB22</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone6</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>279.81</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>4f3b4ecd-759a-4ba5-80f3-74cc485d7085</ID> + <Left>629</Left> + <Top>387.066371681416</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>6C0C1AB0-3EE9-40D7-8424-A79436FBC804</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>665593d6-e689-459e-94f9-2cdcce6150ac</ID> + <Left>1004</Left> + <Top>562.42920353982311</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>d28bfa3c-edce-4f19-a296-3da251fcc0e2</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>42b4b029-e8bc-4156-b6c1-bb64aae83f9e</ID> + <Left>1149</Left> + <Top>571.1106194690268</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>D6771DF4-771E-4D62-B6BA-BDE361C0A0F3</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone5</HeaterType> + <SetPoint>0</SetPoint> + <CurrentValue>8.5</CurrentValue> + <IsActive>false</IsActive> + <IsRampingUp>false</IsRampingUp> + <IsInSetPoint>true</IsInSetPoint> + </HeaterState> + <SetPoint>0</SetPoint> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>60dff2b2-7ddc-47a9-90b1-3f45968c1790</ID> + <Left>630</Left> + <Top>692.06194690265511</Top> + <Width>363</Width> + <Height>157.76991150442467</Height> + <Angle>0</Angle> + <ItemGuid>DACEBF90-E2B4-4CC9-A973-B8B429AA0089</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>b53a74f3-8e91-40ce-b980-c5b237baeee9</ID> + <Left>1002</Left> + <Top>413.47787610619491</Top> + <Width>128</Width> + <Height>91.469026548670342</Height> + <Angle>0</Angle> + <ItemGuid>81a3ae80-f4ea-4857-bc4e-2055d3b5fbc7</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="HeaterItem"> + <ID>8c438e59-d87c-46d2-8050-acc8a0c455d7</ID> + <Left>1148</Left> + <Top>434.31858407079636</Top> + <Width>103</Width> + <Height>113.4867256637167</Height> + <Angle>0</Angle> + <ItemGuid>94574D69-46E1-4144-A8B5-D4BF0DA96D18</ItemGuid> + <ColorNumber>-1</ColorNumber> + <HeaterState> + <HeaterType>HeaterZone4</HeaterType> + <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>false</IsInSetPoint> + </HeaterState> + <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> + <MachineTechViewProjectTab> + <Name>waste</Name> + <Items> + <TechItem xsi:type="DigitalOutItem"> + <ID>bb9bf273-0a3d-4202-98ce-37a5f206ed75</ID> + <Left>119</Left> + <Top>68.898230088495609</Top> + <Width>339</Width> + <Height>184.4159292035398</Height> + <Angle>0</Angle> + <ItemGuid>7e1f53ec-8176-4efa-ac3d-c8f2436e60d1</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>59678a51-f995-4952-b250-e449f1fcbeac</ID> + <Left>468</Left> + <Top>80.336283185839477</Top> + <Width>280</Width> + <Height>166.17699115044252</Height> + <Angle>0</Angle> + <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>8f9ff579-0e9d-4f48-8ed0-6fa563f2aba7</ID> + <Left>873</Left> + <Top>63.831858407079665</Top> + <Width>174</Width> + <Height>133.75221238938059</Height> + <Angle>0</Angle> + <ItemGuid>06bd7c0b-5aef-445a-86c0-853becf8594b</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>70d1bd1e-acdb-436a-b205-6eeb9d137120</ID> + <Left>1070</Left> + <Top>70.106194690265909</Top> + <Width>221</Width> + <Height>123.61946902654864</Height> + <Angle>0</Angle> + <ItemGuid>4048bf02-27dc-4049-9284-fe913a7e0ebe</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>dcc7ce16-5b89-4ff8-acd5-7fb0b9ebb6d1</ID> + <Left>877</Left> + <Top>248.24778761061947</Top> + <Width>186</Width> + <Height>126.65929203539827</Height> + <Angle>0</Angle> + <ItemGuid>00ea1771-efee-4f3e-a0d2-8b2a4214e9fd</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>2b99bbf7-94da-4bb2-acc9-91b35e543c5d</ID> + <Left>897</Left> + <Top>358.69469026548683</Top> + <Width>147</Width> + <Height>69.9159292035398</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>Waste lower presence</Text> + </TechItem> + <TechItem xsi:type="DigitalInItem"> + <ID>c150533c-abe4-4edf-b6ad-fa475b133142</ID> + <Left>1112</Left> + <Top>253.66814159291806</Top> + <Width>186</Width> + <Height>126.65929203539827</Height> + <Angle>0</Angle> + <ItemGuid>d2f266e3-779b-4dfe-b513-26ce61c529a4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>d96f2a6d-0ccb-401e-8931-09086ca81fae</ID> + <Left>1143</Left> + <Top>366.78318584070507</Top> + <Width>147</Width> + <Height>69.9159292035398</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>Waste middle presence</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>bb9847ba-9671-4613-bf23-a0c637ebc79d</ID> + <Left>151</Left> + <Top>271.55309734513281</Top> + <Width>200</Width> + <Height>63.836283185840671</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>pump</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>d13a2df4-3f54-4c31-8f9a-ee7810fb6af5</ID> + <Left>504</Left> + <Top>283.71238938053096</Top> + <Width>192</Width> + <Height>67.88938053097354</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>valve</Text> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>fbe2670f-6d9b-4361-9332-1ceb1692c91a</ID> + <Left>108</Left> + <Top>484.61946902655154</Top> + <Width>356</Width> + <Height>208.10619469026472</Height> + <Angle>0</Angle> + <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>disp</Name> + <Items> + <TechItem xsi:type="SingleGraphItem"> + <ID>f9531a72-3742-47a7-86bb-b589f8b3eb55</ID> + <Left>123</Left> + <Top>128.33628318584061</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>aae29286-81b3-476a-9f58-c0fd246cae96</ID> + <Left>880</Left> + <Top>158.81415929204155</Top> + <Width>442</Width> + <Height>241.88495575221771</Height> + <Angle>0</Angle> + <ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>7d94c7c4-1288-4f9d-b0e6-a06794829642</ID> + <Left>1055</Left> + <Top>14.181415929203524</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>Y</Text> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>c95f9ad1-b607-4606-8217-400bea76f3d6</ID> + <Left>384</Left> + <Top>23.991150442480944</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>C</Text> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>8f141fa5-fb24-4557-adcf-a6aa55a28fb4</ID> + <Left>121</Left> + <Top>-8.8495575221214722</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>7eab018a-ef43-4bca-a6cf-857d69767bba</ID> + <Left>839</Left> + <Top>-4.7079646017762684</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorRecorderItem"> + <ID>2a9e89d4-5d60-4a83-9527-cb77fdf35c14</ID> + <Left>1276</Left> + <Top>22.287610619469035</Top> + <Width>187</Width> + <Height>102.34070796460179</Height> + <Angle>0</Angle> + <ColorNumber>-1</ColorNumber> + <SelectedMonitorsGuids> + <string>1F0F907A-EC16-4386-AFC8-B2B156F2A822</string> + <string>A499E5E0-A812-4032-8F96-B38C6762C4BD</string> + <string>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</string> + <string>F33667BD-D9FA-4DC7-BC2C-0E89E60AE4BE</string> + <string>19645882-6587-4A50-BD85-AF06617DC654</string> + <string>96B89605-F999-43FE-A1CD-2645BFB33A36</string> + <string>84CF23C9-D20D-4C08-BE1D-80201FC43C06</string> + <string>C0BCCD5C-346B-4C4A-A080-39D28E9E1A0C</string> + <string>10102BC3-0EAE-47FF-A8E5-8640780CAA3D</string> + <string>FC60060A-3736-4910-B41A-FF6DABDF0E9E</string> + <string>5F12B974-2C9E-4DDD-9B20-733251A5D7E6</string> + <string>D126DB23-784B-4F0C-8F88-D89A65A7549F</string> + </SelectedMonitorsGuids> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>6d2e7962-b3ae-4682-b20e-9654f48dcffe</ID> + <Left>587</Left> + <Top>5.0619469026548813</Top> + <Width>155</Width> + <Height>131.72566371681415</Height> + <Angle>0</Angle> + <ItemGuid>2CC8E461-E91F-4D4C-A402-922477F06C87</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>500</Speed> + <DisplayName>Dispenser 1</DisplayName> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>5ee2718f-f068-427b-a31e-d586c7d7682c</ID> + <Left>131</Left> + <Top>552.94690265486338</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>1c254a92-c075-453f-9667-cdcc91cf8e6a</ID> + <Left>399</Left> + <Top>455.67256637168265</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>K</Text> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>d1087b1a-c36b-4242-96f5-07c2bb602cc4</ID> + <Left>145</Left> + <Top>409.52212389380446</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>1F0F907A-EC16-4386-AFC8-B2B156F2A822</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>53fe93a2-88a5-4d4d-9cd5-eb4d8a8fefae</ID> + <Left>604</Left> + <Top>561.16371681414739</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>0bef6e9d-6da0-4f06-9e1a-c00142bde4c1</ID> + <Left>832</Left> + <Top>440.91150442477635</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>M</Text> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>762c5a97-a3bc-45b4-aa9f-0b50afa9cb9b</ID> + <Left>633</Left> + <Top>434.0132743362783</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>be584f80-3250-494c-87fc-250d6deae051</ID> + <Left>1045</Left> + <Top>559.4070796459921</Top> + <Width>390</Width> + <Height>249.67699115047321</Height> + <Angle>0</Angle> + <ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>3</DecimalPlaces> + <Duration>3600</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>39f6a02c-c4d9-47d0-b92d-bdea0ed5d3ce</ID> + <Left>1056</Left> + <Top>435.43805309733875</Top> + <Width>169</Width> + <Height>132.73893805309734</Height> + <Angle>0</Angle> + <ItemGuid>19645882-6587-4A50-BD85-AF06617DC654</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>3</DecimalPoints> + </TechItem> + <TechItem xsi:type="TextItem"> + <ID>5b924929-9b16-4598-94cc-b2f4bca26798</ID> + <Left>1304</Left> + <Top>448.0884955752224</Top> + <Width>161</Width> + <Height>111.46017699115049</Height> + <Angle>0</Angle> + <ColorNumber>-14774017</ColorNumber> + <Text>TI</Text> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>89ae1fa5-1ad1-469e-ae76-0a29c35805cd</ID> + <Left>588</Left> + <Top>317.1504424778762</Top> + <Width>283</Width> + <Height>74.982300884955748</Height> + <Angle>0</Angle> + <ItemGuid>E144A221-4859-4DC3-9A7E-4A2969FB0826</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>c218cf34-74c2-41bb-8c3b-3030abce451a</ID> + <Left>1363</Left> + <Top>384.02654867256643</Top> + <Width>156</Width> + <Height>94.234513274336337</Height> + <Angle>0</Angle> + <ItemGuid>E144A221-4859-4DC3-9A7E-4A2969FB0826</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>75af30c6-d7f8-4745-bfb5-d6dc5d50479a</ID> + <Left>767</Left> + <Top>362.74778761061958</Top> + <Width>283</Width> + <Height>74.982300884955748</Height> + <Angle>0</Angle> + <ItemGuid>E144A221-4859-4DC3-9A7E-4A2969FB0826</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>df1fd958-fd8a-4b00-98e1-679455494d60</ID> + <Left>309</Left> + <Top>13.168141592920392</Top> + <Width>112</Width> + <Height>107.40707964601768</Height> + <Angle>0</Angle> + <ItemGuid>3174ADCF-5793-4B5A-A3C6-B96E146A903D</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>f07225b3-1522-4cb6-9ba8-5b9697f05467</ID> + <Left>1180</Left> + <Top>60.7920353982301</Top> + <Width>102</Width> + <Height>88.1548672566372</Height> + <Angle>0</Angle> + <ItemGuid>E2F0FC31-CE7E-416B-ACEA-8EB6CA9B850B</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>45b87322-e1f5-42eb-88c6-71c2eeb2899a</ID> + <Left>1258</Left> + <Top>463.06194690265494</Top> + <Width>88</Width> + <Height>75.995575221239</Height> + <Angle>0</Angle> + <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C09F</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>0c1c25e8-3ce3-4994-bbb9-bd6b2367a413</ID> + <Left>810</Left> + <Top>462.04867256637175</Top> + <Width>77</Width> + <Height>80.048672566371636</Height> + <Angle>0</Angle> + <ItemGuid>AD50C358-5BAF-4A2F-8593-51A22C85B3D1</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + <TechItem xsi:type="MonitorItem"> + <ID>fa2f697e-b229-418a-bae6-78b92bf0458b</ID> + <Left>336</Left> + <Top>428.61061946902663</Top> + <Width>95</Width> + <Height>96.261061946902657</Height> + <Angle>0</Angle> + <ItemGuid>84682E90-6926-42AA-BF8C-2CCCF5C26C97</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>0</DecimalPoints> + </TechItem> + </Items> + </MachineTechViewProjectTab> + <MachineTechViewProjectTab> + <Name>Priming</Name> + <Items> + <TechItem xsi:type="MonitorItem"> + <ID>ea45a516-9dac-4c9a-9261-0c44e22aa065</ID> + <Left>808</Left> + <Top>155.02654867256638</Top> + <Width>219</Width> + <Height>200.62831858407088</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-1</ColorNumber> + <UpdateInterval>10</UpdateInterval> + <DecimalPoints>2</DecimalPoints> + </TechItem> + <TechItem xsi:type="DispenserItem"> + <ID>3e2cb7dc-a5f3-4ba6-a520-2bae8ff0e4a8</ID> + <Left>832</Left> + <Top>451.91592920353986</Top> + <Width>332</Width> + <Height>326.27433628318596</Height> + <Angle>0</Angle> + <ItemGuid>C8D8FE90-0375-44A2-A6D1-E997789E065C</ItemGuid> + <ColorNumber>-1</ColorNumber> + <Speed>1200</Speed> + <DisplayName>Dispenser 2</DisplayName> + </TechItem> + <TechItem xsi:type="SingleGraphItem"> + <ID>6f8dfd8d-ed50-4923-b908-e0b5bc5d6ae5</ID> + <Left>154</Left> + <Top>131.72123893805315</Top> + <Width>474</Width> + <Height>410.37610619469024</Height> + <Angle>0</Angle> + <ItemGuid>A499E5E0-A812-4032-8F96-B38C6762C4BD</ItemGuid> + <ColorNumber>-14774017</ColorNumber> + <DecimalPlaces>1</DecimalPlaces> + <Duration>1942</Duration> + <UseAutoRange>true</UseAutoRange> + <Min>0</Min> + <Max>100</Max> + </TechItem> + <TechItem xsi:type="ValveItem"> + <ID>604e031b-89c3-4c9d-90ef-7b861a77e5e0</ID> + <Left>243</Left> + <Top>595.80088495575228</Top> + <Width>497</Width> + <Height>189.48230088495575</Height> + <Angle>0</Angle> + <ItemGuid>8B1FCBC3-FEEA-4F87-B56F-CE5D28B7ACA4</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + <TechItem xsi:type="DigitalOutItem"> + <ID>c414ae0e-323a-48c1-9165-2c05cc4234c6</ID> + <Left>1291</Left> + <Top>584.65486725663732</Top> + <Width>200</Width> + <Height>171.24336283185835</Height> + <Angle>0</Angle> + <ItemGuid>0bd10306-2944-4cda-bc59-0264da2883d2</ItemGuid> + <ColorNumber>-1</ColorNumber> + </TechItem> + </Items> + </MachineTechViewProjectTab> + </Tabs> + <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 diff --git a/Software/Stubs Collection/stubs/test_reg_readback.cs b/Software/Stubs Collection/stubs/test_reg_readback.cs new file mode 100644 index 000000000..d5ef91a3b --- /dev/null +++ b/Software/Stubs Collection/stubs/test_reg_readback.cs @@ -0,0 +1,20 @@ +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) +{ + +var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000000 + 0x3F0, 0xAAAA); + +var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000000 + 0x3F0); +stubManager.WriteLineHex(response1.Value,4); +}
\ No newline at end of file |
