aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Stubs Collection/stubs')
-rw-r--r--Software/Stubs Collection/stubs/Autohome_Control.cs30
-rw-r--r--Software/Stubs Collection/stubs/ChangePidDuringRun.cs52
-rw-r--r--Software/Stubs Collection/stubs/ConvertFloat2Bytes.cs54
-rw-r--r--Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs17
-rw-r--r--Software/Stubs Collection/stubs/Delete alarm file.cs23
-rw-r--r--Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/DispenserEEpromRead.cs27
-rw-r--r--Software/Stubs Collection/stubs/DispenserEEpromWrite.cs59
-rw-r--r--Software/Stubs Collection/stubs/EmbParam.cfgbin249 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Get_PowerStep01_Parameters.cs227
-rw-r--r--Software/Stubs Collection/stubs/Head LS.cs31
-rw-r--r--Software/Stubs Collection/stubs/HeadCard_ADC.cs64
-rw-r--r--Software/Stubs Collection/stubs/Head_Card_I2C.cs66
-rw-r--r--Software/Stubs Collection/stubs/Head_Card_IO.cs160
-rw-r--r--Software/Stubs Collection/stubs/Head_EEPROM.cs135
-rw-r--r--Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs59
-rw-r--r--Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs87
-rw-r--r--Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs49
-rw-r--r--Software/Stubs Collection/stubs/Head_i2c_functions.cs27
-rw-r--r--Software/Stubs Collection/stubs/Heat I2C ACT test.cs33
-rw-r--r--Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs98
-rw-r--r--Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs109
-rw-r--r--Software/Stubs Collection/stubs/LoadingArm5Rounds.cs23
-rw-r--r--Software/Stubs Collection/stubs/LoadingArmCalibration.cs23
-rw-r--r--Software/Stubs Collection/stubs/LoadingArmandCenterCalibration.cs28
-rw-r--r--Software/Stubs Collection/stubs/Main card Watchdog test.cs24
-rw-r--r--Software/Stubs Collection/stubs/Motor_GMotor_Get_Param_Powerstep01_rev2.cs292
-rw-r--r--Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing2.cs22
-rw-r--r--Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing5.cs265
-rw-r--r--Software/Stubs Collection/stubs/Progress_SetRapid.cs23
-rw-r--r--Software/Stubs Collection/stubs/Read Dancer.cs36
-rw-r--r--Software/Stubs Collection/stubs/Read Dispensers Serial Num.cs27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/11.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/12345.cs63
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs146
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs278
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs46
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs2
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs2
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV4
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs204
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs217
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs227
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs229
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Jig.cs542
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs39
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs63
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV499
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV1600
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV29654
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs)27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs36
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs224
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs22
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs62
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv1795
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs78
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv345
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv283
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv290
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv224
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv181
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv231
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv271
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv127
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs174
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs186
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs32
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs548
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs575
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs384
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs146
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs75
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs100
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/1.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR_CURRENT_SENSE.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/header_LimitSwitch.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/header_LimitSwitch.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_ssr.cs (renamed from Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magner_ssr.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs574
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs103
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs208
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs145
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs64
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs155
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/test.cs (renamed from Software/Stubs Collection/stubs/Scripts/auto shutt off.cs)21
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs347
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv19
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv19
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv19
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/MIDTANK_JIG.cs480
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs65
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs64
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs451
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv541
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs151
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs37
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs145
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs97
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs94
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs72
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs38
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs227
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsxbin9351 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsxbin9880 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsxbin9874 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs292
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs237
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs230
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs537
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs552
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs93
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs32
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs44
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs370
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs65
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs21
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs28
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs36
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs31
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs64
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs35
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.cs48
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs52
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs60
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs59
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs48
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs47
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs40
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs47
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs33
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs26
-rw-r--r--Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs52
-rw-r--r--Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs54
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV47
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs1415
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs135
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_Type_Indification.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs134
-rw-r--r--Software/Stubs Collection/stubs/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs98
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs457
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs344
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs1032
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docxbin2159500 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docxbin3989402 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs496
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs201
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs131
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs583
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs170
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs367
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs124
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs189
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs615
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs631
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs24
-rw-r--r--Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exebin342016 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs233
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs261
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs265
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs266
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs266
-rw-r--r--Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs30
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Priming.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Priming1.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs138
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dancer.cs32
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs27
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Read_Version.cs17
-rw-r--r--Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs22
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs22
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsxbin14591 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/TestForVika.cs126
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docxbin14324142 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docxbin13730535 -> 0 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs135
-rw-r--r--Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/blower_Q.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/change sublimation time.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs80
-rw-r--r--Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/eepromati2.c458
-rw-r--r--Software/Stubs Collection/stubs/Scripts/eepromati3.c272
-rw-r--r--Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs215
-rw-r--r--Software/Stubs Collection/stubs/Scripts/load parameters from machine.cs59
-rw-r--r--Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/motormov.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs90
-rw-r--r--Software/Stubs Collection/stubs/Scripts/process parameters.cs57
-rw-r--r--Software/Stubs Collection/stubs/Scripts/progress_test.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read and store main card data.cs83
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs45
-rw-r--r--Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs29
-rw-r--r--Software/Stubs Collection/stubs/Scripts/single temperature.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/temp.cs492
-rw-r--r--Software/Stubs Collection/stubs/Scripts/test halt.cs24
-rw-r--r--Software/Stubs Collection/stubs/Scripts/test.cs76
-rw-r--r--Software/Stubs Collection/stubs/Scripts/waste level.cs71
-rw-r--r--Software/Stubs Collection/stubs/Scripts/waste_level2.cs85
-rw-r--r--Software/Stubs Collection/stubs/Scripts/wd_enable.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs31
-rw-r--r--Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/whs fans stop.cs28
-rw-r--r--Software/Stubs Collection/stubs/Set CleaningSequence.cs23
-rw-r--r--Software/Stubs Collection/stubs/Set loading arm center.cs22
-rw-r--r--Software/Stubs Collection/stubs/SetWindingRotations.cs27
-rw-r--r--Software/Stubs Collection/stubs/SetupDebugDisributors.cs79
-rw-r--r--Software/Stubs Collection/stubs/Test_Bred_bord_Head_pressure_sensor_ARC.cs83
-rw-r--r--Software/Stubs Collection/stubs/ThreadLoading.cs119
-rw-r--r--Software/Stubs Collection/stubs/WD test.cs49
-rw-r--r--Software/Stubs Collection/stubs/WHS_EEPROM.cs31
-rw-r--r--Software/Stubs Collection/stubs/alarm.cfg292
-rw-r--r--Software/Stubs Collection/stubs/arm test.cs43
-rw-r--r--Software/Stubs Collection/stubs/change sublimation time.cs23
-rw-r--r--Software/Stubs Collection/stubs/cleaning sequence disable.cs24
-rw-r--r--Software/Stubs Collection/stubs/dye sequence stubs.cs40
-rw-r--r--Software/Stubs Collection/stubs/embParamDownload.cs74
-rw-r--r--Software/Stubs Collection/stubs/embeddedparametersbuild.cs (renamed from Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs)96
-rw-r--r--Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs233
-rw-r--r--Software/Stubs Collection/stubs/head_card_fan_test.cs26
-rw-r--r--Software/Stubs Collection/stubs/load parameters from machine.cs46
-rw-r--r--Software/Stubs Collection/stubs/logs handles.cs38
-rw-r--r--Software/Stubs Collection/stubs/logs severity.cs27
-rw-r--r--Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs69
-rw-r--r--Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs37
-rw-r--r--Software/Stubs Collection/stubs/moveloadarmback.cs29
-rw-r--r--Software/Stubs Collection/stubs/powestep01_change_mode.cs25
-rw-r--r--Software/Stubs Collection/stubs/read WHS V0.cs33
-rw-r--r--Software/Stubs Collection/stubs/read and store main card data.cs84
-rw-r--r--Software/Stubs Collection/stubs/read eeprom advanced.cs84
-rw-r--r--Software/Stubs Collection/stubs/read embedded version.cs2
-rw-r--r--Software/Stubs Collection/stubs/read main card eeprom.cs25
-rw-r--r--Software/Stubs Collection/stubs/reload main card EEPROM.cs101
-rw-r--r--Software/Stubs Collection/stubs/set test VAC.cs23
-rw-r--r--Software/Stubs Collection/stubs/stop whs blower control.cs23
-rw-r--r--Software/Stubs Collection/stubs/technician view files/ARC head techboard.tpf2722
-rw-r--r--Software/Stubs Collection/stubs/technician view files/FSE Draft 1.tpf1401
-rw-r--r--Software/Stubs Collection/stubs/technician view files/FSE Draft 2.tpf1401
-rw-r--r--Software/Stubs Collection/stubs/technician view files/alpha.tpf2149
-rw-r--r--Software/Stubs Collection/stubs/technician view files/new head.tpf3096
-rw-r--r--Software/Stubs Collection/stubs/technician view files/teach board 2.tpf3144
-rw-r--r--Software/Stubs Collection/stubs/technician view files/tech board 1.tpf2974
-rw-r--r--Software/Stubs Collection/stubs/test_reg_readback.cs20
-rw-r--r--Software/Stubs Collection/stubs/test_uart3_whs.cs24
-rw-r--r--Software/Stubs Collection/stubs/update thread PID during run.cs57
-rw-r--r--Software/Stubs Collection/stubs/whs control loop disable.cs26
279 files changed, 501 insertions, 81398 deletions
diff --git a/Software/Stubs Collection/stubs/Autohome_Control.cs b/Software/Stubs Collection/stubs/Autohome_Control.cs
deleted file mode 100644
index 597a70893..000000000
--- a/Software/Stubs Collection/stubs/Autohome_Control.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-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/ChangePidDuringRun.cs b/Software/Stubs Collection/stubs/ChangePidDuringRun.cs
deleted file mode 100644
index 9422e2cdc..000000000
--- a/Software/Stubs Collection/stubs/ChangePidDuringRun.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.Hardware;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest();
-
-stubHeatingTestRequest.DryerZone1Temp = 0;
-stubHeatingTestRequest.DryerZone2Temp = 0;
-
-HardwarePidControl hardwarePidControl = new HardwarePidControl();
-hardwarePidControl.OutputProportionalPowerLimit = 0.5; //Maximal additional power
-hardwarePidControl.OutputProportionalBand = 5;
-hardwarePidControl.DerivativeTime = 0; //Kd
-hardwarePidControl.SensorCorrectionAdjustment = 0;
-hardwarePidControl.SensorMinValue = 0;
-hardwarePidControl.SensorMaxValue = 0;
-hardwarePidControl.SetPointRampRateorSoftStartRamp = 100; //Ki divider
-hardwarePidControl.SetPointControlOutputRate = 0;
-hardwarePidControl.ControlOutputType = 0.001; ////Dt
-hardwarePidControl.SsrControlOutputType = 0;
-hardwarePidControl.OutputOnOffHysteresisValue = 100; //Kp divider
-hardwarePidControl.ProcessVariableSamplingRate = 10;
-hardwarePidControl.PvInputFilterFactorMode = 4; //averaging the readouts / number of samples
-hardwarePidControl.OutputProportionalCycleTime = 0;
-hardwarePidControl.AcHeatersHalfCycleTime = 0;
-hardwarePidControl.PidActive = false;
-hardwarePidControl.Epsilon = 0;
-hardwarePidControl.OutputOnOffHysteresisValue = 100;
-
-hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
-hardwarePidControl.IntegralTime = 8000; //Ki
-hardwarePidControl.ProportionalGain = 7000; //Kp
-
-stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl;
-
-StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest();
-
-var response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/ConvertFloat2Bytes.cs b/Software/Stubs Collection/stubs/ConvertFloat2Bytes.cs
deleted file mode 100644
index dc980e438..000000000
--- a/Software/Stubs Collection/stubs/ConvertFloat2Bytes.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-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)
-{
- //see online Floating Point to Hex Converter (with Swap endianness) :https://gregstoll.com/~gregstoll/floattohex/
- // ----------------- option 1 -------------------------------
- stubManager.WriteLine("--- option 1 ---");
- float value = 5.2F;
- var byteArray1 = new byte[4];// a single float is 4 bytes/32 bits
- byteArray1 = BitConverter.GetBytes(value);
-
- //print
- for(int i =0;i<4;i++)
- {
- stubManager.WriteHex(byteArray1[i],2);
- stubManager.Write(" ");
- }
- stubManager.WriteLine("");
- stubManager.WriteLine("");
-
- // ----------------- option 2 for buffer -------------------------------
- stubManager.WriteLine("--- option 2 ---");
- var floatArray1 = new float[] {5.2f, 1.2f, 3.7f};
-
-
- // create a byte array and copy the floats into it...
- var byteArray = new byte[floatArray1.Length * 4];// a single float is 4 bytes/32 bits
- Buffer.BlockCopy(floatArray1, 0, byteArray, 0, byteArray.Length);
-
- //print
- for(int j =0;j<floatArray1.Length;j++)
- {
- for(int i =0;i<4;i++)
- {
- stubManager.WriteHex(byteArray[j+i],2);
- stubManager.Write(" ");
- }
- stubManager.WriteLine("");
- }
-
-
-} \ 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
deleted file mode 100644
index d8b763ddd..000000000
--- a/Software/Stubs Collection/stubs/Create File System on the Drive - reset flash.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-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/Delete alarm file.cs b/Software/Stubs Collection/stubs/Delete alarm file.cs
deleted file mode 100644
index 31ed76216..000000000
--- a/Software/Stubs Collection/stubs/Delete alarm file.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Hardware;
-using Tango.PMR.Stubs;
-using Tango.PMR.IO;
-using Google.Protobuf;
-using System.IO;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
- DeleteRequest deleteRequest = new DeleteRequest();
- deleteRequest.Path = "0://SysInfo//Alarm.cfg";;
- deleteRequest.Attribute = Tango.PMR.IO.FileAttribute.Unspecified;
- DeleteResponse response2 = stubManager.Run<DeleteResponse>(deleteRequest);
-} \ 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
deleted file mode 100644
index 34dce79fe..000000000
--- a/Software/Stubs Collection/stubs/Dispenser ByPass - getout from loewer safety.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-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
deleted file mode 100644
index 1887d433c..000000000
--- a/Software/Stubs Collection/stubs/Dispenser ByPass - getout from upper safety.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-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/DispenserEEpromRead.cs b/Software/Stubs Collection/stubs/DispenserEEpromRead.cs
deleted file mode 100644
index 650cb2c80..000000000
--- a/Software/Stubs Collection/stubs/DispenserEEpromRead.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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)
-{
- uint i;
-
- StubDispenserEEpromRequest dispenserEEpromRequest = new StubDispenserEEpromRequest();
- for (i = 0; i<8;i++)
- {
- dispenserEEpromRequest.DispenserId = i;
- dispenserEEpromRequest.BurnRequest = false;
- var response = stubManager.Run<StubDispenserEEpromResponse>(dispenserEEpromRequest);
- stubManager.Write( dispenserEEpromRequest);
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/DispenserEEpromWrite.cs b/Software/Stubs Collection/stubs/DispenserEEpromWrite.cs
deleted file mode 100644
index 8fdbbc3f8..000000000
--- a/Software/Stubs Collection/stubs/DispenserEEpromWrite.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-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.Diagnostics;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-DispenserEEpromRequest dispenserEEpromRequest = new DispenserEEpromRequest();
-dispenserEEpromRequest.DispenserId = 4;
-dispenserEEpromRequest.BurnRequest = true;
-
-DispenserEEprom dispenserEEprom = new DispenserEEprom();
-dispenserEEprom.Header = 1;
-dispenserEEprom.TableLength = 2;
-dispenserEEprom.Tableversion = 3;
-dispenserEEprom.DispenserPN = "Hello World 11";
-dispenserEEprom.PCBSN = "Hello World 22";
-dispenserEEprom.PCBPartNumber = "Hello World 33";
-dispenserEEprom.DispenserSN = "Hello World 44"
-dispenserEEprom.MinimalPressure = 4;
-dispenserEEprom.MaximalPressure = 5;
-dispenserEEprom.MinimalMV = 6;
-dispenserEEprom.MaximalMV = 7;
-dispenserEEprom.TotalCycles = 8;
-dispenserEEprom.BubbleSize = 9;
-dispenserEEprom.AVGNlStepValue14 = 10;
-dispenserEEprom.AVGNlStepValue24 = 11;
-dispenserEEprom.AVGNlStepValue34 = 12;
-dispenserEEprom.AVGNlStepValue44 = 13;
-dispenserEEprom.SWReserve = 14;
-dispenserEEprom.Spare1Pressure = 15;
-dispenserEEprom.Spare2Pressure = 16;
-dispenserEEprom.MotorPulsesPerCycle = 17;
-dispenserEEprom.Color = 18;
-dispenserEEprom.PressureSlope = 19;
-dispenserEEprom.ProductionDate = "11121970";
-dispenserEEprom.ATSlocation = 20;
-dispenserEEprom.Spare1 = 21;
-dispenserEEprom.Spare2 = 22;
-dispenserEEprom.ATSChannel = 23;
-dispenserEEprom.UnitEmpty = true;
-dispenserEEprom.DryRunPassFail = true;
-dispenserEEprom.FlowPassFail = true;
-dispenserEEprom.CheckSum = true;
-
-dispenserEEpromRequest.DispenserEEprom = dispenserEEprom;
-
-
- var response = stubManager.Run<DispenserEEpromResponse>(dispenserEEpromRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/EmbParam.cfg b/Software/Stubs Collection/stubs/EmbParam.cfg
deleted file mode 100644
index 6482fc82b..000000000
--- a/Software/Stubs Collection/stubs/EmbParam.cfg
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Get_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Get_PowerStep01_Parameters.cs
deleted file mode 100644
index e6ced17eb..000000000
--- a/Software/Stubs Collection/stubs/Get_PowerStep01_Parameters.cs
+++ /dev/null
@@ -1,227 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-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 ";
-
-public void OnExecute(StubManager stubManager)
-{
-
- var i = stubManager.ShowResponseWindow("Please Enter Motor ID:");
-
- stubManager.Write("Motor_ID:\t\t ");
- stubManager.Write(i);
- stubManager.Write("\n");
-
- stubManager.Write("ABS_POS:\t\t");
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("EL_POS:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MARK:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("SPEED:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ACC:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("DEC:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MAX_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MIN_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FS_SPD:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_HOLD:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_RUN:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_ACC:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_DEC:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("INT_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ST_SLP\\T_FAST:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FN_SLP_ACC\\TON_MIN:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FN_SLP_DEC\\TOFF_MIN:");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("K_THERM:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ADC_OUT:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("OCD_TH:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STALL_TH:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STEP_MODE:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ALARM_EN:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("GATECFG1:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("GATECFG2:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("CONFIG:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STATUS:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Head LS.cs b/Software/Stubs Collection/stubs/Head LS.cs
deleted file mode 100644
index b5c646649..000000000
--- a/Software/Stubs Collection/stubs/Head LS.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-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
deleted file mode 100644
index e1e18089c..000000000
--- a/Software/Stubs Collection/stubs/HeadCard_ADC.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-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
deleted file mode 100644
index 6f49eeb51..000000000
--- a/Software/Stubs Collection/stubs/Head_Card_I2C.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-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
deleted file mode 100644
index 161b622f2..000000000
--- a/Software/Stubs Collection/stubs/Head_Card_IO.cs
+++ /dev/null
@@ -1,160 +0,0 @@
-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
deleted file mode 100644
index 1b3ab7213..000000000
--- a/Software/Stubs Collection/stubs/Head_EEPROM.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-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
deleted file mode 100644
index 6c6bbac05..000000000
--- a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-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
deleted file mode 100644
index 4d877e3d0..000000000
--- a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-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
deleted file mode 100644
index 400a0d421..000000000
--- a/Software/Stubs Collection/stubs/Head_card_PT100__Horizontal_Printing_new2.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-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
deleted file mode 100644
index f676ba592..000000000
--- a/Software/Stubs Collection/stubs/Head_i2c_functions.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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
deleted file mode 100644
index 1ad3a8f74..000000000
--- a/Software/Stubs Collection/stubs/Heat I2C ACT test.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-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
deleted file mode 100644
index 6ec538758..000000000
--- a/Software/Stubs Collection/stubs/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-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
deleted file mode 100644
index 00064ec7f..000000000
--- a/Software/Stubs Collection/stubs/I2C_RW_Main_EEPROM_AVI _support_string.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-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/LoadingArm5Rounds.cs b/Software/Stubs Collection/stubs/LoadingArm5Rounds.cs
deleted file mode 100644
index f5cacba1b..000000000
--- a/Software/Stubs Collection/stubs/LoadingArm5Rounds.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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)
-{
-//Loading Arm Calibration - this command writes the arm position to a non-volatile memory
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB2;
-progressRequest.Delay = 5;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/LoadingArmCalibration.cs b/Software/Stubs Collection/stubs/LoadingArmCalibration.cs
deleted file mode 100644
index 73aba2aef..000000000
--- a/Software/Stubs Collection/stubs/LoadingArmCalibration.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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)
-{
-//Loading Arm Calibration - this command writes the arm position to a non-volatile memory
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB1;
-progressRequest.Delay = 1;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/LoadingArmandCenterCalibration.cs b/Software/Stubs Collection/stubs/LoadingArmandCenterCalibration.cs
deleted file mode 100644
index b11f900ad..000000000
--- a/Software/Stubs Collection/stubs/LoadingArmandCenterCalibration.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-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)
-{
-//Loading Arm Calibration - this command writes the arm position to a non-volatile memory
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB1;
-//progressRequest.Delay = 1;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
- progressRequest.Amount = 0xB2;
- progressRequest.Delay = 0;
-
- response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Main card Watchdog test.cs b/Software/Stubs Collection/stubs/Main card Watchdog test.cs
deleted file mode 100644
index 3db075678..000000000
--- a/Software/Stubs Collection/stubs/Main card Watchdog test.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-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)
-{
-
-//"Set WFCF Value
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD9;
-progressRequest.Delay = 0;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Motor_GMotor_Get_Param_Powerstep01_rev2.cs b/Software/Stubs Collection/stubs/Motor_GMotor_Get_Param_Powerstep01_rev2.cs
deleted file mode 100644
index 505444080..000000000
--- a/Software/Stubs Collection/stubs/Motor_GMotor_Get_Param_Powerstep01_rev2.cs
+++ /dev/null
@@ -1,292 +0,0 @@
-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 !
-
-//General Configuration
-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_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-const Int32 x_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-//VOLTAGE / CURRENT
-const Int32 x_KTVAL_HOLD = 0x09;
-const Int32 x_KTVAL_RUN = 0x0A;
-const Int32 x_KTVAL_ACC = 0x0B;
-const Int32 x_KTVAL_DEC = 0x0C;
-const Int32 x_ST_SLP_T_FAST = 0x0E;
-const Int32 x_FN_SLP_ACC_TON_MIN = 0x0F;
-const Int32 x_FN_SLP_DEC_TOFF_MIN = 0x10;
-
-const Int32 x_INT_SPD = 0x0D;//voltage
-const Int32 x_K_THERM = 0x11;//VOLTAGE
-const Int32 x_STALL_TH = 0x14;//VOLTAGE
-
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-Int32 Start_index = 0; // start from motor
-
-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 ";
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 i = 0;
-
- Int32 motname = 0;
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
- for (i = Start_index; 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\tKTVAL_HOLD\tKTVAL_RUN\tTKVAL_ACC\tTKVAL_DEC\tOCD_TH\t\tSTALL_TH\tFS_SPD\n");
- stubManager.Write("------\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\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_KTVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_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_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- stubManager.Write("\n\n");
-
- }
-
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC_TON_MIN\tSLP_DEC_TOFF_MIN\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t---------------\t----------------\n");
- }
-
- 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_T_FAST)<<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_TON_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC_TOFF_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- stubManager.Write("\n\n");
-
- }
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t\t\t------------\t\t-----------\t\t-------------\t\t------------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
- }
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tABS_POS\tEL_POS\t\tMARK\t\tSPEED\t\tALARM_EN\tK_THERM\tADC_OUT\tDriver_Type\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t----\t\t-----\t\t--------\t--------\t------\t\t---------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
-
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex((response.RecivedData * 1000.0 / 67108.0),4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 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 > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
- stubManager.Write("\n\n");
-
- }
-
-} \ 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 09d22dea9..763288603 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 = 25;
+const Int32 Max_Motor_ID = 30;
@@ -98,22 +98,6 @@ 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++)
{
@@ -182,9 +166,7 @@ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80
response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
stubManager.WriteHex(response.RecivedData,4);
- if( response.RecivedData > 0x15 )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b)
+ if( response.RecivedData > 12 )
stubManager.Write("\t\tVolage_Driver");
else if ( response.RecivedData > 8 )
stubManager.Write("\t\tCurrent_Driver");
diff --git a/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing5.cs b/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing5.cs
deleted file mode 100644
index e84562c11..000000000
--- a/Software/Stubs Collection/stubs/Motor_Get_Param_Horizontal_Printing5.cs
+++ /dev/null
@@ -1,265 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-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] ="DISPENSER_1 ";
-Motor_ID[7] ="DISPENSER_2 ";
-Motor_ID[8] ="DISPENSER_3 ";
-Motor_ID[9] ="DISPENSER_4 ";
-Motor_ID[10]="DISPENSER_5 ";
-Motor_ID[11]="DISPENSER_6 ";
-Motor_ID[12]="DISPENSER_7 ";
-Motor_ID[13]="DISPENSER_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]="RLOADING ";
-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)
-{
-
-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++)
- {
-
- 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 > 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");
- 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");
-
-
-
- }
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Progress_SetRapid.cs b/Software/Stubs Collection/stubs/Progress_SetRapid.cs
deleted file mode 100644
index fbe559378..000000000
--- a/Software/Stubs Collection/stubs/Progress_SetRapid.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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/Read Dancer.cs b/Software/Stubs Collection/stubs/Read Dancer.cs
index 8fcfc94b0..58f302d53 100644
--- a/Software/Stubs Collection/stubs/Read Dancer.cs
+++ b/Software/Stubs Collection/stubs/Read Dancer.cs
@@ -12,21 +12,27 @@ using Tango.Stubs;
public void OnExecute(StubManager stubManager)
{
- var response1 = stubManager.ShowResponseWindow("Please Enter Password:");
- if (response1=="Aa123456")
- {
- stubManager.WriteLine(response1);
-
+ stubManager.RequestTimeout = 2000;
+ //for (int i = 0; i < 100; i++)
+ {
+// Request ----
+// UInt32 : DancerID
+
+// Response ----
+// UInt32 : DancerID
+// UInt32 : Position
+// UInt32 : GeneralStatus
+// UInt32 : DetailedStatus
+ //var response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
- stubManager.RequestTimeout = 2000;
- //for (int i = 0; i < 100; i++)
- {
- var response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,0);
- Thread.Sleep(1000);
- response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
- Thread.Sleep(1000);
- response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,2);
- Thread.Sleep(1000);
- }
+//var response = stubManager.Run<StubMotorSpeedResponse>("StubMotorSpeedRequest" ,22);
+//var response;
+//var response = stubManager.Run<StubMotorStatusResponse>("StubMotorStatusRequest" ,18, true);
+ var response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,0);
+ Thread.Sleep(1000);
+ response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
+ Thread.Sleep(1000);
+ response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,2);
+ Thread.Sleep(1000);
}
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Read Dispensers Serial Num.cs b/Software/Stubs Collection/stubs/Read Dispensers Serial Num.cs
deleted file mode 100644
index 934371725..000000000
--- a/Software/Stubs Collection/stubs/Read Dispensers Serial Num.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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)
-{
- uint i;
- string serialnum;
-
- StubDispenserEEpromRequest dispenserEEpromRequest = new StubDispenserEEpromRequest();
- for (i = 0; i<8;i++)
- {
- dispenserEEpromRequest.DispenserId = i;
- dispenserEEpromRequest.BurnRequest = false;
- var response = stubManager.Run<StubDispenserEEpromResponse>(dispenserEEpromRequest);
- stubManager.Write("Dispenser Serial # read \t"+ (i+1) + " serial number "+ response.DispenserEEprom.DispenserSN +"\n");
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/11.cs b/Software/Stubs Collection/stubs/Scripts/11.cs
deleted file mode 100644
index 9b7b1097e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/11.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-
-const Int32 x_ABS_POS = 0x01;
-const Int32 x_EL_POS = 0x02;
-const Int32 x_MARK = 0x03;
-const Int32 x_SPEED = 0x04;
-const Int32 x_GET_PARAM = 0x20;
-const Int32 x_MOVE_PARAM = 0x40;
-
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_00 = 0x60000240 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_01 = 0x60000242 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_00 = 0x60000244 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_01 = 0x60000246 ;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0X4100);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,32000);
-
-
-
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/12345.cs b/Software/Stubs Collection/stubs/Scripts/12345.cs
deleted file mode 100644
index 354c349cc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/12345.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-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;
-
-
-/*** Dryer Motors ***/
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_00 = 0x60000240 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_01 = 0x60000242 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_00 = 0x60000244 ;
-const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_01 = 0x60000246 ;
-
-
-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_GET_PARAM = 0x20;
-const Int32 x_MOVE_PARAM = 0x40;
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-// Request ----
-// UInt32 : Address
-// UInt32 : Value
-
-// Response ----
-// String : Status
-// UInt32 : StatusWord
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,(x_GET_PARAM | x_ABS_POS)<<8);
-
-
-
-var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_00);
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_01);
-
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0);
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,0);
-
-
-
-response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_00);
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_01);
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs
deleted file mode 100644
index 8d0056de2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/Write Arc head eeprom.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-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
-//----------------------
-
-const Int32 SerialNum = 0x01;
-
-
-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 WriteFlatEpprom(uint I2C_Slave_Add)
-{
- uint Page=0;
- 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(0x33); //header
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xcc);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xaa);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x55);
-
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(100);
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(92);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
- //--------------------------------------------------------------
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x20); //flat
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
-
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(100);
-
-
-
-
-
- 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++)
- {
-
- WriteFlatEpprom(I2C_Slave_Add);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- 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/Scripts/Assemblies/ArcHead/clean_motor_ls.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs
deleted file mode 100644
index 2a0fc12cf..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs
+++ /dev/null
@@ -1,278 +0,0 @@
-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 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-
-const Int32 DyeingHeadLid_Motor = 2;
-
-const Int32 F1_MOTO_DH_LID_A1_TX_00 = 0x600002F0 ;
-const Int32 F1_MOTO_DH_LID_A1_TX_01 = 0x600002F2 ;
-const Int32 F1_MOTO_DH_LID_A1_RX_00 = 0x600002F4 ;
-const Int32 F1_MOTO_DH_LID_A1_RX_01 = 0x600002F6 ;
-
-//---------------------Start Command ----------------
-const Int32 CMD_RUN = 0; //Run on Pulse Per Secound .positive run Up and negative run Down
-const Int32 CMD_STOP= 1; //0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz
-const Int32 CMD_HOME= 2; //Run until home .positive run Up and negative run Down
-const Int32 CMD_DLY = 3; //delay in Seconds .
-const Int32 CMD_MOVE= 4; //Move step. positive move Up and negative move Down
-const Int32 CMD_MAX_SPEED = 5; //set Maximum speed.motor will stop before that command
-
-const Int32 CMD_LOOP_NM=6; //NUMBER OF counter
-const Int32 CMD_LOOP= 7; //jump up(+) or down(-) command u
-const Int32 CMD_END = 13; //end loop .
-
-
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_STATUS = 0x19;
-const Int32 x_GET_PARAM = 0x20;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-
-
-//-------------------------------------------- Flow Test Double PBU ------------------------------------------------
-
-Int32[] Start_Table = new int []
-{
- CMD_RUN,-40,
- CMD_DLY,200,
- CMD_STOP,0,
- CMD_DLY,10,
- CMD_HOME,40,
- CMD_END,3,
-};
-
-////////////////////////////////////
-
-public void OnExecute(StubManager stubManager)
-{
-Int32 COMMAND=0;
-Int32 Data=0;
-Int32 Index=0;
-Int32 speed=0;
-Int32 Loop_cnt=1;
-Int32 j=0;
-
-
-
- var stopwatch = new Stopwatch();
- stopwatch.Start();
-
- long elapsed_time = stopwatch.ElapsedMilliseconds;
- stubManager.WriteLine(elapsed_time);
-
- while (j!=-1)
- {
- {
- COMMAND=Start_Table[j];
- Data=Start_Table[j+1];
-
- switch (COMMAND)
- {
- case CMD_RUN:
- stubManager.WriteLine("CMD_RUN");
- Motor_Run(Data);
- break;
-
- case CMD_STOP:
- stubManager.WriteLine("CMD_stop");
- Motor_Stop(Data);
- break;
-
- case CMD_DLY:
- stubManager.WriteLine("CMD_delay");
-
- for (;Data>0;Data--)
- {
- Thread.Sleep(100); //100msec delay
- stubManager.WriteLine("CMD_delay " + Data );
- }
- break;
-
-
- case CMD_MOVE:
- stubManager.WriteLine("CMD_move");
-
- Motor_Move(Data);
- break;
-
- case CMD_END:
- stubManager.WriteLine("CMD_end");
-
- j=-3;
- break;
-
- case CMD_MAX_SPEED:
- stubManager.WriteLine("CMD_MAX_SPEED");
-
- Motor_Max_speed(Data);
- break;
-
- case CMD_HOME:
- stubManager.WriteLine("CMD_home");
-
- Move_Home(Data);
- break;
-
-
- case CMD_LOOP_NM:
- stubManager.WriteLine("LOOP_NM" + Data );
-
- Loop_cnt=Data-1;
- break;
-
- case CMD_LOOP:
- stubManager.WriteLine("CMD_loop");
-
- if (Loop_cnt!=0)
- {
- j = j+2*Data;
- Loop_cnt-- ;
- }
- break;
-
- default:
- break;
-
- }
-
- j = j + 2;
-
-
- }
-
- }
-
-}
-Int32 Motor_Max_speed(Int32 speed)
-{
- UInt32 i=Convert.ToUInt32((speed *4/61)*256*256 ) ;
- stubManager.WriteHex(i,8);
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,0); //hold motor
-
-
- Motor_SetParam(F1_MOTO_DH_LID_A1_TX_01,F1_MOTO_DH_LID_A1_TX_00,0x07,i); //set max speed
-
- return 1;
-}
-
-
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
-
-Int32 Move_Home(Int32 speed)
-{
- Int32 Bit = 1;
- if (speed <0 )
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, (-speed) );
- else
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, speed);
- int i=0;
- while ((Bit != 0x0)&& (i<20000) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit=read_pio (LS_FRONT); // read LS_FRONT
- Thread.Sleep(20);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,0); //hold motor
- return 0;
-}
-
-Int32 read_pio(Int32 i2c_input)
-{
- Int32 temp=0;
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
-
- temp = (Int32) (response.Progress);
- stubManager.WriteHex(temp, 4);
- stubManager.WriteLine(" ");
- temp =temp & (i2c_input& 0xff); //if break ok
-
- return temp;
-}
-
-
-
-//////////////////////////////////////////////////////////////
-Int32 Motor_Move (Int32 position)
-
- {
- Int32 x=16;
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,DyeingHeadLid_Motor, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
-
- response.RecivedData=response.RecivedData & 0x0007;
- if (response.RecivedData == 0)
- x=1;
- if (response.RecivedData == 1)
- x=2;
- if (response.RecivedData == 2)
- x=4;
- if (response.RecivedData == 3)
- x=8;
-
-
- int i=0;
- if (position<0 )
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DyeingHeadLid_Motor, false, (-position * x) );
- else
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DyeingHeadLid_Motor, true, position * x);
-
- Thread.Sleep(100); //100msec delay
-
- while (i==0)
- {
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,DyeingHeadLid_Motor, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
-
- stubManager.WriteHex(response.RecivedData,4);
- response.RecivedData=response.RecivedData & 0x0002;
- if (response.RecivedData==0x0002)
- i=1;
- Thread.Sleep(100); //100msec delay
-
-
- }
- return 0;
- }
-
-//////////////////////////////////////////////////////////////
-Int32 Motor_Run (Int32 speed)
-
- {
- if (speed<0 )
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, (-speed) );
- else
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, speed);
- return 0;
- }
-
-//---------------------------------------
-
- Int32 Motor_Stop(Int32 Stop_Value )
-{
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor, Stop_Value);
- return 1;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs
deleted file mode 100644
index 34dce79fe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from loewer safety.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-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/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs
deleted file mode 100644
index 1887d433c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser ByPass - getout from upper safety.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-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/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs
index 7eb048556..90ad540f9 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_LimitSwitch.cs
@@ -37,8 +37,6 @@ int LimitSW_Dispenser(Int32 Fpga, Int32 Adr, int DispenserNo)
counter = counter + 1;
}
Thread.Sleep(100);
- Temp = RetVal.Value;
-
}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs
index 342d2fdb2..11a419576 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dispenser/Dispenser_PressureSensor.cs
@@ -27,7 +27,7 @@ public void OnExecute(StubManager stubManager)
for (int i=2; i<10; i++)
{
- Thread.Sleep(100);
+ Thread.Sleep(1000);
var response = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,i);
stubManager.Write("\nADC VALUE, DISPENSER "); stubManager.Write(i-1); stubManager.Write("\t"); stubManager.WriteHex(response.SamplingInBits, 4); stubManager.Write("\t"); stubManager.Write(response.VoltageSamplingMv); stubManager.Write(" mV");
}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
deleted file mode 100644
index c91b21308..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
+++ /dev/null
@@ -1,4 +0,0 @@
-,RPM
-0,2675
-1,2688
-2,2688
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs
deleted file mode 100644
index c88a17313..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test.cs
+++ /dev/null
@@ -1,204 +0,0 @@
-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 position_32bit=0;
-Int32 last_14bit_position;
-
-const Int32 HomeStart=1024;
-const Int32 DrierLoadingArm_Motor = 5;
-const Int32 NM_ROUND =30;
-public void OnExecute(StubManager stubManager)
-{
- Test_Load_Arm();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
-
-}
-
-bool Encoder_Dryer_Exist()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (response.Value & 0x0300);
- if (temp==0)
- return true;
- else
- return false;
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-
-int Test_Load_Arm()
-{
- int Loop_Nm = 1;
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
-
- if (!Encoder_Dryer_Exist())
- {
-
- stubManager.Write("Encoder of Dryer Fail \n");
- return 0;
-
- }
-
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Dryer.", "");
- //stubManager.WriteLine(response);
- Loop_Nm = int.Parse(response);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- Thread.Sleep(50);
-// temp=ReadEncoder_Dryer();
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- i++;
- Thread.Sleep(50);
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mechanical stopper?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
- return 0;
- }
- position_32bit=0;
-
-for (int loop=0;i<Loop_Nm;i++)
-
- {
- stubManager.Write("Loop Nm " + (loop+1) +" strat up posision \n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 200);
-// Thread.Sleep(50);
- i=0;
- temp3=0;
-
-
- while ((temp3<3)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(50);
- i++;
- ReadEncoder_Dryer();
-
- if (Math.Abs(position_32bit)> (NM_ROUND*0x4000))
- temp3=3;
- if ((temp-position_32bit)>20)
- temp3++;
- temp=position_32bit;
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result5 = MessageBox.Show("Did Arm Motor make 30 rounds? See picture on document", "Warning",MessageBoxButtons.YesNo);
- if(temp3 >2 )
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
- Thread.Sleep(50);
- stubManager.Write("Loop Nm " + (loop+1) +" strat down posision \n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 200);
- i=0;
- temp3=0;
-
- while ((temp3<3)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(50);
- i++;
- ReadEncoder_Dryer();
-
- if (Math.Abs(position_32bit)< HomeStart)
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
- temp=position_32bit;
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result3 = MessageBox.Show("Did Arm Motor make 30 rounds? See picture on document", "Warning",MessageBoxButtons.YesNo);
- if(temp3 >2 )
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
- Thread.Sleep(50);
-
-
-
-
- }
- return 0;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs
deleted file mode 100644
index c4c3f13f4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test1.cs
+++ /dev/null
@@ -1,217 +0,0 @@
-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 position_32bit=0;
-Int32 last_14bit_position;
-
-const Int32 HomeStart=2048;
-const Int32 DrierLoadingArm_Motor = 5;
-const Int32 NM_ROUND =30;
-public void OnExecute(StubManager stubManager)
-{
- Test_Load_Arm();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
-
-}
-
-bool Encoder_Dryer_Exist()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (response.Value & 0x0300);
- if (temp==0)
- return true;
- else
- return false;
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-
-int Test_Load_Arm()
-{
- int Loop_Nm = 1;
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
-
- if (!Encoder_Dryer_Exist())
- {
-
- stubManager.Write("Encoder of Dryer Fail \n");
- return 0;
-
- }
-
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Dryer.", "");
- //stubManager.WriteLine(response);
- Loop_Nm = int.Parse(response);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- Thread.Sleep(50);
-// temp=ReadEncoder_Dryer();
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- i++;
- Thread.Sleep(30);
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mechanical stopper?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
- return 0;
- }
-
- Thread.Sleep(1000);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- position_32bit=0;
-for (int loop=0;loop<Loop_Nm;loop++)
-
- {
- stubManager.Write("Loop Nm " + (loop+1) +" strat up posision \n");
- temp=position_32bit;
- stubManager.Write("position_32bit = " + position_32bit +"\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 200);
-// Thread.Sleep(50);
- i=0;
- temp3=-2;
-
-
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(30);
- i++;
- ReadEncoder_Dryer();
-
- if (Math.Abs(position_32bit)> (NM_ROUND*0x4000))
- temp3=3;
- if ((temp-position_32bit)>20)
- temp3++;
- temp=position_32bit;
-
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 0);
-
- if(temp3 !=3 )
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
- Thread.Sleep(1000);
- stubManager.Write("Loop Nm " + (loop+1) +" strat down posision \n");
- stubManager.Write("position_32bit = " + position_32bit +"\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 200);
- i=0;
- temp3=-2;
- temp=position_32bit;
-
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(50);
- i++;
- ReadEncoder_Dryer();
-
- if (Math.Abs(position_32bit)< HomeStart)
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
- temp=position_32bit;
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 0);
-
- if(temp3 !=3 )
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
- Thread.Sleep(1000);
-
-
-
-
- }
- return 0;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs
deleted file mode 100644
index 7670a8708..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test2.cs
+++ /dev/null
@@ -1,227 +0,0 @@
-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 position_32bit=0;
-Int32 last_14bit_position;
-
-const Int32 HomeStart=2048;
-const Int32 DrierLoadingArm_Motor = 5;
-const Int32 NM_ROUND =30;
-public void OnExecute(StubManager stubManager)
-{
- Test_Load_Arm();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
-
-}
-
-bool Encoder_Dryer_Exist()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (response.Value & 0x0300);
- if (temp==0)
- return true;
- else
- return false;
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-
-int Test_Load_Arm()
-{
- int Loop_Nm = 1;
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
-
- if (!Encoder_Dryer_Exist())
- {
-
- stubManager.Write("Encoder of Dryer Fail \n");
- return 0;
-
- }
-
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Dryer.", "");
- //stubManager.WriteLine(response);
- Loop_Nm = int.Parse(response);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- Thread.Sleep(50);
-// temp=ReadEncoder_Dryer();
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- i++;
- Thread.Sleep(30);
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mechanical stopper?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
- return 0;
- }
-
- Thread.Sleep(1000);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 50);
- Thread.Sleep(1000);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- position_32bit=0;
-for (int loop=0;loop<Loop_Nm;loop++)
-
- {
- stubManager.Write("Loop Nm " + (loop+1) +" strat up posision \n");
- temp=position_32bit;
- stubManager.Write("position_32bit = " + position_32bit +"\n");
-
-// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 200);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 7680 * NM_ROUND);
-
-// Thread.Sleep(50);
- i=0;
- temp3=-2;
-
-
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(30);
- i++;
- ReadEncoder_Dryer();
-
-// if (Math.Abs(position_32bit)> (NM_ROUND*0x4000))
-// temp3=3;
- if (temp==position_32bit)
- temp3++;
- temp=position_32bit;
-
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- if (Math.Abs(position_32bit - NM_ROUND*0x4000 )> 500)
-
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
-
- Thread.Sleep(1000);
- stubManager.Write("Loop Nm " + (loop+1) +" strat down posision \n");
- stubManager.Write("position_32bit = " + position_32bit +"\n");
-
-// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 200);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, false, 7680 * NM_ROUND);
- i=0;
- temp3=-2;
- temp=position_32bit;
-
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(50);
- i++;
- ReadEncoder_Dryer();
-
- // if (Math.Abs(position_32bit)< HomeStart)
- // temp3=3;
- if (position_32bit==temp)
- temp3++;
- temp=position_32bit;
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
-
- if (Math.Abs(position_32bit )> 500)
-
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
- Thread.Sleep(1000);
-
-
-
-
- }
- return 0;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs
deleted file mode 100644
index 7a7542ab7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Arm_Test3.cs
+++ /dev/null
@@ -1,229 +0,0 @@
-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 position_32bit=0;
-Int32 last_14bit_position;
-
-const Int32 HomeStart=2048;
-const Int32 DrierLoadingArm_Motor = 5;
-const Int32 NM_ROUND =30;
-public void OnExecute(StubManager stubManager)
-{
- Test_Load_Arm();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 1);
-
-
-}
-
-bool Encoder_Dryer_Exist()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (response.Value & 0x0300);
- if (temp==0)
- return true;
- else
- return false;
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-
-int Test_Load_Arm()
-{
- int Loop_Nm = 1;
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
-
- if (!Encoder_Dryer_Exist())
- {
-
- stubManager.Write("Encoder of Dryer Fail \n");
- return 0;
-
- }
-
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Dryer.", "");
- //stubManager.WriteLine(response);
- Loop_Nm = int.Parse(response);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- Thread.Sleep(50);
-// temp=ReadEncoder_Dryer();
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- i++;
- Thread.Sleep(30);
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mechanical stopper?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
-
- stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
- return 0;
- }
-
- Thread.Sleep(1000);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 50);
- Thread.Sleep(1000);
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- position_32bit=0;
-for (int loop=0;loop<Loop_Nm;loop++)
-
- {
- stubManager.Write("Loop Nm " + (loop+1) +" strat up posision \n");
- temp=position_32bit;
- stubManager.Write("position_32bit = " + position_32bit +"\n");
-
-// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 200);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, true, 7680 * NM_ROUND);
-
-// Thread.Sleep(50);
- i=0;
- temp3=-2;
-
-
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(30);
- i++;
- ReadEncoder_Dryer();
-
-// if (Math.Abs(position_32bit)> (NM_ROUND*0x4000))
-// temp3=3;
- if (temp==position_32bit)
- temp3++;
- temp=position_32bit;
-
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
-
- }
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 1);
-
- if (Math.Abs(position_32bit - NM_ROUND*0x4000 )> 500)
-
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
-
- Thread.Sleep(1000);
- stubManager.Write("Loop Nm " + (loop+1) +" strat down posision \n");
- stubManager.Write("position_32bit = " + position_32bit +"\n");
-
-// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 200);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,5, false, 7680 * NM_ROUND);
- i=0;
- temp3=-2;
- temp=position_32bit;
-
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- Thread.Sleep(50);
- i++;
- ReadEncoder_Dryer();
-
- // if (Math.Abs(position_32bit)< HomeStart)
- // temp3=3;
- if (position_32bit==temp)
- temp3++;
- temp=position_32bit;
-// stubManager.Write("position_32bit = " +position_32bit +"\ttemp3 = " + temp3 +"\n");
-
-
- }
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 1);
-
-
- if (Math.Abs(position_32bit )> 500)
-
- {
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
-
- Thread.Sleep(1000);
-
-
-
-
- }
- return 0;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Jig.cs
deleted file mode 100644
index 42f35b8ef..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Jig.cs
+++ /dev/null
@@ -1,542 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 "Tango_Defines_SSR.cs"
-include "Tango_Defines_Tacho.cs"
-
-
-const int UNIT_UNDER_TEST=3+1+2+6;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\Dryer\\DryerLog\\";
-string path2="C:\\DryerLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-Int32 last_14bit_position;
-Int32 position_32bit=0;
-float [] DryerTemp = new float[3] ;
-
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"Lid_Motor","Not Test"},
- {"LS_Lid_Open","Not Test"},
- {"LS_Lid_Close","Not Test"},
- {"DRIVING_Motor","Not Test"},
- {"SSI_Encoder","Not Test"},
- {"LoadArm_Motor","Not Test"},
- {"Blower_test","Not Test"},
- {"Air_PT100_test","Not Test"},
- {"Main_PT100_test","Not Test"},
- {"Sec.PT100","Not Test"},
- {"SSR1_heater","Not Test"},
- {"SSR2_heater","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string Dryer_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "Dryer Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----Dryer Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" Dryer S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_Dryer_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"Dryer Test Report" );
-stubManager.Write("Dryer Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"Dryer S/N: \t" + TextBox1.Text );
-stubManager.Write("Dryer S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
-// Test_LId();
-// Test_motor_driving();
-// Test_Load_Arm ();
- Test_Blower_heaters_pt100();
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- return ;
- }
-//------------------------------------------
-int Test_Blower_heaters_pt100()
-{
-
- float ftemp=0;
- float ftemp1=0;
-
- SetBit(FPGA1,0x3d2,5,1); //turn off Blower
- Thread.Sleep(500);
-
- var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
-
- DialogResult result = MessageBox.Show("Close Dryer Door", "Warning");
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- if(RetVal.Value>20)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("Error,Fan rotate\n");
- return 0;
- }
-
- SetBit(FPGA1,0x3d2,4,1); //Dir
- SetBit(FPGA1,0x3d2,3,1); //Torqer High
- SetBit(FPGA1,0x3d2,5,0); //turn on Blower
-
- const int LOW = 70;//0 - 100%
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
-
- Thread.Sleep(1000);
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- stubManager.Write("blower Speed- " + RetVal.Value + "\n");
- if ((RetVal.Value<150)||(RetVal.Value>250) )
- {
- Units_status[6,1]="Fail";
- stubManager.Write("Error,Fan rotate\n");
- return 0;
- }
- Units_status[6,1]="Pass";
-
-
- stubManager.Write("Temp Befor heating \n");
- if (test_pt100()!=0)
- return 0;
-
-float temp=0;
-float temp1=4096*95*5;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- SetBit (FPGA2, F2_CTRL, 10, 1); //turn SSR1 on
- stubManager.Write("\tTesting SSR no. 1\t");
- Thread.Sleep(1000);
-var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
- temp=temp/(4096*95*50);
- stubManager.Write("Current = "+ temp + "A\n");
- if ((temp>6) || (temp<3))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
-
- //Write GPO_DRYER_SSR2_CTRL SSR/SSR no. 2
- SetBit (FPGA2, F2_CTRL, 9, 1);
- stubManager.Write("\tTesting SSR no. 2\t");
- Thread.Sleep(1000);
- response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- stubManager.WriteLine(temp);
- temp=temp*800*3*100;
- temp=temp/(4096*95*120);
- stubManager.Write("Current = "+ temp + "A\n");
- if ((temp>3) || (temp<1))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
-
- Thread.Sleep(50000);
-
-//check air temp
- ftemp=Read_pt100(0);
- stubManager.Write("After heating air temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[0];
- if ((ftemp<5)||(ftemp>25))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
-
-
-
-//check Main temp
- ftemp=Read_pt100(1);
- stubManager.Write("After heating Main temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[1];
- if ((ftemp<5)||(ftemp>40))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
-
-//check Sec. temp
- ftemp=Read_pt100(2);
- stubManager.Write("After heating Sec. temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[2];
- if ((ftemp<5)||(ftemp>40))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
-
- SetBit (FPGA2, F2_CTRL, 10, 0); //turn SSR1 off
- SetBit (FPGA2, F2_CTRL, 9, 0); //turn SSR2 off
-
- SetBit(FPGA1,0x3d2,5,1); //turn off Blower
- return 1;
-
-}
-
- int test_pt100()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 3; i++)
- {
- DryerTemp[i]=Read_pt100(i);
- ftemp=DryerTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i+7,1]="Fail";
- }
- else
- {
- Units_status[i+7,1]="Pass";
- }
- stubManager.Write(Units_status[i+7,0] +"\t"+ ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
-//------------------------------------------------
-float Read_pt100(int i)
-{
- int j=i+6;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,j); //
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-
-
-//------------------------------------------
-int Test_motor_driving ()
-
-{
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 500); //rotate Dryer Motor.
- stubManager.Write("Dryer Motor rotate \n ");
- DialogResult result = MessageBox.Show("Are Dryer Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("Dryer Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("Dryer Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,3,3); //stop motor
-
- return 0;
-}
-//----------------------------------
-int Test_Load_Arm()
-{
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
- position_32bit=0;
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, false, 60);//40
- Thread.Sleep(50);
- temp=ReadEncoder();
- while ((temp3==0)&& (i<600) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Thread.Sleep(50);
- ReadEncoder();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=1;
- if ((position_32bit-temp)>20)
- temp3=2;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
- Units_status[5,1]="Pass";
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mecahnicl stopper ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Arm Motor arrive to mecahnicl stopper \n");
- return 0;
- }
-
- position_32bit=0;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, true, 60);
- Thread.Sleep(50);
- i=0;
- while ((Math.Abs(ReadEncoder())< (30*0x4000))&& (i<4500))
-
- {
- Thread.Sleep(50);
- i++;
-// stubManager.Write("position_32bit " + position_32bit +"\t" + i + "\n" );
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
- DialogResult result3 = MessageBox.Show("Did Arm Motor make 30 rounds?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- return 1;
-}
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return position_32bit;
-}
-//-----------------------------------
-int Test_LId ()
-{
- Int32 Bit = 1;
- int i = 0;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2); //mov Dryer Lid motor down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard stop hiZ motor
- Thread.Sleep(1000);
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+0); //mov Dryer Lid motor up
-
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,4);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Write("\n--------1-Lid Open--------");
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard stop hiZ motor
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_Lid_Open Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2); //mov Dryer Lid motor down
-
- Bit = 1;
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,5);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Write("\n--------2-Lid Close--------");
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard stop hiZ motor
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_Lid_Close Not calibrate\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- Units_status[0,1]="Pass";
- return 1;
-
-}
-
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------Dryer Fail ------------ ");
- stubManager.Write("-------------Dryer Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------Dryer Pass ------------ )");
- stubManager.Write("-------------Dryer Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs
index d3cc0b43c..46849f051 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_LimitSwitch.cs
@@ -21,18 +21,14 @@ public void OnExecute(StubManager stubManager)
Int32 Bit = 1;
uint Temp = 0;
int counter = 0;
- UInt32 PowerStep_driver=0;
- if (Get_Driver_Type(4)>0x14)
- PowerStep_driver=1;
- for (int i=0;i<1;i++)
- {
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2*PowerStep_driver); //mov Dryer Lid motor up
- Bit=1;
+
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 2); //mov Dryer Lid motor up
+
while (Bit != 0x0) //wait until Dryer Lid open
{
- Bit = GetBit(FPGA1, F1_LS_01_Direct,4);
- Thread.Sleep(100);
+ Bit = GetBit(FPGA1, F1_LS_01_Direct,5);
+ Thread.Sleep(10);
}
stubManager.Write("\n--------1-Lid Open--------");
@@ -42,34 +38,19 @@ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard st
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor up
+stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,4, true, 2); //mov Dryer Lid motor down
Bit = 1;
while (Bit != 0x0) //wait until Dryer Lid open
{
- Bit = GetBit(FPGA1, F1_LS_01_Direct,5);
- Thread.Sleep(100);
+ Bit = GetBit(FPGA1, F1_LS_01_Direct,4);
+ Thread.Sleep(10);
}
- stubManager.Write("\n--------2-Lid Close--------\nCycle \t"+i);
+ stubManager.Write("\n--------2-Lid Close--------");
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,4, 2); //Hard stop hiZ motor
-}
-
-}
-
-UInt32 Get_Driver_Type(UInt32 i)
-{
- Int32 x_GET_PARAM = 0x20;
- Int32 x_ADC_OUT = 0x12;
- UInt32 ADC_out ;
-
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- ADC_out= (response.RecivedData) & 0x001F;
- stubManager.WriteHex(ADC_out,2) ;
- return ADC_out ;
-}
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
index d0ecd2125..da391cfb2 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
@@ -18,63 +18,22 @@ include "Tango_Defines_SSR.cs"
public void OnExecute(StubManager stubManager)
{
-float temp=0;
-float temp1=4096*95*5;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
+ //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
SetBit (FPGA2, F2_CTRL, 10, 1);
- stubManager.Write("\tTesting SSR no. 1\t");
- Thread.Sleep(3000);
-
-var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
-
- temp=Convert.ToUInt32 (response1.SamplingInBits);
-
- stubManager.Write("Current = "+ temp*100/6 + "mA/n");
-
- temp=temp*800*3*100;
- temp=temp/(4096*95*50);
- stubManager.Write("Current = "+ temp + "A\t");
- stubManager.Write("Voltage = "+ (temp*60) + "V\n");
-
-// temp=temp*2400*60*100;
-// temp=temp/(4096*95*50);
-// stubManager.Write("Voltage = "+ temp + "Volt/n");
-// stubManager.Write("Current = "+ temp*100/6 + "mA/n");
-
-
+ stubManager.Write("\nTesting SSR no. 1");
+ Thread.Sleep(4000);
SetBit (FPGA2, F2_CTRL, 10, 0);
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- stubManager.Write("\n");
-
//Write GPO_DRYER_SSR2_CTRL SSR/SSR no. 2
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,7); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
SetBit (FPGA2, F2_CTRL, 9, 1);
- stubManager.Write("\tTesting SSR no. 2\t");
- Thread.Sleep(3000);
-
- response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
-
- temp=Convert.ToUInt32 (response1.SamplingInBits);
-
-// temp=temp*2400*1000;
-// temp=temp/(4096*95*100);
-// stubManager.Write("Current = "+ temp*100/6 + "mA/n");
-
- temp=temp*800*3*100;
- temp=temp/(4096*95*100);
- stubManager.Write("Current = "+ temp + "A\n");
-
-
+ stubManager.Write("\nTesting SSR no. 2");
+ Thread.Sleep(4000);
SetBit (FPGA2, F2_CTRL, 9, 0);
- response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,7); //
- stubManager.WriteHex(response.TemperatureCMultBy100,4);
- stubManager.Write("\n");
-
+
+ //Write GPO_DRYER_SSR3_CTRL SSR/SSR no. 3
+ SetBit (FPGA2, F2_CTRL, 8, 1);
+ stubManager.Write("\nTesting SSR no. 3");
+ Thread.Sleep(4000);
+ SetBit (FPGA2, F2_CTRL, 8, 0);
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
deleted file mode 100644
index 3b00533c7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
+++ /dev/null
@@ -1,499 +0,0 @@
-01/10/2020 13:37:37
-Heating to 190
-01/10/2020 13:37:37
- 55
- 55
- 56
- 56
- 57
- 57
- 57
- 58
- 58
- 59
- 59
- 59
- 60
- 60
- 60
- 61
- 61
- 61
- 62
- 62
- 62
- 63
- 63
- 64
- 64
- 64
- 65
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 67
- 68
- 68
- 68
- 69
- 69
- 69
- 69
- 70
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 72
- 73
- 73
- 73
- 74
- 74
- 74
- 74
- 75
- 75
- 75
- 76
- 76
- 76
- 76
- 77
- 77
- 78
- 78
- 78
- 78
- 79
- 79
- 79
- 80
- 80
- 80
- 80
- 81
- 81
- 81
- 81
- 82
- 82
- 82
- 82
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 79
- 79
- 79
- 79
- 79
- 80
- 80
- 80
- 80
- 81
- 81
- 81
- 81
- 82
- 82
- 82
- 82
- 83
- 83
- 83
- 83
- 84
- 84
- 84
- 85
- 85
- 85
- 86
- 86
- 86
- 86
- 87
- 87
- 87
- 87
- 88
- 88
- 88
- 88
- 89
- 89
- 89
- 89
- 90
- 90
- 90
- 90
- 91
- 91
- 91
- 91
- 92
- 92
- 92
- 92
- 93
- 93
- 93
- 93
- 94
- 94
- 94
- 94
- 95
- 95
- 95
- 95
- 96
- 96
- 96
- 96
- 96
- 97
- 97
- 97
- 97
- 98
- 98
- 98
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 95
- 95
- 94
- 94
- 94
- 93
- 93
- 93
- 92
- 92
- 92
- 91
- 91
- 91
- 90
- 90
- 90
- 89
- 89
- 89
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 87
- 87
- 87
- 87
- 88
- 88
- 88
- 89
- 89
- 89
- 89
- 90
- 90
- 90
- 90
- 91
- 91
- 91
- 92
- 92
- 92
- 92
- 93
- 93
- 93
- 93
- 94
- 94
- 94
- 95
- 95
- 95
- 95
- 96
- 96
- 96
- 96
- 97
- 97
- 97
- 97
- 98
- 98
- 98
- 98
- 99
- 99
- 99
- 99
- 100
- 100
- 100
- 100
- 101
- 101
- 101
- 101
- 101
- 102
- 102
- 102
- 102
- 103
- 103
- 103
- 103
- 104
- 104
- 104
- 104
- 104
- 105
- 105
- 105
- 105
- 106
- 106
- 106
- 106
- 106
- 107
- 107
- 107
- 107
- 108
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 110
- 110
- 111
- 111
- 111
- 111
- 111
- 112
- 112
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 132
- 132
- 131
- 131
- 130
- 130
- 129
- 128
- 128
- 127
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV
deleted file mode 100644
index 6d1a7862c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV
+++ /dev/null
@@ -1,1600 +0,0 @@
-06/07/2020 9:43:12
-Heating to 190
-06/07/2020 9:43:12
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 23
- 24
- 24
- 24
- 24
- 24
- 24
- 25
- 25
- 25
- 26
- 26
- 26
- 27
- 27
- 28
- 28
- 29
- 29
- 30
- 30
- 31
- 31
- 32
- 32
- 33
- 33
- 34
- 34
- 35
- 35
- 36
- 37
- 37
- 38
- 38
- 39
- 39
- 40
- 41
- 41
- 42
- 42
- 43
- 43
- 44
- 44
- 45
- 46
- 46
- 47
- 47
- 48
- 48
- 49
- 49
- 50
- 50
- 51
- 52
- 52
- 53
- 53
- 54
- 54
- 55
- 55
- 56
- 56
- 56
- 57
- 57
- 58
- 58
- 59
- 59
- 60
- 60
- 60
- 61
- 61
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 68
- 68
- 68
- 69
- 69
- 69
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 72
- 73
- 73
- 73
- 74
- 74
- 74
- 75
- 75
- 75
- 76
- 76
- 76
- 77
- 77
- 77
- 78
- 78
- 78
- 79
- 79
- 79
- 79
- 80
- 80
- 80
- 81
- 81
- 81
- 82
- 82
- 82
- 82
- 83
- 83
- 83
- 84
- 84
- 84
- 84
- 85
- 85
- 85
- 86
- 86
- 86
- 86
- 87
- 87
- 87
- 88
- 88
- 88
- 88
- 89
- 89
- 89
- 89
- 90
- 90
- 90
- 91
- 91
- 91
- 92
- 92
- 92
- 92
- 93
- 93
- 93
- 93
- 94
- 94
- 94
- 94
- 95
- 95
- 95
- 95
- 96
- 96
- 96
- 96
- 97
- 97
- 97
- 97
- 98
- 98
- 98
- 98
- 98
- 99
- 99
- 99
- 99
- 100
- 100
- 100
- 100
- 101
- 101
- 101
- 101
- 102
- 102
- 102
- 102
- 102
- 103
- 103
- 103
- 103
- 104
- 104
- 104
- 104
- 105
- 105
- 105
- 105
- 105
- 106
- 106
- 106
- 106
- 106
- 107
- 107
- 107
- 107
- 107
- 108
- 108
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 110
- 110
- 111
- 111
- 111
- 111
- 111
- 112
- 112
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-06/07/2020 9:56:54
-cooling down
-06/07/2020 9:58:54
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 191
- 190
- 190
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 186
- 186
- 186
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 177
- 177
- 177
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 170
- 170
- 170
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 165
- 165
- 165
- 164
- 164
- 164
- 164
- 163
- 163
- 163
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV
deleted file mode 100644
index 4ab057b1c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV
+++ /dev/null
@@ -1,29654 +0,0 @@
-16/08/2020 18:49:18
-Heating to 190
-16/08/2020 18:49:18
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 25
- 25
- 25
- 25
- 25
- 26
- 26
- 26
- 26
- 27
- 27
- 27
- 28
- 28
- 29
- 29
- 29
- 30
- 30
- 31
- 31
- 32
- 32
- 33
- 33
- 33
- 34
- 34
- 35
- 36
- 36
- 37
- 38
- 38
- 39
- 39
- 40
- 40
- 41
- 41
- 42
- 42
- 43
- 43
- 44
- 44
- 45
- 45
- 46
- 46
- 47
- 47
- 48
- 48
- 49
- 49
- 50
- 50
- 51
- 51
- 52
- 52
- 53
- 53
- 53
- 54
- 54
- 55
- 55
- 56
- 56
- 57
- 57
- 57
- 58
- 58
- 59
- 59
- 60
- 60
- 60
- 61
- 61
- 62
- 62
- 63
- 63
- 63
- 64
- 64
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 67
- 68
- 68
- 69
- 69
- 69
- 70
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 72
- 73
- 73
- 73
- 74
- 74
- 74
- 75
- 75
- 75
- 76
- 76
- 76
- 77
- 77
- 77
- 78
- 78
- 78
- 79
- 79
- 79
- 79
- 80
- 80
- 80
- 81
- 81
- 81
- 81
- 82
- 82
- 82
- 83
- 83
- 83
- 84
- 84
- 84
- 84
- 85
- 85
- 85
- 85
- 86
- 86
- 86
- 87
- 87
- 87
- 87
- 88
- 88
- 88
- 88
- 89
- 89
- 89
- 89
- 90
- 90
- 90
- 91
- 91
- 91
- 91
- 92
- 92
- 92
- 92
- 93
- 93
- 93
- 93
- 94
- 94
- 94
- 94
- 95
- 95
- 95
- 95
- 95
- 96
- 96
- 96
- 96
- 97
- 97
- 97
- 97
- 98
- 98
- 98
- 98
- 98
- 99
- 99
- 99
- 99
- 100
- 100
- 100
- 100
- 100
- 101
- 101
- 101
- 101
- 102
- 102
- 102
- 102
- 102
- 103
- 103
- 103
- 103
- 104
- 104
- 104
- 104
- 104
- 105
- 105
- 105
- 105
- 105
- 106
- 106
- 106
- 106
- 106
- 107
- 107
- 107
- 107
- 107
- 108
- 108
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 110
- 110
- 111
- 111
- 111
- 111
- 111
- 112
- 112
- 112
- 112
- 112
- 112
- 113
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-16/08/2020 19:04:08
-cooling down
-16/08/2020 19:06:08
- 193
- 193
- 193
- 193
- 193
- 193
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 191
- 191
- 191
- 191
- 191
- 191
- 190
- 190
- 190
- 190
- 190
- 189
- 189
- 189
- 189
- 188
- 188
- 188
- 188
- 187
- 187
- 187
- 186
- 186
- 186
- 185
- 185
- 185
- 185
- 184
- 184
- 184
- 183
- 183
- 183
- 182
- 182
- 182
- 181
- 181
- 181
- 180
- 180
- 180
- 179
- 179
- 179
- 178
- 178
- 178
- 178
- 177
- 177
- 176
- 176
- 176
- 175
- 175
- 175
- 174
- 174
- 174
- 174
- 173
- 173
- 173
- 172
- 172
- 172
- 171
- 171
- 171
- 171
- 170
- 170
- 170
- 169
- 169
- 169
- 169
- 168
- 168
- 168
- 167
- 167
- 167
- 167
- 166
- 166
- 166
- 166
- 165
- 165
- 165
- 165
- 164
- 164
- 164
- 164
- 163
- 163
- 163
- 163
- 162
- 162
- 162
- 162
- 161
- 161
- 161
- 161
- 160
- 160
- 160
- 160
- 159
- 159
- 159
- 159
- 158
- 158
- 158
- 158
- 158
- 157
- 157
- 157
- 157
- 157
- 156
- 156
- 156
- 156
- 156
- 155
- 155
- 155
- 155
- 155
- 154
- 154
- 154
- 154
- 154
- 153
- 153
- 153
- 153
- 153
- 153
- 152
- 152
- 152
- 152
- 152
- 151
- 151
- 151
- 151
- 151
- 151
- 150
- 150
- 150
- 150
- 150
- 150
- 149
- 149
- 149
- 149
- 149
- 149
- 149
- 148
- 148
- 148
- 148
- 148
- 148
- 147
- 147
- 147
- 147
- 147
- 147
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 146
- 145
- 145
- 145
- 145
- 145
- 145
- 145
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 144
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 143
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 142
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 141
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 140
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 139
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 138
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 137
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 136
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 135
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 134
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 133
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 132
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 131
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 130
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 129
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 128
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 127
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 126
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 125
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 124
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 123
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 122
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 121
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 120
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 119
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 118
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 117
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 116
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 115
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 114
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 113
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 112
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 111
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 110
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 109
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 108
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 107
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 106
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 105
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 104
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 103
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 102
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 101
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 100
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 99
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 98
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 97
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 96
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 95
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 94
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 93
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 92
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 91
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 90
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 89
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 88
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 87
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 86
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 85
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 84
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 83
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 82
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 81
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 80
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 79
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 78
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 77
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 76
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 75
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 74
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 73
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 72
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 71
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 70
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 69
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 68
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 67
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 66
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 65
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 63
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 62
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 61
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 59
-16/08/2020 20:12:40
-Heating to 190
-16/08/2020 20:12:40
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 59
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 61
- 61
- 61
- 61
- 62
- 62
- 62
- 62
- 63
- 63
- 64
- 64
- 64
- 65
- 65
- 66
- 66
- 66
- 67
- 67
- 68
- 68
- 69
- 69
- 70
- 70
- 71
- 71
- 71
- 72
- 72
- 73
- 73
- 74
- 74
- 75
- 75
- 76
- 76
- 77
- 77
- 78
- 78
- 79
- 80
- 80
- 81
- 81
- 82
- 82
- 82
- 83
- 83
- 84
- 84
- 85
- 85
- 86
- 86
- 87
- 87
- 87
- 88
- 88
- 89
- 89
- 90
- 90
- 90
- 91
- 91
- 92
- 92
- 93
- 93
- 93
- 94
- 94
- 95
- 95
- 95
- 96
- 96
- 97
- 97
- 97
- 98
- 98
- 98
- 99
- 99
- 99
- 100
- 100
- 101
- 101
- 101
- 102
- 102
- 102
- 103
- 103
- 103
- 104
- 104
- 104
- 105
- 105
- 105
- 106
- 106
- 106
- 107
- 107
- 107
- 108
- 108
- 108
- 109
- 109
- 109
- 109
- 110
- 110
- 110
- 111
- 111
- 111
- 112
- 112
- 113
- 113
- 113
- 113
- 114
- 114
- 114
- 115
- 115
- 115
- 115
- 116
- 116
- 116
- 116
- 117
- 117
- 117
- 118
- 118
- 118
- 118
- 119
- 119
- 119
- 119
- 120
- 120
- 120
- 120
- 121
- 121
- 121
- 121
- 122
- 122
- 122
- 122
- 123
- 123
- 123
- 123
- 124
- 124
- 124
- 124
- 125
- 125
- 125
- 125
- 126
- 126
- 126
- 126
- 126
- 127
- 127
- 127
- 127
- 128
- 128
- 128
- 128
- 129
- 129
- 129
- 129
- 129
- 130
- 130
- 130
- 130
- 131
- 131
- 131
- 131
- 131
- 132
- 132
- 132
- 132
- 133
- 133
- 133
- 133
- 134
- 134
- 134
- 134
- 134
- 135
- 135
- 135
- 135
- 135
- 136
- 136
- 136
- 136
- 136
- 137
- 137
- 137
- 137
- 137
- 138
- 138
- 138
- 138
- 138
- 139
- 139
- 139
- 139
- 139
- 140
- 140
- 140
- 140
- 140
- 140
- 141
- 141
- 141
- 141
- 141
- 142
- 142
- 142
- 142
- 142
- 142
- 143
- 143
- 143
- 143
- 143
- 144
- 144
- 144
- 144
- 144
- 144
- 145
- 145
- 145
- 145
- 145
- 145
- 146
- 146
- 146
- 146
- 146
- 146
- 147
- 147
- 147
- 147
- 147
- 147
- 148
- 148
- 148
- 148
- 148
- 148
- 149
- 149
- 149
- 149
- 149
- 149
- 150
- 150
- 150
- 150
- 150
- 150
- 151
- 151
- 151
- 151
- 151
- 151
- 151
- 152
- 152
- 152
- 152
- 152
- 152
- 153
- 153
- 153
- 153
- 153
- 153
- 154
- 154
- 154
- 154
- 154
- 154
- 155
- 155
- 155
- 155
- 155
- 155
- 156
- 156
- 156
- 156
- 156
- 156
- 156
- 157
- 157
- 157
- 157
- 157
- 157
- 157
- 158
- 158
- 158
- 158
- 158
- 158
- 159
- 159
- 159
- 159
- 159
- 159
- 159
- 160
- 160
- 160
- 160
- 160
- 160
- 160
- 161
- 161
- 161
- 161
- 161
- 161
- 161
- 162
- 162
- 162
- 162
- 162
- 162
- 162
- 163
- 163
- 163
- 163
- 163
- 163
- 163
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 164
- 165
- 165
- 165
- 165
- 165
- 165
- 165
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 166
- 167
- 167
- 167
- 167
- 167
- 167
- 167
- 168
- 168
- 168
- 168
- 168
- 168
- 168
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 169
- 170
- 170
- 170
- 170
- 170
- 170
- 170
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 171
- 172
- 172
- 172
- 172
- 172
- 172
- 172
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 173
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 174
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 175
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 176
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 177
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 178
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 179
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 180
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 181
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 182
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 183
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 184
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 185
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 186
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 187
- 188
- 188
- 188
- 188
- 188
- 188
- 188
- 189
-16/08/2020 20:23:12
-cooling down
-17/08/2020 0:35:05
- 42
-17/08/2020 0:35:06
-Heating to 190
-17/08/2020 0:35:06
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 42
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 41
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 40
- 39
- 40
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 39
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 38
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 37
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 36
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 35
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 34
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 33
- 32
- 33
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 32
- 31
- 32
- 32
- 32
- 31
- 31
- 31
- 32
- 31
- 31
- 31
- 31
- 32
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 31
- 30
- 30
- 31
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 30
- 29
- 30
- 30
- 30
- 30
- 30
- 30
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
- 29
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs
deleted file mode 100644
index bd92ea498..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_motor_test.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3,true, 2200);
-
-
-
-
-
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs
index d2eb00cb6..0e6c5c7f0 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_ssi.cs
@@ -31,25 +31,18 @@ public void OnExecute(StubManager stubManager)
for (int i = 0; i < 1000; i++)
{
+
+ SSI_Read_Write(FPGA1, F1_LSPARE_ROTENC_MSB, F1_LSPARE_ROTENC_LSB, F1_LSPARE_ROTENC_TX);
+// SSI_Read_Write(FPGA1, F1_LDANCER2_ROTENC_MSB, F1_LDANCER2_ROTENC_LSB, F1_LDANCER2_ROTENC_TX);
+ stubManager.Write("\n");
+ k++;
+ if ( (k & 0x8) == 0x08 ) {
+ k = 0;
+ stubManager.Write(" LDANCER1 LDANCER2 \n");
+ }
- stubManager.Write(ReadEncoder_Dryer() +"\n");
-
- Thread.Sleep(100);
+ Thread.Sleep(10);
}
}
-
-Int32 ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
- return temp;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs
index de04260fa..d7c4894c6 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/GPO_Blower_PWM.cs
@@ -12,48 +12,26 @@ using Tango.Stubs;
include "..\..\Defines\Tango_Defines_Basic.cs"
include "Tango_Defines_SSR.cs"
-include "Tango_Defines_Tacho.cs"
-const int Time_Test_On_Second= 60*30*3 ; //1.5 hour
-const string File_Name = @"P:\Scripts\Assemblies\Dryer\Blowe_RMO_LOG.CSV"; //3 hour
+
public void OnExecute(StubManager stubManager)
{
-
- var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- UInt32 temp;
-
SetBit(FPGA1,0x3d2,5,0); //turn on Blower
- SetBit(FPGA1,0x3d2,4,1); //Dir
+ SetBit(FPGA1,0x3d2,4,0); //Dir
SetBit(FPGA1,0x3d2,3,1); //Torqer High
- const int LOW = 70;//0 - 100%
+ const int LOW = 50;//0 - 100%
var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
var response1 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
var response2 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
-
-
- stubManager.WriteToFile(File_Name,",RPM ");
-
-
- for (int i=0;i<Time_Test_On_Second;i++)
-
- {
- Thread.Sleep(1000);
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- temp=60/12; //60 sec
- temp=temp *29166667;
- temp=temp/RetVal.Value;
- temp=temp/250;
- stubManager.AppendToFile(File_Name,i+ ","+ temp );
-
- stubManager.Write("Fan5 Speed- \t"+temp + "\n");
-// stubManager.WriteHex(RetVal.Value,4);
-
- }
+ Thread.Sleep(4000);
SetBit(FPGA1,0x3d2,5,1); //turn off Blower
+
+ // low + high = 100 % in order use the same freq
+ // there is option to change only the high (low + freq constasnt) this will chnga the freq
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs
deleted file mode 100644
index 1ce0a515f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Load_Dryer_Arm.cs
+++ /dev/null
@@ -1,224 +0,0 @@
-//-------------------------------------------
-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 "..\Defines\Tango_Defines_Motors.cs"
-
- //--------------------------------------------------------------------------------
-
-//--------------------------------------------------------------------------------
-Int32 last_14bit_position;
-Int32 position_32bit;
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
- last_14bit_position = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- position_32bit=0;
-
-
-//Create form
- Form form1 = new Form();
-
-//--------------------------------------------------------------------------------
-
-// Create buttons to use as the accept and cancel buttons.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- Button button2 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-//--------------------------------------------------------------------------------
-// Set the text of button
-
- button1.Text = "ARM HOME";
-
- button2.Text = "ARM STRART";
-
-//--------------------------------------------------------------------------------
-// Set the position of the button on the form.
-
- button1.Location = new Point (40, 100);
-
- button2.Location
- = new Point (button1.Left + button1.Width + 10, 100);
-
-//--------------------------------------------------------------------------------
- // Add button to the form.
-
- form1.Controls.Add(button1);
-
- form1.Controls.Add(button2);
-
-//--------------------------------------------------------------------------------
-
-// Set the caption bar text of the form.
-
- form1.Text = "Load Dryer Arm";
-
-//--------------------------------------------------------------------------------
-
- // Define the border style of the form to a dialog box.
-
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-
- // Set the MaximizeBox to false to remove the maximize box.
-
- form1.MaximizeBox = false;
-
- // Set the MinimizeBox to false to remove the minimize box.
-
- form1.MinimizeBox = false;
-
- // Set the start position of the form to the center of the screen.
-
- form1.StartPosition = FormStartPosition.CenterScreen;
-
-
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-//--------------------------------------------------------------------------------
-
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text ="20"
- };
-TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
-Label Label1 = new Label ()
- {
- Width = 150,
- Height = 100,
- Text ="Number round"
- };
-Label1.Location = new Point (20, 10);
- form1.Controls.Add(Label1);
-
-
-
-//--------------------------------------------------------------------------------
-
-
-
- button2.Click += (_,__) =>
-
- {
- position_32bit=0;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, true, 40);
- Thread.Sleep(200);
-
- while (Math.Abs(ReadEncoder())< (UInt32.Parse(TextBox1.Text)*0x4000))
-
- {
- Thread.Sleep(200);
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
- button1.Click += (_,__) =>
- {
- Int32 temp3=0;
- Int32 j=0;
- position_32bit=0;
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,5, false, 40);
- Thread.Sleep(200);
-
- while (temp3==0)
-
- {
- Thread.Sleep(200);
- ReadEncoder();
- stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (UInt32.Parse(TextBox1.Text)*0x4000))
- temp3=1;
- if (Math.Abs(position_32bit-temp)<0x40)
- j=j+1;
- else
- j=0;
- temp=position_32bit;
- if (j>3)
- temp3=2;
-
- stubManager.Write("Temp3 " + temp3 +"\n");
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
- };
-
-//--------------------------------------------------------------------------------
-
-// Display the form as a modal dialog box.
- form1.ShowDialog();
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
-
- return;
-}
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return position_32bit;
-}
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs
deleted file mode 100644
index bb502309e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Loading_arm_center_calibration.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-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/Scripts/Assemblies/Dryer/blower_rpm.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs
deleted file mode 100644
index 13e6af513..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-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 "Tango_Defines_Tacho.cs"
-
-const int Time_Test_On_Second= 60*30*3 ; //1.5 hour
-const string File_Name = @"P:\Scripts\Assemblies\Dryer\Blowe_RMO_LOG.CSV"; //3 hour
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-/*
- const int LOW = 75;//0 - 100%
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
- var response1 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
- var response2 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
-*/
-
-
-
-
-
-
-
- var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- UInt32 temp;
-
-
-// stubManager.WriteToFile(File_Name,",RPM ");
-
-
- for (int i=0;i<Time_Test_On_Second;i++)
-
- {
-
- Thread.Sleep(1000);
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
- temp=60/12; //60 sec
- temp=temp *29166667;
- temp=temp/RetVal.Value;
- temp=temp/250;
-// stubManager.AppendToFile(File_Name,i+ ","+ temp );
-
- stubManager.Write("Fan5 Speed- \t"+temp + "\n");
-// stubManager.WriteHex(RetVal.Value,4);
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv
deleted file mode 100644
index a31cc8341..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test.csv
+++ /dev/null
@@ -1,1795 +0,0 @@
-24/05/2020 13:21:48
-0,0
-58,0
-75,0
-92,-2
-111,53
-132,36
-151,-53
-172,-14
-192,-117
-212,-100
-248,-149
-268,-309
-289,-377
-309,-453
-328,-462
-350,-539
-369,-687
-388,-747
-410,-829
-431,-842
-451,-922
-464,-991
-494,-1044
-515,-1221
-535,-1237
-557,-1312
-578,-1459
-599,-1538
-619,-1552
-639,-1626
-660,-1701
-685,-1846
-704,-1873
-720,-1940
-733,-2000
-749,-2113
-765,-2172
-783,-2231
-802,-2298
-820,-2369
-836,-2435
-861,-2494
-878,-2525
-899,-2593
-919,-2735
-933,-2809
-952,-2861
-966,-2932
-982,-2986
-996,-2982
-1014,-3033
-1035,-3101
-1052,-3242
-1078,-3239
-1101,-3341
-1124,-3425
-1146,-3570
-1181,-3595
-1203,-3783
-1216,-3799
-1235,-3850
-1250,-3921
-1277,-3984
-1298,-4147
-1318,-4223
-1336,-4294
-1355,-4298
-1374,-4365
-1396,-4444
-1427,-4591
-1458,-4713
-1484,-4751
-1505,-4914
-1533,-4960
-1555,-5028
-1574,-5172
-1596,-5244
-1619,-5268
-1642,-5419
-1664,-5499
-1686,-5520
-1706,-5606
-1733,-5740
-1757,-5783
-1776,-5935
-1793,-6007
-1811,-6065
-1830,-6133
-1849,-6207
-1870,-6276
-1891,-6285
-1912,-6366
-1940,-6511
-1962,-6546
-1977,-6627
-1992,-6683
-2012,-6739
-2032,-6815
-2055,-6963
-2077,-6996
-2093,-7053
-2119,-7114
-2142,-7283
-2164,-7362
-2187,-7380
-2210,-7531
-2235,-7615
-2254,-7642
-2276,-7714
-2302,-7874
-2322,-7900
-2342,-7972
-2373,-8107
-2396,-8161
-2416,-8310
-2442,-8383
-2465,-8413
-2490,-8566
-2512,-8591
-2536,-8677
-2562,-8785
-2581,-8858
-2612,-8929
-2653,-9040
-2681,-9265
-2700,-9302
-2720,-9370
-2741,-9446
-2760,-9591
-2782,-9659
-2805,-9679
-2829,-9834
-2848,-9917
-2866,-9988
-2888,-10052
-2907,-10069
-2925,-10142
-2939,-10213
-2961,-10260
-2997,-10379
-3021,-10549
-3041,-10570
-3062,-10646
-3081,-10717
-3102,-10790
-3124,-10934
-3146,-11013
-3165,-11031
-3183,-11105
-3203,-11176
-3229,-11309
-3251,-11341
-3271,-11427
-3291,-11562
-3309,-11635
-3331,-11704
-3349,-11783
-3367,-11800
-3388,-11860
-3405,-11927
-3434,-11996
-3450,-12165
-3465,-12226
-3484,-12284
-3503,-12351
-3519,-12424
-3532,-12485
-3554,-12535
-3578,-12558
-3600,-12638
-3626,-12784
-3648,-12819
-3670,-12898
-3683,-13042
-3705,-13028
-3728,-13181
-3746,-13196
-3761,-13260
-3780,-13332
-3800,-13399
-3817,-13546
-3837,-13532
-3871,-13699
-3887,-13736
-3906,-13799
-3923,-13929
-3943,-13927
-3963,-14067
-3982,-14138
-3998,-14214
-4017,-14271
-4043,-14281
-4062,-14375
-4078,-14512
-4100,-14570
-4122,-14650
-4143,-14668
-4165,-14750
-4188,-14912
-4205,-14982
-4234,-15015
-4255,-15158
-4268,-15231
-4286,-15282
-4309,-15353
-4323,-15375
-4344,-15488
-4362,-15511
-4381,-15579
-4401,-15647
-4422,-15718
-4444,-15860
-4470,-15888
-4493,-16044
-4515,-16130
-4536,-16147
-4558,-16220
-4575,-16366
-4596,-16434
-4622,-16458
-4644,-16543
-4674,-16690
-4697,-16742
-4714,-16887
-4733,-16945
-4749,-17019
-4772,-17084
-4786,-17104
-4803,-17219
-4820,-17281
-4834,-17347
-4847,-17398
-4878,-17453
-4895,-17500
-4915,-17567
-4935,-17706
-4952,-17778
-4967,-17844
-4985,-17831
-5004,-17962
-5021,-18035
-5037,-18099
-5056,-18159
-5094,-18189
-5113,-18369
-5131,-18440
-5150,-18442
-5169,-18512
-5189,-18582
-5205,-18658
-5220,-18719
-5241,-18775
-5266,-18922
-5287,-19012
-5306,-19028
-5326,-19100
-5349,-19244
-5374,-19335
-5393,-19353
-5410,-19424
-5424,-19486
-5444,-19536
-5471,-19705
-5491,-19721
-5511,-19789
-5529,-19869
-5551,-19944
-5564,-20076
-5586,-20060
-5608,-20205
-5633,-20234
-5652,-20317
-5684,-20387
-5706,-20507
-5722,-20652
-5741,-20713
-5758,-20789
-5774,-20843
-5789,-20839
-5805,-20901
-5827,-20964
-5845,-21104
-5866,-21173
-5886,-21250
-5914,-21265
-5937,-21434
-5952,-21454
-5984,-21572
-6002,-21693
-6022,-21759
-6035,-21827
-6055,-21880
-6074,-21952
-6096,-21963
-6124,-22044
-6139,-22210
-6161,-22270
-6183,-22287
-6201,-22367
-6223,-22432
-6236,-22578
-6255,-22567
-6272,-22706
-6288,-22696
-6333,-22837
-6356,-22935
-6370,-23012
-6392,-23067
-6408,-23144
-6429,-23276
-6446,-23350
-6467,-23413
-6486,-23488
-6507,-23559
-6521,-23575
-6542,-23627
-6562,-23707
-6583,-23777
-6604,-23924
-6628,-24003
-6647,-24020
-6669,-24103
-6696,-24238
-6724,-24362
-6741,-24445
-6760,-24507
-6780,-24579
-6805,-24595
-6829,-24754
-6848,-24777
-6872,-24847
-6890,-24936
-6918,-25083
-6939,-25111
-6956,-25181
-6971,-25240
-6990,-25300
-7007,-25366
-7024,-25432
-7045,-25497
-7064,-25648
-7086,-25710
-7108,-25787
-7137,-25898
-7156,-25978
-7184,-26052
-7202,-26158
-7224,-26220
-7238,-26306
-7255,-26354
-7275,-26415
-7296,-26493
-7310,-26509
-7336,-26584
-7351,-26654
-7370,-26712
-7392,-26779
-7405,-26926
-7426,-26916
-7446,-27058
-7464,-27130
-7483,-27193
-7507,-27270
-7541,-27400
-7555,-27417
-7573,-27468
-7593,-27538
-7616,-27613
-7636,-27759
-7660,-27839
-7677,-27865
-7701,-27933
-7724,-28080
-7743,-28161
-7777,-28174
-7798,-28359
-7821,-28381
-7837,-28533
-7856,-28585
-7875,-28655
-7889,-28723
-7907,-28712
-7934,-28851
-7957,-28890
-7974,-29033
-7989,-29098
-8003,-29087
-8024,-29140
-8048,-29224
-8100,-29328
-8117,-29567
-8146,-29633
-8169,-29672
-8192,-29823
-8209,-29846
-8226,-29909
-8245,-29966
-8258,-30037
-8284,-30092
-8306,-30261
-8329,-30336
-8348,-30355
-8378,-30432
-8402,-30552
-8425,-30632
-8439,-30779
-8459,-30833
-8490,-30859
-8505,-31025
-8519,-31011
-8545,-31067
-8570,-31177
-8592,-31257
-8622,-31430
-8643,-31449
-8662,-31595
-8683,-31670
-8701,-31742
-8721,-31815
-8747,-31838
-8765,-31984
-8786,-32053
-8813,-32076
-8835,-32236
-8854,-32311
-8869,-32381
-8890,-32442
-8904,-32458
-8925,-32575
-8939,-32587
-8952,-32700
-8972,-32751
-9004,-32783
-9026,-32946
-9043,-33020
-9063,-33084
-9081,-33099
-9098,-33168
-9117,-33226
-9139,-33298
-9160,-33382
-9180,-33528
-9202,-33599
-9224,-33614
-9252,-33700
-9274,-33808
-9292,-33884
-9304,-33949
-9326,-34004
-9342,-34154
-9360,-34142
-9377,-34203
-9395,-34272
-9415,-34341
-9445,-34481
-9467,-34531
-9485,-34671
-9505,-34744
-9527,-34761
-9541,-34837
-9556,-34892
-9576,-35011
-9591,-35017
-9610,-35137
-9640,-35168
-9659,-35321
-9682,-35337
-9707,-35423
-9728,-35574
-9750,-35594
-9767,-35681
-9781,-35733
-9797,-35848
-9818,-35909
-9838,-35921
-9867,-36005
-9889,-36110
-9907,-36191
-9931,-36258
-9950,-36410
-9971,-36485
-9989,-36497
-10010,-36562
-10031,-36641
-10057,-36777
-10081,-36820
-10101,-36901
-10123,-37038
-10145,-37121
-10161,-37135
-10180,-37193
-10206,-37285
-10227,-37432
-10248,-37509
-10270,-37525
-10291,-37673
-10313,-37751
-10330,-37830
-10344,-37894
-10368,-37947
-10387,-37972
-10407,-38047
-10425,-38120
-10439,-38183
-10459,-38236
-10486,-38377
-10507,-38415
-10523,-38488
-10541,-38553
-10561,-38620
-10578,-38696
-10592,-38758
-10610,-38810
-10630,-38869
-10652,-38952
-10679,-39094
-10702,-39132
-10724,-39289
-10746,-39361
-10763,-39383
-10792,-39464
-10809,-39617
-10823,-39679
-10837,-39731
-10854,-39716
-10884,-39853
-10901,-39893
-10918,-39957
-10939,-40021
-10959,-40171
-10977,-40241
-10991,-40305
-11007,-40362
-11020,-40350
-11035,-40403
-11051,-40518
-11081,-40576
-11113,-40661
-11132,-40739
-11151,-40873
-11172,-40952
-11194,-41027
-11213,-41043
-11227,-41116
-11248,-41163
-11283,-41294
-11308,-41450
-11329,-41537
-11352,-41553
-11370,-41638
-11391,-41702
-11408,-41850
-11428,-41906
-11448,-41982
-11473,-42053
-11493,-42082
-11512,-42221
-11535,-42291
-11559,-42322
-11579,-42404
-11598,-42538
-11622,-42618
-11644,-42636
-11663,-42718
-11701,-42790
-11718,-42997
-11741,-43062
-11760,-43141
-11778,-43156
-11804,-43232
-11829,-43388
-11849,-43411
-11871,-43482
-11894,-43629
-11919,-43715
-11947,-43746
-11974,-43853
-12021,-44016
-12040,-44123
-12083,-44198
-12103,-44417
-12125,-44487
-12147,-44507
-12178,-44624
-12198,-44707
-12219,-44850
-12241,-44919
-12266,-44937
-12286,-45032
-12309,-45174
-12331,-45195
-12351,-45280
-12384,-45423
-12405,-45472
-12428,-45622
-12447,-45704
-12469,-45707
-12491,-45794
-12508,-45940
-12523,-46004
-12538,-46059
-12553,-46050
-12567,-46104
-12580,-46216
-12605,-46267
-12624,-46295
-12640,-46365
-12659,-46425
-12681,-46498
-12694,-46643
-12716,-46628
-12731,-46772
-12750,-46833
-12775,-46905
-12798,-46942
-12820,-47084
-12846,-47120
-12859,-47197
-12876,-47246
-12895,-47312
-12908,-47378
-12928,-47490
-12942,-47507
-12960,-47562
-12989,-47650
-13009,-47797
-13031,-47876
-13049,-47891
-13069,-47958
-13085,-48034
-13107,-48096
-13126,-48241
-13147,-48314
-13168,-48388
-13195,-48402
-13230,-48571
-13249,-48698
-13263,-48772
-13284,-48821
-13298,-48841
-13316,-48955
-13332,-49021
-13346,-49084
-13359,-49132
-13387,-49123
-13409,-49227
-13432,-49309
-13453,-49458
-13470,-49542
-13490,-49601
-13506,-49672
-13526,-49732
-13544,-49739
-13564,-49809
-13592,-49977
-13615,-49994
-13634,-50072
-13653,-50144
-13669,-50281
-13683,-50276
-13695,-50325
-13711,-50385
-13727,-50499
-13747,-50565
-13767,-50571
-13799,-50650
-13822,-50774
-13841,-50921
-13867,-51000
-13880,-51017
-13914,-51134
-13938,-51268
-13960,-51290
-13980,-51364
-13995,-51508
-14010,-51564
-14028,-51551
-14056,-51710
-14078,-51734
-14112,-51885
-14134,-51931
-14153,-52077
-14175,-52149
-14190,-52230
-14209,-52284
-14231,-52353
-14244,-52374
-14272,-52452
-14291,-52595
-14310,-52661
-14343,-52737
-14364,-52861
-14377,-52933
-14400,-52984
-14413,-53004
-14427,-53122
-14453,-53137
-14470,-53204
-14485,-53263
-14499,-53324
-14521,-53442
-14558,-53478
-14580,-53602
-14602,-53743
-14622,-53826
-14642,-53833
-14665,-53905
-14693,-54058
-14716,-54100
-14735,-54182
-14748,-54247
-14771,-54305
-14791,-54458
-14811,-54528
-14829,-54599
-14856,-54610
-14871,-54775
-14899,-54853
-14913,-54865
-14932,-54981
-14952,-54992
-14970,-55074
-14995,-55136
-15023,-55254
-15042,-55329
-15070,-55470
-15092,-55505
-15115,-55582
-15133,-55729
-15151,-55801
-15170,-55869
-15189,-55934
-15209,-55946
-15228,-56019
-15247,-56088
-15268,-56157
-15295,-56303
-15313,-56343
-15331,-56406
-15344,-56470
-15364,-56581
-15377,-56591
-15395,-56710
-15415,-56715
-15433,-56782
-15454,-56853
-15486,-56935
-15508,-57055
-15528,-57197
-15548,-57271
-15569,-57346
-15588,-57360
-15608,-57429
-15627,-57497
-15648,-57568
-15675,-57713
-15695,-57752
-15718,-57824
-15738,-57978
-15760,-58050
-15779,-58064
-15793,-58136
-15808,-58186
-15826,-58305
-15846,-58374
-15864,-58388
-15890,-58453
-15911,-58611
-15935,-58639
-15949,-58720
-15967,-58768
-15980,-58834
-15998,-58951
-16017,-58954
-16038,-59022
-16059,-59104
-16089,-59245
-16111,-59292
-16133,-59435
-16152,-59518
-16169,-59592
-16192,-59656
-16223,-59674
-16242,-59791
-16260,-59860
-16288,-59930
-16308,-60097
-16328,-60114
-16355,-60185
-16379,-60355
-16398,-60380
-16412,-60442
-16431,-60495
-16445,-60565
-16467,-60619
-16481,-60700
-16506,-60748
-16527,-60918
-16547,-60995
-16565,-61063
-16588,-61069
-16620,-61225
-16641,-61272
-16663,-61342
-16682,-61488
-16702,-61561
-16718,-61634
-16744,-61693
-16766,-61722
-16784,-61874
-16806,-61943
-16827,-61965
-16844,-62041
-16867,-62185
-16887,-62253
-16908,-62329
-16929,-62402
-16951,-62422
-16973,-62581
-16994,-62653
-17014,-62666
-17031,-62736
-17050,-62804
-17064,-62875
-17083,-62926
-17108,-62994
-17144,-63114
-17165,-63287
-17185,-63305
-17204,-63374
-17223,-63446
-17236,-63517
-17253,-63571
-17269,-63630
-17288,-63693
-17310,-63766
-17330,-63846
-17349,-63995
-17375,-64015
-17394,-64086
-17416,-64158
-17432,-64310
-17449,-64380
-17465,-64430
-17479,-64490
-17499,-64484
-17513,-64621
-17539,-64610
-17560,-64771
-17579,-64778
-17593,-64856
-17612,-64905
-17634,-64976
-17653,-65056
-17676,-65193
-17698,-65281
-17715,-65299
-17741,-65361
-17764,-65524
-17785,-65605
-17805,-65622
-17825,-65699
-17849,-65844
-17867,-65866
-17887,-65930
-17907,-66003
-17927,-66079
-17946,-66218
-17965,-66291
-17992,-66358
-18027,-66474
-18051,-66534
-18072,-66683
-18088,-66758
-18110,-66763
-18132,-66837
-18155,-66920
-18172,-67068
-18202,-67131
-18225,-67246
-18245,-67329
-18265,-67339
-18284,-67417
-18307,-67491
-18331,-67647
-18351,-67665
-18370,-67736
-18387,-67806
-18414,-67878
-18433,-68039
-18455,-68042
-18479,-68131
-18500,-68287
-18521,-68358
-18538,-68372
-18552,-68434
-18566,-68489
-18589,-68604
-18609,-68624
-18637,-68784
-18658,-68868
-18679,-68881
-18702,-68961
-18715,-69108
-18737,-69093
-18759,-69239
-18779,-69319
-18802,-69337
-18818,-69484
-18846,-69479
-18870,-69590
-18892,-69738
-18915,-69821
-18931,-69850
-18945,-69900
-18965,-70016
-18979,-70027
-18995,-70150
-19014,-70201
-19049,-70231
-19072,-70345
-19091,-70423
-19106,-70493
-19126,-70547
-19145,-70620
-19163,-70692
-19185,-70760
-19205,-70908
-19242,-70978
-19264,-71059
-19283,-71140
-19297,-71273
-19317,-71258
-19335,-71333
-19353,-71467
-19368,-71534
-19386,-71524
-19404,-71590
-19420,-71722
-19446,-71719
-19468,-71827
-19485,-71896
-19503,-71960
-19521,-72027
-19539,-72097
-19557,-72165
-19579,-72303
-19600,-72377
-19626,-72455
-19647,-72487
-19669,-72627
-19687,-72708
-19703,-72713
-19720,-72778
-19738,-72899
-19759,-72964
-19779,-72979
-19798,-73056
-19830,-73197
-19849,-73242
-19871,-73320
-19889,-73466
-19906,-73528
-19922,-73597
-19937,-73653
-19954,-73717
-19970,-73771
-19988,-73766
-20001,-73831
-20027,-73883
-20049,-74053
-20069,-74069
-20085,-74135
-20099,-74193
-20132,-74250
-20152,-74433
-20172,-74444
-20191,-74517
-20206,-74584
-20234,-74641
-20256,-74814
-20274,-74826
-20296,-74900
-20313,-74979
-20335,-75114
-20352,-75191
-20375,-75250
-20394,-75336
-20413,-75342
-20440,-75504
-20460,-75581
-20482,-75593
-20499,-75676
-20521,-75740
-20540,-75881
-20561,-75956
-20583,-76031
-20602,-76049
-20624,-76119
-20646,-76198
-20673,-76308
-20695,-76379
-20719,-76524
-20738,-76612
-20760,-76620
-20775,-76702
-20793,-76757
-20814,-76827
-20835,-76903
-20858,-77049
-20880,-77071
-20900,-77147
-20912,-77221
-20933,-77275
-20955,-77350
-20975,-77498
-20997,-77567
-21030,-77602
-21064,-77802
-21084,-77847
-21103,-77909
-21121,-77980
-21141,-78050
-21159,-78119
-21176,-78253
-21200,-78323
-21219,-78406
-21235,-78409
-21248,-78532
-21270,-78580
-21299,-78606
-21322,-78781
-21336,-78800
-21354,-78912
-21369,-78984
-21385,-79035
-21400,-79102
-21419,-79164
-21433,-79224
-21459,-79273
-21478,-79314
-21492,-79383
-21509,-79436
-21526,-79499
-21546,-79565
-21566,-79639
-21586,-79718
-21601,-79855
-21623,-79841
-21641,-79987
-21670,-80019
-21690,-80101
-21711,-80242
-21730,-80316
-21749,-80388
-21771,-80394
-21790,-80473
-21811,-80545
-21830,-80690
-21849,-80760
-21874,-80829
-21900,-80954
-21924,-81022
-21941,-81054
-21968,-81218
-21988,-81283
-22008,-81295
-22032,-81372
-22052,-81519
-22073,-81597
-22087,-81610
-22118,-81731
-22146,-81860
-22168,-81881
-22187,-82026
-22210,-82099
-22258,-82180
-22283,-82370
-22333,-82463
-22355,-82578
-22379,-82729
-22401,-82771
-22418,-82836
-22440,-82899
-22457,-82982
-22472,-83048
-22495,-83112
-22521,-83251
-22542,-83288
-22570,-83362
-22586,-83466
-22607,-83590
-22628,-83609
-22648,-83683
-22667,-83821
-22686,-83891
-22706,-83968
-22726,-83978
-22742,-84049
-22762,-84110
-22778,-84181
-22803,-84244
-22823,-84402
-22844,-84478
-22865,-84494
-22882,-84569
-22896,-84632
-22914,-84684
-22934,-84748
-22951,-84832
-22980,-84891
-23001,-85006
-23024,-85078
-23043,-85227
-23060,-85299
-23083,-85366
-23105,-85446
-23129,-85461
-23164,-85600
-23193,-85747
-23214,-85794
-23233,-85930
-23254,-86001
-23274,-86078
-23288,-86093
-23307,-86210
-23327,-86280
-23344,-86292
-23361,-86356
-23385,-86437
-23402,-86582
-23430,-86635
-23451,-86678
-23468,-86756
-23489,-86820
-23503,-86959
-23516,-86943
-23533,-86995
-23553,-87058
-23569,-87131
-23593,-87193
-23615,-87346
-23634,-87423
-23650,-87434
-23672,-87558
-23691,-87575
-23713,-87644
-23738,-87792
-23760,-87822
-23783,-87902
-23805,-88053
-23818,-88132
-23838,-88183
-23851,-88259
-23871,-88313
-23887,-88382
-23900,-88437
-23918,-88423
-23938,-88561
-23959,-88637
-23987,-88649
-24008,-88817
-24032,-88890
-24055,-88928
-24075,-89066
-24088,-89138
-24105,-89123
-24127,-89257
-24150,-89336
-24177,-89353
-24201,-89532
-24224,-89548
-24241,-89632
-24264,-89696
-24280,-89847
-24300,-89910
-24321,-89982
-24343,-89993
-24364,-90076
-24396,-90226
-24413,-90269
-24430,-90333
-24449,-90393
-24470,-90537
-24489,-90617
-24505,-90674
-24519,-90738
-24536,-90728
-24556,-90791
-24580,-90932
-24611,-90957
-24636,-91143
-24658,-91162
-24678,-91307
-24699,-91378
-24721,-91458
-24737,-91477
-24758,-91536
-24777,-91614
-24801,-91754
-24825,-91846
-24846,-91866
-24864,-92013
-24880,-92073
-24899,-92071
-24917,-92206
-24941,-92279
-24963,-92301
-24982,-92381
-25006,-92453
-25028,-92613
-25045,-92625
-25066,-92686
-25084,-92771
-25101,-92828
-25122,-92893
-25141,-93033
-25160,-93105
-25179,-93174
-25199,-93245
-25223,-93263
-25258,-93438
-25278,-93478
-25299,-93620
-25326,-93694
-25350,-93802
-25373,-93889
-25395,-93903
-25417,-94059
-25439,-94137
-25470,-94182
-25483,-94326
-25500,-94380
-25517,-94446
-25539,-94516
-25553,-94585
-25566,-94633
-25582,-94619
-25595,-94680
-25618,-94730
-25640,-94817
-25660,-94962
-25678,-95036
-25697,-95104
-25716,-95173
-25735,-95177
-25754,-95247
-25770,-95326
-25786,-95388
-25803,-95442
-25823,-95507
-25851,-95577
-25869,-95693
-25892,-95755
-25913,-95839
-25933,-95986
-25954,-96065
-25974,-96078
-25993,-96143
-26007,-96217
-26036,-96274
-26056,-96449
-26070,-96517
-26088,-96570
-26109,-96635
-26132,-96654
-26163,-96736
-26185,-96847
-26207,-96933
-26233,-97084
-26256,-97116
-26277,-97261
-26296,-97345
-26311,-97416
-26329,-97471
-26341,-97534
-26358,-97585
-26376,-97651
-26392,-97712
-26411,-97775
-26440,-97846
-26461,-97892
-26480,-98033
-26501,-98112
-26525,-98124
-26549,-98212
-26586,-98329
-26603,-98446
-26619,-98558
-26635,-98619
-26656,-98679
-26681,-98759
-26704,-98792
-26724,-98944
-26747,-98955
-26770,-99039
-26785,-99191
-26801,-99245
-26820,-99307
-26837,-99389
-26866,-99447
-26890,-99493
-26910,-99638
-26927,-99712
-26949,-99780
-26983,-99800
-27010,-99941
-27026,-100094
-27055,-100148
-27083,-100198
-27101,-100358
-27123,-100369
-27139,-100441
-27155,-100500
-27176,-100567
-27190,-100643
-27208,-100697
-27232,-100768
-27252,-100913
-27273,-100994
-27287,-101005
-27309,-101117
-27324,-101137
-27346,-101207
-27368,-101283
-27391,-101428
-27407,-101505
-27421,-101571
-27440,-101623
-27459,-101641
-27478,-101712
-27499,-101774
-27526,-101849
-27541,-102017
-27560,-102067
-27579,-102144
-27593,-102206
-27606,-102258
-27622,-102245
-27648,-102393
-27661,-102463
-27674,-102511
-27693,-102497
-27723,-102642
-27740,-102681
-27759,-102740
-27778,-102812
-27798,-102887
-27814,-103025
-27833,-103016
-27852,-103155
-27873,-103228
-27889,-103243
-27909,-103366
-27929,-103375
-27959,-103450
-27981,-103566
-28000,-103650
-28023,-103789
-28037,-103865
-28057,-103927
-28076,-103993
-28096,-104062
-28116,-104136
-28137,-104144
-28166,-104227
-28189,-104334
-28207,-104422
-28230,-104487
-28260,-104637
-28276,-104752
-28303,-104827
-28325,-104848
-28339,-104926
-28368,-104978
-28384,-105154
-28407,-105215
-28429,-105238
-28447,-105317
-28468,-105374
-28490,-105524
-28511,-105548
-28532,-105617
-28551,-105691
-28582,-105843
-28602,-105885
-28624,-105958
-28639,-106093
-28654,-106153
-28676,-106148
-28698,-106294
-28720,-106372
-28742,-106389
-28762,-106542
-28784,-106612
-28801,-106690
-28834,-106760
-28856,-106883
-28876,-106900
-28894,-107049
-28914,-107042
-28931,-107182
-28949,-107245
-28968,-107309
-28987,-107378
-29008,-107448
-29036,-107466
-29062,-107645
-29084,-107663
-29106,-107742
-29129,-107895
-29150,-107975
-29173,-108080
-29195,-108138
-29221,-108226
-29243,-108255
-29262,-108397
-29276,-108473
-29296,-108522
-29323,-108560
-29346,-108715
-29379,-108786
-29394,-108913
-29415,-108969
-29434,-109041
-29461,-109116
-29478,-109151
-29501,-109218
-29525,-109370
-29546,-109388
-29564,-109472
-29584,-109534
-29604,-109607
-29625,-109740
-29641,-109821
-29657,-109891
-29685,-109942
-29705,-109980
-29724,-110052
-29747,-110193
-29770,-110277
-29789,-110297
-29811,-110368
-29834,-110519
-29856,-110537
-29876,-110614
-29899,-110762
-29925,-110813
-29939,-110875
-29954,-110930
-29971,-111046
-29988,-111112
-30007,-111124
-30021,-111182
-30035,-111297
-30065,-111352
-30091,-111468
-30109,-111560
-30131,-111623
-30145,-111642
-30160,-111691
-30179,-111816
-30202,-111827
-30223,-111907
-30245,-112050
-30266,-112133
-30286,-112154
-30304,-112220
-30332,-112288
-30355,-112411
-30369,-112486
-30389,-112537
-30402,-112608
-30418,-112655
-30434,-112717
-30449,-112778
-30467,-112904
-30480,-112960
-30502,-113018
-30531,-113035
-30554,-113213
-30574,-113228
-30593,-113301
-30612,-113374
-30631,-113442
-30654,-113580
-30682,-113661
-30704,-113771
-30723,-113850
-30748,-113867
-30762,-113953
-30789,-114009
-30814,-114179
-30836,-114199
-30857,-114348
-30871,-114425
-30890,-114479
-30909,-114551
-30931,-114618
-30952,-114639
-30969,-114717
-30990,-114784
-31005,-114922
-31025,-114911
-31050,-115059
-31073,-115144
-31095,-115160
-31114,-115311
-31149,-115366
-31167,-115512
-31193,-115582
-31207,-115617
-31221,-115670
-31244,-115721
-31288,-115805
-31311,-116036
-31331,-116058
-31354,-116131
-31386,-116264
-31410,-116405
-31433,-116425
-31459,-116511
-31481,-116672
-31521,-116700
-31547,-116917
-31567,-116940
-31587,-117015
-31615,-117084
-31634,-117252
-31652,-117261
-31674,-117329
-31689,-117409
-31708,-117464
-31730,-117611
-31746,-117682
-31768,-117742
-31788,-117825
-31805,-117835
-31825,-117900
-31853,-117979
-31873,-118147
-31892,-118171
-31909,-118229
-31923,-118289
-31937,-118405
-31954,-118456
-31976,-118520
-32004,-118537
-32020,-118714
-32033,-118766
-32056,-118753
-32076,-118903
-32096,-118977
-32119,-118992
-32137,-119066
-32159,-119134
-32197,-119261
-32219,-119428
-32238,-119441
-32255,-119514
-32271,-119578
-32289,-119635
-32305,-119700
-32323,-119764
-32338,-119836
-32353,-119886
-32367,-119947
-32381,-120062
-32412,-120135
-32447,-120253
-32469,-120361
-32488,-120442
-32510,-120514
-32524,-120531
-32546,-120648
-32566,-120661
-32581,-120742
-32594,-120791
-32607,-120903
-32639,-120956
-32662,-121074
-32684,-121153
-32707,-121176
-32729,-121326
-32750,-121416
-32773,-121422
-32795,-121508
-32820,-121663
-32844,-121682
-32864,-121836
-32881,-121911
-32896,-121980
-32910,-122031
-32927,-122018
-32948,-122159
-32962,-122224
-32979,-122282
-32994,-122280
-33015,-122336
-33040,-122407
-33077,-122520
-33099,-122639
-33118,-122714
-33134,-122785
-33150,-122847
-33163,-122907
-33182,-122954
-33204,-123027
-33224,-123108
-33251,-123246
-33275,-123289
-33294,-123435
-33318,-123522
-33335,-123536
-33357,-123607
-33378,-123680
-33400,-123825
-33417,-123908
-33438,-123921
-33467,-123977
-33490,-124154
-33511,-124178
-33531,-124253
-33547,-124326
-33563,-124390
-33586,-124443
-33607,-124596
-33626,-124676
-33648,-124740
-33677,-124761
-33699,-124934
-33712,-124951
-33726,-125064
-33743,-125115
-33766,-125180
-33790,-125207
-33813,-125360
-33838,-125448
-33864,-125545
-33890,-125632
-33912,-125666
-33934,-125812
-33960,-125891
-33975,-125927
-33992,-125982
-34011,-126044
-34027,-126114
-34042,-126178
-34063,-126235
-34089,-126306
-34109,-126465
-34131,-126482
-34144,-126559
-34168,-126613
-34188,-126761
-34206,-126833
-34226,-126905
-34246,-126978
-34277,-127046
-34306,-127172
-34328,-127280
-34348,-127359
-34368,-127371
-34391,-127449
-34411,-127597
-34431,-127673
-34453,-127740
-34473,-127775
-34496,-127839
-34515,-127987
-34541,-128059
-34566,-128093
-34590,-128256
-34608,-128269
-34632,-128342
-34653,-128492
-34674,-128569
-34695,-128646
-34717,-128661
-34748,-128816
-34769,-128866
-34783,-129005
-34803,-128988
-34819,-129131
-34843,-129204
-34870,-129232
-34891,-129320
-34912,-129463
-34927,-129482
-34955,-129599
-34977,-129710
-34995,-129788
-35011,-129852
-35028,-129913
-35046,-129975
-35065,-130038
-35085,-130115
-35098,-130124
-35114,-130247
-35131,-130298
-35155,-130364
-35197,-130489
-35214,-130608
-35234,-130669
-35250,-130745
-35272,-130806
-35292,-130888
-35306,-130899
-35321,-130954
-35337,-131070
-35368,-131140
-35391,-131252
-35411,-131335
-35426,-131348
-35442,-131406
-35465,-131527
-35479,-131542
-35493,-131594
-35519,-131685
-35545,-131751
-35565,-131854
-35579,-131919
-35593,-132035
-35608,-132085
-35636,-132165
-35656,-132185
-35677,-132262
-35699,-132410
-35722,-132487
-35741,-132504
-35760,-132572
-35788,-132736
-35805,-132758
-35823,-132821
-35839,-132882
-35862,-132947
-35883,-133102
-35903,-133178
-35925,-133248
-35946,-133268
-35961,-133348
-35979,-133415
-36006,-133467
-36026,-133577
-36047,-133644
-36071,-133727
-36098,-133894
-36116,-133913
-36133,-133978
-36153,-134041
-36181,-134112
-36204,-134220
-36226,-134303
-36245,-134453
-36268,-134524
-36287,-134541
-36305,-134611
-36326,-134684
-36360,-134760
-36384,-134958
-36411,-135044
-36429,-135156
-36443,-135143
-36461,-135193
-36482,-135265
-36498,-135416
-36516,-135468
-36544,-135550
-36563,-135570
-36585,-135645
-36607,-135790
-36629,-135865
-36657,-135883
-36682,-136058
-36703,-136087
-36726,-136160
-36746,-136314
-36768,-136389
-36788,-136407
-36806,-136475
-36821,-136544
-36846,-136602
-36866,-136765
-36886,-136840
-36905,-136845
-36921,-136914
-36941,-136980
-36958,-137055
-36980,-137114
-37003,-137264
-37022,-137349
-37048,-137357
-37070,-137515
-37089,-141224
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs
deleted file mode 100644
index 9be6f1ec6..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-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 last_14bit_position;
-Int32 position_32bit=0;
-const Int32 DrierLoadingArm_Motor = 5;
-public void OnExecute(StubManager stubManager)
-{
- string FileName="test.csv";
- var stopwatch = new Stopwatch();
- stopwatch.Start();
-
- long elapsed_time = stopwatch.ElapsedMilliseconds;
-
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
-
- stubManager.WriteToFile(FileName,DateTime.Now +" " );
-//stubManager.AppendToFile("test.csv",elapsed_time+ ","+ position_32bit );
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- elapsed_time = stopwatch.ElapsedMilliseconds;
- stubManager.AppendToFile(FileName,elapsed_time+ ","+ position_32bit );
- while (true)
- {
- ReadEncoder_Dryer();
- elapsed_time = stopwatch.ElapsedMilliseconds;
-stubManager.AppendToFile(FileName,elapsed_time+ ","+ position_32bit );
- Thread.Sleep(1);
- }
-
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv
deleted file mode 100644
index ed306d345..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test1.csv
+++ /dev/null
@@ -1,345 +0,0 @@
-24/05/2020 14:15:24
-0,0
-0,-8
-0,27
-0,32
-0,34
-0,-18
-0,32
-0,36
-0,-20
-0,30
-0,41
-0,35
-0,36
-0,41
-0,36
-0,36
-0,-21
-0,31
-0,-21
-0,30
-0,-21
-0,31
-0,-20
-0,31
-0,-20
-0,31
-0,-21
-0,35
-0,38
-0,30
-0,-21
-0,30
-0,-20
-0,30
-0,-21
-0,31
-0,38
-0,31
-0,-20
-0,30
-0,-20
-0,31
-0,-21
-0,31
-0,-21
-0,30
-0,-22
-0,37
-0,36
-0,38
-0,39
-0,33
-0,-22
-0,30
-0,-21
-0,30
-0,-21
-0,30
-0,-20
-0,31
-0,41
-0,34
-0,40
-0,37
-0,30
-0,-22
-0,34
-0,41
-0,35
-0,37
-0,39
-0,37
-0,40
-0,33
-0,38
-0,33
-0,-20
-0,36
-0,37
-0,39
-0,39
-0,38
-0,37
-0,39
-0,35
-0,36
-0,-21
-0,38
-0,40
-0,32
-0,-22
-0,33
-0,41
-0,31
-0,-22
-0,36
-0,35
-0,32
-0,-17
-0,-22
-0,7
-0,43
-0,122
-0,287
-0,302
-0,374
-0,452
-0,582
-0,725
-0,779
-0,803
-0,799
-0,716
-0,557
-0,454
-0,473
-0,381
-0,349
-0,216
-0,66
-0,96
-0,-62
-0,-157
-0,-231
-0,-327
-0,-310
-0,-463
-0,-542
-0,-600
-0,-712
-0,-789
-0,-807
-0,-957
-0,-1015
-0,-1013
-0,-1172
-0,-1175
-0,-1269
-0,-1400
-0,-1434
-0,-1496
-0,-1573
-0,-1683
-0,-1750
-0,-1781
-0,-1914
-0,-1998
-0,-2131
-0,-2150
-0,-2225
-0,-2269
-0,-2328
-0,-2420
-0,-2553
-0,-2626
-0,-2692
-0,-2768
-0,-2888
-0,-2963
-0,-2969
-0,-3054
-0,-3215
-0,-3229
-0,-3304
-0,-3448
-0,-3526
-0,-3605
-0,-3709
-0,-3780
-0,-3806
-0,-3865
-0,-3984
-0,-3992
-0,-4074
-0,-4222
-0,-4204
-0,-4269
-0,-4407
-0,-4445
-0,-4512
-0,-4586
-0,-4728
-0,-4814
-0,-4875
-0,-4890
-0,-4967
-0,-5038
-0,-5109
-0,-5216
-0,-5297
-0,-5447
-0,-5496
-0,-5566
-0,-5637
-0,-5718
-0,-5724
-0,-5806
-0,-5962
-0,-6037
-0,-6145
-0,-6222
-0,-6235
-0,-6320
-0,-6467
-0,-6490
-0,-6576
-0,-6636
-0,-6784
-0,-7020
-0,-7175
-0,-7206
-0,-7271
-0,-7334
-0,-7405
-0,-7465
-0,-7611
-0,-7684
-0,-7726
-0,-7882
-0,-7909
-0,-7984
-0,-8052
-0,-8183
-0,-8249
-0,-8333
-0,-8383
-0,-8461
-0,-8488
-0,-8553
-0,-8625
-0,-8693
-0,-8831
-0,-8904
-0,-8920
-0,-8998
-0,-9109
-0,-9167
-0,-9195
-0,-9360
-0,-9374
-0,-9433
-0,-9517
-0,-9657
-0,-9721
-0,-9718
-0,-9862
-0,-9934
-0,-9946
-0,-10025
-0,-10191
-0,-10262
-0,-10325
-0,-10379
-0,-10438
-0,-10490
-0,-10559
-0,-10544
-0,-10687
-0,-10757
-0,-10873
-0,-10953
-0,-11008
-0,-11063
-0,-11062
-0,-11215
-0,-11230
-0,-11303
-0,-11378
-0,-11523
-0,-11560
-0,-11706
-0,-11794
-0,-11816
-0,-11868
-0,-11990
-0,-11991
-0,-12065
-0,-12136
-0,-12189
-0,-12350
-0,-12376
-0,-12459
-0,-12527
-0,-12595
-0,-12658
-0,-12798
-0,-12790
-0,-12925
-0,-12999
-0,-13076
-0,-13100
-0,-13259
-0,-13277
-0,-13358
-0,-13505
-0,-13586
-0,-13654
-0,-13676
-0,-13739
-0,-13806
-0,-13958
-0,-14016
-0,-14049
-0,-14118
-0,-14187
-0,-14244
-0,-14297
-0,-14365
-0,-14453
-0,-14595
-0,-14618
-0,-14698
-0,-14754
-0,-14837
-0,-14973
-0,-15045
-0,-15116
-0,-15187
-0,-15235
-0,-15287
-0,-15353
-0,-15386
-0,-15499
-0,-15565
-0,-15616
-0,-15701
-0,-15764
-0,-15787
-0,-15856
-0,-15994
-0,-16074
-0,-16097
-0,-16271
-0,-16340
-0,-16359
-0,-16504
-0,-16502
-0,-16565
-0,-16617
-0,-16692
-0,-16830
-0,-16905
-0,-16944
-0,-17014
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv
deleted file mode 100644
index 756c780f4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test12.csv
+++ /dev/null
@@ -1,283 +0,0 @@
-24/05/2020 14:47:25
-41,0
-63,7
-77,-31
-91,-29
-117,18
-131,-77
-162,-86
-175,-131
-195,-105
-212,-219
-226,-189
-244,-283
-265,-341
-286,-357
-300,-430
-323,-543
-345,-561
-366,-712
-386,-795
-403,-803
-425,-926
-459,-944
-480,-1076
-502,-1145
-524,-1289
-544,-1319
-563,-1389
-585,-1458
-605,-1537
-627,-1681
-649,-1703
-672,-1781
-695,-1925
-723,-2014
-744,-2124
-764,-2190
-789,-2274
-809,-2306
-824,-2441
-841,-2430
-864,-2490
-882,-2636
-904,-2711
-927,-2732
-949,-2809
-973,-2960
-996,-2980
-1010,-3068
-1024,-3117
-1047,-3232
-1071,-3260
-1090,-3409
-1109,-3476
-1131,-3545
-1150,-3563
-1166,-3636
-1180,-3699
-1196,-3749
-1219,-3872
-1243,-3902
-1266,-4051
-1280,-4071
-1293,-4181
-1315,-4230
-1339,-4322
-1356,-4343
-1375,-4400
-1395,-4474
-1412,-4618
-1432,-4683
-1457,-4765
-1486,-4784
-1510,-4961
-1524,-4984
-1547,-5035
-1560,-5115
-1580,-5168
-1597,-5246
-1612,-5312
-1633,-5361
-1653,-5440
-1672,-5577
-1685,-5649
-1709,-5634
-1728,-5788
-1744,-5855
-1758,-5919
-1777,-5969
-1792,-6041
-1808,-6100
-1831,-6160
-1847,-6179
-1866,-6304
-1885,-6312
-1904,-6381
-1930,-6451
-1953,-6620
-1972,-6637
-1994,-6707
-2010,-6851
-2032,-6849
-2054,-6997
-2073,-7014
-2091,-7083
-2121,-7159
-2143,-7267
-2165,-7345
-2181,-7424
-2195,-7556
-2209,-7547
-2229,-7607
-2245,-7669
-2262,-7732
-2276,-7795
-2296,-7847
-2310,-7924
-2329,-7971
-2355,-8048
-2376,-8209
-2398,-8285
-2411,-8299
-2434,-8415
-2457,-8435
-2479,-8582
-2501,-8612
-2519,-8690
-2539,-8753
-2557,-8824
-2576,-8891
-2607,-9028
-2629,-9082
-2645,-9227
-2659,-9290
-2681,-9279
-2698,-9424
-2720,-9487
-2741,-9509
-2761,-9583
-2796,-9738
-2815,-9793
-2834,-9858
-2859,-9996
-2876,-10039
-2890,-10089
-2909,-10148
-2923,-10212
-2945,-10330
-2963,-10344
-2979,-10411
-2994,-10476
-3015,-10533
-3046,-10612
-3069,-10727
-3082,-10804
-3107,-10853
-3122,-10945
-3137,-11001
-3152,-11056
-3170,-11120
-3189,-11187
-3208,-11256
-3229,-11327
-3248,-11473
-3266,-11536
-3283,-11607
-3296,-11664
-3319,-11648
-3341,-11799
-3354,-11817
-3374,-11932
-3390,-12002
-3405,-12061
-3427,-12121
-3440,-12139
-3458,-12251
-3473,-12260
-3490,-12374
-3512,-12438
-3546,-12457
-3565,-12580
-3588,-12657
-3611,-12809
-3631,-12894
-3653,-12902
-3677,-12986
-3696,-13139
-3716,-13210
-3739,-13225
-3757,-13306
-3777,-13372
-3807,-13512
-3830,-13560
-3847,-13707
-3863,-13771
-3885,-13831
-3908,-13917
-3924,-13944
-3947,-13997
-3967,-14147
-4025,-14263
-4060,-14374
-4083,-14502
-4106,-14586
-4129,-14735
-4143,-14759
-4162,-14875
-4180,-14945
-4199,-15010
-4222,-15017
-4240,-15175
-4258,-15243
-4278,-15305
-4292,-15377
-4318,-15431
-4342,-15476
-4361,-15622
-4380,-15690
-4395,-15758
-4410,-15817
-4427,-15808
-4443,-15863
-4462,-15925
-4476,-15996
-4496,-16050
-4513,-16126
-4534,-16187
-4568,-16345
-4587,-16454
-4603,-16526
-4619,-16582
-4641,-16645
-4663,-16728
-4676,-16740
-4689,-16854
-4702,-16901
-4720,-16884
-4734,-16954
-4753,-17004
-4774,-17075
-4795,-17230
-4812,-17304
-4828,-17365
-4842,-17425
-4863,-17481
-4877,-17556
-4891,-17608
-4911,-17594
-4926,-17738
-4946,-17724
-4973,-17877
-4996,-17905
-5020,-17982
-5043,-18144
-5063,-18160
-5078,-18236
-5097,-18286
-5110,-18359
-5126,-18407
-5146,-18474
-5161,-18539
-5174,-18658
-5192,-18708
-5205,-18773
-5220,-18823
-5249,-18813
-5270,-18926
-5287,-19001
-5303,-19069
-5324,-19129
-5344,-19202
-5360,-19341
-5383,-19409
-5401,-19431
-5415,-19493
-5430,-19607
-5443,-19660
-5464,-19716
-5554,-20053
-5575,-20128
-5592,-20147
-5612,-20199
-5631,-20274
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv
deleted file mode 100644
index 7344cf879..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test13.csv
+++ /dev/null
@@ -1,290 +0,0 @@
-24/05/2020 14:47:49
-41,0
-56,0
-71,0
-90,-1
-104,-9
-122,-19
-155,-104
-176,-162
-197,-137
-216,-184
-235,-295
-257,-352
-279,-425
-300,-496
-321,-510
-342,-592
-356,-736
-371,-722
-387,-772
-405,-829
-426,-907
-445,-1049
-476,-1115
-497,-1171
-516,-1318
-534,-1335
-555,-1450
-576,-1462
-594,-1542
-613,-1609
-627,-1680
-645,-1727
-666,-1795
-689,-1944
-710,-2032
-738,-2045
-758,-2209
-779,-2291
-797,-2301
-811,-2367
-827,-2478
-843,-2537
-859,-2598
-874,-2660
-893,-2721
-914,-2789
-934,-2866
-956,-2879
-982,-2962
-999,-3121
-1019,-3185
-1039,-3194
-1057,-3274
-1082,-3420
-1102,-3494
-1122,-3567
-1136,-3578
-1149,-3690
-1164,-3743
-1178,-3797
-1199,-3790
-1228,-3950
-1249,-3977
-1267,-4119
-1289,-4183
-1306,-4263
-1329,-4332
-1350,-4351
-1363,-4425
-1400,-4481
-1422,-4620
-1436,-4764
-1450,-4750
-1475,-4805
-1491,-4961
-1508,-5022
-1525,-5084
-1543,-5150
-1569,-5234
-1585,-5243
-1605,-5304
-1622,-5379
-1639,-5441
-1659,-5502
-1681,-5581
-1701,-5726
-1729,-5801
-1743,-5838
-1778,-5901
-1802,-6033
-1817,-6174
-1839,-6236
-1853,-6310
-1867,-6364
-1881,-6353
-1897,-6406
-1912,-6467
-1930,-6519
-1953,-6589
-1975,-6741
-1995,-6823
-2014,-6847
-2030,-6906
-2052,-6966
-2065,-7038
-2085,-7155
-2104,-7159
-2117,-7229
-2131,-7346
-2147,-7395
-2174,-7456
-2211,-7505
-2232,-7630
-2247,-7777
-2263,-7763
-2282,-7824
-2305,-7959
-2320,-8049
-2333,-8098
-2350,-8149
-2367,-8216
-2385,-8211
-2407,-8342
-2432,-8429
-2453,-8453
-2470,-8596
-2493,-8661
-2513,-8747
-2532,-8815
-2552,-8873
-2574,-8924
-2590,-8913
-2605,-8955
-2627,-9053
-2647,-9020
-2675,-9031
-2698,-9022
-2719,-9025
-2734,-9025
-2752,-9025
-2768,-9025
-2782,-9025
-2802,-9025
-2821,-9025
-2843,-9025
-2863,-9025
-2881,-9025
-2904,-9025
-2931,-9025
-2948,-9025
-2967,-9025
-2982,-9025
-2997,-9025
-3021,-9025
-3057,-9025
-3080,-9025
-3102,-9025
-3117,-9025
-3133,-9025
-3150,-9025
-3178,-9025
-3203,-9025
-3217,-9025
-3231,-9025
-3249,-9025
-3265,-9025
-3285,-9025
-3300,-9025
-3319,-9025
-3336,-9025
-3350,-9025
-3370,-9025
-3385,-9025
-3411,-9025
-3433,-9025
-3449,-9025
-3464,-9025
-3478,-9025
-3498,-9025
-3518,-9025
-3532,-9025
-3552,-9025
-3567,-9025
-3585,-9025
-3604,-9025
-3633,-9025
-3654,-9025
-3676,-9025
-3697,-9025
-3718,-9025
-3737,-9025
-3757,-9025
-3773,-9025
-3786,-9025
-3806,-9025
-3821,-9025
-3835,-9025
-3853,-9025
-3880,-9025
-3902,-9025
-3920,-9025
-3938,-9025
-3952,-9025
-3966,-9025
-3986,-9025
-4007,-9025
-4027,-9025
-4047,-9025
-4061,-9025
-4082,-9025
-4106,-9025
-4134,-9025
-4148,-9025
-4164,-9025
-4177,-9025
-4194,-9025
-4207,-9025
-4220,-9025
-4232,-9025
-4248,-9025
-4269,-9025
-4288,-9025
-4308,-9025
-4324,-9025
-4352,-9025
-4374,-9025
-4388,-9025
-4411,-9025
-4427,-9025
-4444,-9025
-4463,-9025
-4478,-9025
-4499,-9025
-4521,-9025
-4541,-9025
-4559,-9025
-4572,-9025
-4602,-9025
-4624,-9025
-4640,-9025
-4653,-9025
-4670,-9025
-4684,-9025
-4702,-9025
-4720,-9025
-4733,-9025
-4748,-9025
-4766,-9025
-4780,-9025
-4803,-9025
-4822,-9025
-4837,-9025
-4860,-9025
-4883,-9025
-4906,-9025
-4920,-9025
-4933,-9025
-4956,-9025
-4973,-9025
-4993,-9025
-5013,-9025
-5030,-9025
-5062,-9025
-5085,-9025
-5104,-9025
-5126,-9025
-5140,-9025
-5156,-9025
-5172,-9025
-5189,-9025
-5205,-9025
-5225,-9025
-5245,-9025
-5263,-9025
-5280,-9025
-5310,-9025
-5323,-9025
-5372,-9025
-5401,-9025
-5421,-9025
-5435,-9025
-5450,-9025
-5467,-9025
-5489,-9025
-5513,-9025
-5533,-9025
-5554,-9025
-5584,-9025
-5605,-9025
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv
deleted file mode 100644
index 82a9b98c3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test14.csv
+++ /dev/null
@@ -1,224 +0,0 @@
-24/05/2020 14:48:02
-40,0
-59,0
-80,0
-116,-3
-138,-99
-159,-72
-180,-172
-203,-146
-224,-203
-243,-262
-264,-315
-282,-379
-301,-438
-324,-525
-346,-674
-364,-752
-393,-814
-415,-929
-434,-948
-454,-1015
-474,-1086
-496,-1165
-515,-1315
-537,-1381
-558,-1400
-578,-1477
-597,-1553
-618,-1685
-639,-1765
-660,-1840
-680,-1856
-703,-1936
-725,-2078
-751,-2113
-794,-2297
-816,-2356
-836,-2431
-857,-2510
-886,-2660
-907,-2696
-921,-2836
-946,-2907
-967,-2987
-988,-2997
-1010,-3077
-1029,-3223
-1045,-3295
-1064,-3354
-1082,-3423
-1105,-3491
-1127,-3519
-1148,-3601
-1170,-3738
-1184,-3817
-1199,-3868
-1216,-3930
-1232,-3989
-1247,-3983
-1266,-4043
-1282,-4114
-1309,-4244
-1334,-4286
-1348,-4368
-1363,-4416
-1382,-4485
-1400,-4551
-1415,-4621
-1431,-4669
-1450,-4736
-1470,-4804
-1492,-4882
-1518,-5027
-1540,-5060
-1560,-5212
-1579,-5279
-1593,-5352
-1612,-5400
-1633,-5470
-1650,-5548
-1671,-5616
-1691,-5637
-1710,-5702
-1727,-5774
-1755,-5907
-1777,-5950
-1793,-6030
-1814,-6086
-1833,-6231
-1854,-6298
-1868,-6378
-1887,-6426
-1908,-6454
-1931,-6526
-1949,-6600
-1985,-6758
-2007,-6873
-2026,-6957
-2046,-7021
-2066,-7031
-2082,-7104
-2095,-7165
-2115,-7280
-2132,-7285
-2149,-7354
-2164,-7414
-2182,-7538
-2212,-7542
-2231,-7725
-2250,-7787
-2266,-7796
-2284,-7915
-2304,-7929
-2326,-8015
-2348,-8148
-2372,-8233
-2392,-8259
-2411,-8326
-2439,-8391
-2462,-8507
-2485,-8587
-2498,-8649
-2519,-8751
-2538,-8801
-2551,-8781
-2564,-8872
-2585,-8835
-2599,-8925
-2625,-8929
-2647,-8919
-2667,-8921
-2687,-8921
-2702,-8921
-2724,-8921
-2745,-8921
-2763,-8921
-2785,-8921
-2806,-8921
-2819,-8921
-2842,-8921
-2865,-8921
-2887,-8921
-2908,-8921
-2922,-8921
-2935,-8921
-2956,-8921
-2977,-8921
-3004,-8921
-3029,-8921
-3046,-8921
-3063,-8921
-3092,-8921
-3107,-8921
-3124,-8921
-3140,-8921
-3159,-8921
-3180,-8921
-3201,-8921
-3222,-8921
-3241,-8921
-3261,-8921
-3281,-8921
-3307,-8921
-3330,-8921
-3348,-8921
-3366,-8921
-3381,-8921
-3399,-8921
-3418,-8921
-3433,-8921
-3455,-8921
-3474,-8921
-3493,-8921
-3515,-8921
-3543,-8921
-3565,-8921
-3587,-8921
-3607,-8921
-3620,-8922
-3634,-8922
-3647,-8922
-3666,-8922
-3684,-8922
-3704,-8922
-3717,-8922
-3735,-8922
-3764,-8922
-3785,-8922
-3805,-8922
-3826,-8922
-3845,-8922
-3861,-8922
-3879,-8922
-3896,-8922
-3911,-8922
-3928,-8922
-3945,-8922
-3966,-8922
-3997,-8922
-4021,-8922
-4041,-8922
-4062,-8922
-4080,-8922
-4099,-8921
-4115,-8921
-4135,-8921
-4156,-8921
-4177,-8921
-4199,-8921
-4226,-8921
-4249,-8921
-4273,-8921
-4286,-8921
-4301,-8921
-4317,-8921
-4338,-8921
-4360,-8921
-4381,-8921
-4405,-8921
-4428,-8921
-4448,-8921
-4477,-8921
-4497,-8921
-4521,-8921
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv
deleted file mode 100644
index 7099494c8..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test15.csv
+++ /dev/null
@@ -1,181 +0,0 @@
-24/05/2020 14:48:15
-55,0
-74,0
-88,-1
-102,-5
-123,-18
-146,22
-168,-82
-191,-121
-215,-103
-238,-166
-260,-233
-281,-298
-299,-375
-322,-506
-353,-598
-375,-710
-392,-782
-417,-849
-439,-884
-461,-1026
-477,-1102
-500,-1169
-522,-1195
-545,-1340
-567,-1421
-596,-1449
-619,-1620
-637,-1636
-658,-1698
-678,-1782
-701,-1928
-726,-1951
-746,-2029
-768,-2175
-791,-2201
-813,-2277
-841,-2358
-862,-2468
-883,-2544
-906,-2682
-925,-2766
-939,-2837
-953,-2891
-968,-2943
-984,-2929
-999,-2991
-1019,-3044
-1055,-3205
-1088,-3337
-1112,-3382
-1137,-3482
-1156,-3559
-1181,-3705
-1202,-3784
-1219,-3805
-1235,-3867
-1258,-3929
-1277,-4008
-1291,-4085
-1323,-4135
-1343,-4255
-1359,-4325
-1372,-4386
-1394,-4500
-1415,-4523
-1435,-4597
-1455,-4733
-1475,-4810
-1492,-4887
-1512,-4948
-1531,-4957
-1560,-5027
-1575,-5204
-1591,-5251
-1610,-5310
-1623,-5380
-1638,-5435
-1654,-5422
-1672,-5481
-1694,-5550
-1713,-5696
-1735,-5765
-1762,-5788
-1782,-5951
-1802,-6024
-1821,-6099
-1844,-6108
-1866,-6188
-1886,-6335
-1906,-6410
-1928,-6484
-1944,-6500
-1958,-6563
-1972,-6677
-1996,-6725
-2019,-6756
-2041,-6905
-2061,-6986
-2081,-7062
-2102,-7075
-2126,-7155
-2149,-7303
-2171,-7384
-2193,-7411
-2212,-7554
-2242,-7623
-2261,-7670
-2285,-7825
-2305,-7834
-2327,-7903
-2344,-7989
-2364,-8053
-2383,-8188
-2402,-8258
-2425,-8331
-2447,-8361
-2482,-8435
-2504,-8558
-2529,-8624
-2551,-8694
-2571,-8745
-2593,-8850
-2615,-8822
-2662,-8898
-2684,-8890
-2719,-8890
-2741,-8890
-2761,-8890
-2780,-8891
-2802,-8891
-2822,-8891
-2841,-8891
-2864,-8891
-2878,-8891
-2895,-8891
-2909,-8891
-2935,-8891
-2960,-8891
-2977,-8891
-2993,-8891
-3008,-8891
-3027,-8891
-3044,-8891
-3064,-8891
-3085,-8891
-3104,-8891
-3122,-8891
-3148,-8891
-3172,-8891
-3193,-8891
-3208,-8891
-3222,-8891
-3240,-8891
-3264,-8891
-3282,-8891
-3304,-8891
-3326,-8891
-3343,-8891
-3360,-8891
-3384,-8891
-3407,-8891
-3433,-8891
-3450,-8891
-3470,-8891
-3484,-8891
-3499,-8891
-3513,-8891
-3527,-8891
-3547,-8891
-3569,-8891
-3593,-8891
-3616,-8890
-3629,-8890
-3652,-8890
-3670,-8890
-3691,-8890
-3706,-8890
-3726,-8890
-3744,-8890
-3762,-8890
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv
deleted file mode 100644
index a5743e552..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test16.csv
+++ /dev/null
@@ -1,231 +0,0 @@
-24/05/2020 14:48:26
-44,0
-61,0
-82,0
-102,-5
-123,-17
-136,25
-150,4
-180,-83
-201,-141
-218,-125
-236,-166
-258,-282
-279,-287
-301,-362
-323,-443
-342,-587
-359,-663
-381,-725
-399,-739
-421,-805
-444,-959
-474,-1007
-497,-1159
-513,-1244
-534,-1297
-548,-1371
-562,-1423
-581,-1477
-602,-1553
-622,-1625
-646,-1642
-664,-1719
-691,-1860
-711,-1891
-732,-1967
-752,-2042
-771,-2185
-790,-2261
-809,-2329
-829,-2394
-852,-2408
-886,-2563
-911,-2694
-931,-2718
-960,-2797
-982,-2969
-999,-2982
-1019,-3046
-1041,-3126
-1062,-3274
-1081,-3346
-1101,-3417
-1115,-3430
-1135,-3548
-1149,-3556
-1177,-3676
-1199,-3778
-1220,-3863
-1242,-3878
-1259,-3957
-1276,-4097
-1291,-4091
-1305,-4144
-1328,-4199
-1343,-4283
-1363,-4336
-1388,-4412
-1402,-4569
-1416,-4618
-1430,-4605
-1448,-4663
-1470,-4729
-1492,-4876
-1507,-4896
-1521,-5013
-1552,-5028
-1572,-5116
-1602,-5250
-1619,-5300
-1635,-5361
-1655,-5421
-1670,-5496
-1690,-5554
-1717,-5697
-1743,-5745
-1759,-5901
-1780,-5957
-1802,-6035
-1820,-6054
-1846,-6118
-1869,-6281
-1884,-6303
-1903,-6424
-1924,-6432
-1939,-6509
-1957,-6562
-1970,-6626
-1984,-6744
-2004,-6797
-2018,-6869
-2036,-6921
-2062,-6986
-2084,-7019
-2103,-7100
-2119,-7232
-2140,-7228
-2163,-7373
-2186,-7404
-2207,-7551
-2227,-7626
-2247,-7702
-2268,-7718
-2283,-7794
-2311,-7849
-2331,-8015
-2350,-8087
-2367,-8150
-2386,-8193
-2405,-8177
-2423,-8227
-2436,-8325
-2456,-8288
-2473,-8313
-2487,-8316
-2516,-8310
-2534,-8311
-2550,-8311
-2579,-8311
-2593,-8311
-2615,-8311
-2635,-8311
-2651,-8311
-2674,-8311
-2695,-8311
-2712,-8311
-2739,-8311
-2763,-8311
-2784,-8311
-2806,-8311
-2822,-8311
-2838,-8311
-2859,-8311
-2876,-8311
-2891,-8311
-2908,-8311
-2922,-8311
-2940,-8311
-2964,-8311
-2996,-8311
-3029,-8311
-3043,-8311
-3065,-8311
-3087,-8311
-3101,-8311
-3120,-8311
-3133,-8311
-3149,-8311
-3166,-8311
-3179,-8311
-3195,-8311
-3222,-8311
-3237,-8311
-3256,-8311
-3275,-8311
-3288,-8311
-3301,-8311
-3316,-8311
-3335,-8311
-3348,-8311
-3370,-8311
-3383,-8311
-3404,-8311
-3425,-8311
-3441,-8311
-3457,-8311
-3474,-8311
-3491,-8311
-3505,-8311
-3518,-8311
-3535,-8311
-3549,-8311
-3565,-8311
-3589,-8311
-3617,-8311
-3640,-8311
-3669,-8311
-3688,-8311
-3703,-8311
-3725,-8311
-3739,-8311
-3756,-8311
-3773,-8311
-3793,-8311
-3810,-8311
-3823,-8311
-3851,-8311
-3867,-8311
-3887,-8311
-3908,-8311
-3922,-8311
-3942,-8311
-3963,-8311
-3986,-8311
-4005,-8311
-4027,-8311
-4041,-8311
-4074,-8311
-4097,-8311
-4119,-8311
-4142,-8311
-4159,-8311
-4176,-8311
-4193,-8311
-4206,-8311
-4219,-8311
-4238,-8311
-4252,-8311
-4277,-8311
-4303,-8311
-4321,-8311
-4340,-8311
-4362,-8311
-4382,-8311
-4406,-8311
-4423,-8311
-4438,-8312
-4456,-8312
-4473,-8312
-4490,-8312
-4518,-8312
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv
deleted file mode 100644
index ba03e113f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test2.csv
+++ /dev/null
@@ -1,271 +0,0 @@
-24/05/2020 14:16:54
-0,0
-0,8
-0,80
-0,-7
-0,-34
-0,-163
-0,-239
-0,-342
-0,-385
-0,-457
-0,-479
-0,-630
-0,-672
-0,-752
-0,-856
-0,-1017
-0,-989
-0,-1092
-0,-1160
-0,-1179
-0,-1350
-0,-1424
-0,-1433
-0,-1507
-0,-1580
-0,-1630
-0,-1732
-0,-1717
-0,-1850
-0,-1932
-0,-1995
-0,-2042
-0,-2125
-0,-2151
-0,-2230
-0,-2375
-0,-2439
-0,-2467
-0,-2618
-0,-2700
-0,-2711
-0,-2785
-0,-2906
-0,-2969
-0,-3038
-0,-3121
-0,-3265
-0,-3339
-0,-3412
-0,-3467
-0,-3481
-0,-3545
-0,-3719
-0,-3738
-0,-3802
-0,-3890
-0,-4028
-0,-4107
-0,-4120
-0,-4192
-0,-4277
-0,-4424
-0,-4489
-0,-4522
-0,-4672
-0,-4741
-0,-4795
-0,-4788
-0,-4926
-0,-4987
-0,-5060
-0,-5130
-0,-5204
-0,-5305
-0,-5386
-0,-5458
-0,-5520
-0,-5539
-0,-5617
-0,-5771
-0,-5790
-0,-5873
-0,-6011
-0,-6076
-0,-6119
-0,-6188
-0,-6259
-0,-6407
-0,-6476
-0,-6548
-0,-6611
-0,-6675
-0,-6739
-0,-6749
-0,-6925
-0,-6941
-0,-7023
-0,-7165
-0,-7227
-0,-7298
-0,-7372
-0,-7424
-0,-7498
-0,-7520
-0,-7583
-0,-7751
-0,-7815
-0,-7892
-0,-7902
-0,-7977
-0,-8029
-0,-8146
-0,-8199
-0,-8217
-0,-8340
-0,-8397
-0,-8436
-0,-8578
-0,-8650
-0,-8702
-0,-8776
-0,-8850
-0,-8872
-0,-8931
-0,-9002
-0,-9123
-0,-9194
-0,-9266
-0,-9411
-0,-9491
-0,-9498
-0,-9559
-0,-9719
-0,-9789
-0,-9858
-0,-9881
-0,-9963
-0,-10084
-0,-10233
-0,-10309
-0,-10373
-0,-10438
-0,-10500
-0,-10684
-0,-10769
-0,-10785
-0,-10897
-0,-11015
-0,-10998
-0,-11132
-0,-11206
-0,-11242
-0,-11399
-0,-11466
-0,-11531
-0,-11603
-0,-11608
-0,-11779
-0,-11860
-0,-11925
-0,-11943
-0,-12093
-0,-12163
-0,-12216
-0,-12213
-0,-12348
-0,-12430
-0,-12444
-0,-12511
-0,-12681
-0,-12702
-0,-12784
-0,-12854
-0,-12909
-0,-12980
-0,-13118
-0,-13180
-0,-13261
-0,-13322
-0,-13374
-0,-13411
-0,-13467
-0,-13543
-0,-13619
-0,-13756
-0,-13833
-0,-13848
-0,-13929
-0,-13985
-0,-14039
-0,-14162
-0,-14176
-0,-14351
-0,-14359
-0,-14473
-0,-14522
-0,-14590
-0,-14673
-0,-14741
-0,-14793
-0,-14844
-0,-14829
-0,-14888
-0,-15033
-0,-15076
-0,-15190
-0,-15202
-0,-15273
-0,-15422
-0,-15493
-0,-15572
-0,-15636
-0,-15649
-0,-15732
-0,-15888
-0,-15967
-0,-16038
-0,-16107
-0,-16258
-0,-16281
-0,-16397
-0,-16422
-0,-16501
-0,-16561
-0,-16619
-0,-16678
-0,-16829
-0,-16857
-0,-16933
-0,-16992
-0,-17106
-0,-17157
-0,-17224
-0,-17276
-0,-17349
-0,-17422
-0,-17477
-0,-17545
-0,-17659
-0,-17731
-0,-17802
-0,-17821
-0,-17904
-0,-18048
-0,-18124
-0,-18152
-0,-18230
-0,-18282
-0,-18354
-0,-18511
-0,-18532
-0,-18606
-0,-18752
-0,-18817
-0,-18805
-0,-18954
-0,-19003
-0,-19070
-0,-19096
-0,-19185
-0,-19347
-0,-19369
-0,-19444
-0,-19580
-0,-19566
-0,-19709
-0,-19780
-0,-19853
-0,-19904
-0,-19983
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv
deleted file mode 100644
index 91ae72e87..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test3.csv
+++ /dev/null
@@ -1,127 +0,0 @@
-24/05/2020 14:17:18
-0,0
-0,0
-0,51
-0,-62
-0,-97
-0,-19
-0,-15
-0,-64
-0,-15
-0,-8
-0,-16
-0,-4
-0,-13
-0,-5
-0,-17
-0,-5
-0,-16
-0,-5
-0,-16
-0,-4
-0,-17
-0,-7
-0,-15
-0,-14
-0,-7
-0,-14
-0,-6
-0,-15
-0,-10
-0,-11
-0,-11
-0,-8
-0,-11
-0,-7
-0,-13
-0,-17
-0,-16
-0,-5
-0,-17
-0,-4
-0,-16
-0,-5
-0,-17
-0,-5
-0,-17
-0,-5
-0,-18
-0,-5
-0,-17
-0,-9
-0,-13
-0,-5
-0,-16
-0,-8
-0,-13
-0,-15
-0,-10
-0,-15
-0,-5
-0,-17
-0,-5
-0,-17
-0,-6
-0,-15
-0,-6
-0,-17
-0,-6
-0,-17
-0,-5
-0,-17
-0,-9
-0,-14
-0,-11
-0,-5
-0,-18
-0,-5
-0,-16
-0,-5
-0,-11
-0,-14
-0,-5
-0,-17
-0,-5
-0,-17
-0,-5
-0,-17
-0,-13
-0,-8
-0,-12
-0,-7
-0,-18
-0,-6
-0,-17
-0,-7
-0,-14
-0,-10
-0,-12
-0,-10
-0,-9
-0,-15
-0,-5
-0,-13
-0,-10
-0,-15
-0,-8
-0,-17
-0,-6
-0,-13
-0,-11
-0,-12
-0,-11
-0,-13
-0,-10
-0,-13
-0,-5
-0,-18
-0,-5
-0,-14
-0,-11
-0,-17
-0,-5
-0,-17
-0,-6
-0,-13
-0,-13
-0,-6
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
deleted file mode 100644
index 1977c13a6..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
+++ /dev/null
@@ -1,174 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Printing;
-using Tango.Stubs;
-using Tango.PMR.Stubs;
-
-const string File_Name = @"P:\Scripts\Assemblies\Dryer\Dryer_Tset.CSV"; //3 hour
-
-public void OnExecute(StubManager stubManager)
-{
- int j;
-
- stubManager.WriteToFile(File_Name,DateTime.Now +" " );
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3,true, 2200);
-
- for (int i=0;i<10;i++)
-
- {
- stubManager.WriteLine("--------------------loop number " + i +" ---------------------" );
-
- Blower_190();
- stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5);
- stubManager.WriteLine("Heating to 190 " );
- stubManager.AppendToFile(File_Name,"Heating to 190 " );
-
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
- j=0;
-
- while (j==0)
- {
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
-
- stubManager.WriteLine(response.TemperatureCMultBy100/100);
- stubManager.AppendToFile(File_Name," " + response.TemperatureCMultBy100/100);
- stubManager.Write("\n");
- if (response.TemperatureCMultBy100>(18900)) //18900
- j=1;
- Thread.Sleep(1000);
-
- }
-// stubManager.WriteLine("start motor " );
-
-// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 2200); //rotate Dryer Motor.
-// Thread.Sleep(1000*20);//
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
- Thread.Sleep(1000*60*2);//2 minits
-
-// stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,3,3); //stop motor
-// stubManager.WriteLine("stop motor " );
-
- Blower_0();
- stubManager.WriteLine("cooling down " );
- stubManager.AppendToFile(File_Name,"cooling down " );
- stubManager.AppendToFile(File_Name,DateTime.Now +" ");
-
- j=0;
- while (j==0)
- {
- var response1 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
- stubManager.WriteLine(response1.TemperatureCMultBy100/100);
- stubManager.AppendToFile(File_Name, " " + (response1.TemperatureCMultBy100/100));
-stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5);
- stubManager.Write("\n");
- if (response1.TemperatureCMultBy100<6000)//
- j=1;
- Thread.Sleep(1000);
-
- }
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
-
- }
-
-}
-
-void Blower_190()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 190;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-}
-
-void Blower_0()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 00;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs
deleted file mode 100644
index 3d06c1e79..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater1.cs
+++ /dev/null
@@ -1,186 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Printing;
-using Tango.Stubs;
-using Tango.PMR.Stubs;
-
-//const string File_Name = @"P:\Scripts\Assemblies\Dryer\Dryer_Tset.CSV"; //3 hour
-string File_Name;
-const string Path=@"P:\Operations\Log\Dryer\";
-public void OnExecute(StubManager stubManager)
-{
-
-
- var response8 = stubManager.ShowResponseWindow("Enter Serial number of Dryer ", "");
-
- File_Name =Path +"SN_" + response8 + "DryerHeaterTest_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv" ;
-
- //stubManager.WriteLine(response);
-// stubManager.Write("\n");
-// midtankno = int.Parse(response);
-
-
- int j;
-
- stubManager.WriteToFile(File_Name,DateTime.Now +" " );
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3,true, 2200);
-
- for (int i=0;i<10;i++)
-
- {
- stubManager.WriteLine("--------------------loop number " + i +" ---------------------" );
-
- Blower_190();
- stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5);
- stubManager.WriteLine("Heating to 190 " );
- stubManager.AppendToFile(File_Name,"Heating to 190 " );
-
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
- j=0;
-
- while (j==0)
- {
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
-
- stubManager.WriteLine(response.TemperatureCMultBy100/100);
- stubManager.AppendToFile(File_Name," " + response.TemperatureCMultBy100/100);
- stubManager.Write("\n");
- if (response.TemperatureCMultBy100>(18900)) //18900
- j=1;
- Thread.Sleep(1000);
-
- }
-// stubManager.WriteLine("start motor " );
-
-// stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3, true, 2200); //rotate Dryer Motor.
-// Thread.Sleep(1000*20);//
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
- Thread.Sleep(1000*60*2);//2 minits
-
-// stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,3,3); //stop motor
-// stubManager.WriteLine("stop motor " );
-
- Blower_0();
- stubManager.WriteLine("cooling down " );
- stubManager.AppendToFile(File_Name,"cooling down " );
- stubManager.AppendToFile(File_Name,DateTime.Now +" ");
-
- j=0;
- while (j==0)
- {
- var response1 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,6); //read air temp
- stubManager.WriteLine(response1.TemperatureCMultBy100/100);
- stubManager.AppendToFile(File_Name, " " + (response1.TemperatureCMultBy100/100));
-stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5);
- stubManager.Write("\n");
- if (response1.TemperatureCMultBy100<6000)//
- j=1;
- Thread.Sleep(1000);
-
- }
- stubManager.AppendToFile(File_Name,DateTime.Now +" " );
-
-
- }
-
-}
-
-void Blower_190()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 190;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-}
-
-void Blower_0()
-
- {
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 5;
-processParameters.DryerZone1Temp = 00;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs
deleted file mode 100644
index 92c50a57e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_Test.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-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)
-{
-int Delay_UP=200; //msec
-int Delay_stop=500;
-int Delay_limit=1000;
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
- Thread.Sleep(1000);
- while (true)
- {
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf003); //mov ACTUATOR-IN down up
- Thread.Sleep(Delay_UP);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf008); //stop ACTUATOR-IN
- Thread.Sleep(Delay_stop);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
- Thread.Sleep(Delay_limit);
-
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs
deleted file mode 100644
index dc5d5af07..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-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)
-{
-int Delay_UP=200; //msec
-int Delay_stop=500;
-int Delay_limit=1000;
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
- Thread.Sleep(2000);
-// while (true)
-// {
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf003); //mov ACTUATOR-IN up
- Thread.Sleep(Delay_UP);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf008); //stop ACTUATOR-IN
- Thread.Sleep(Delay_stop);
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
-// Thread.Sleep(Delay_limit);
-
- // }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs
deleted file mode 100644
index 6d71a9ac3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_test.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-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)
-{
- int sleep_up=4000;//2 second
- int sleep_dn=1000;//2 second
- while (true)
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
- Thread.Sleep(sleep_dn);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- Thread.Sleep(sleep_up);
-
- }
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUTdown
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs
deleted file mode 100644
index 2baedf7c2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig.cs
+++ /dev/null
@@ -1,548 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 "Tango_Defines_LimitSwitch.cs"
-
-
-//--------------------------------------------------------------------------------
- const Int32 I2C_ID = 2;
-
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1=@"P:\Scripts\Assemblies\Dye head\DyeHeadLog\";
-string path1="P:\\Scripts\\Assemblies\\Dye head\\DyeHeadLog\\";
-string path2=@"C:\DyeHeadLog";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status = new string[16,2] {
- {"Pt100_Zone_1","Not Test"},
- {"Pt100_Zone_2","Not Test"},
- {"Pt100_Zone_3","Not Test"},
- {"Pt100_Zone_4","Not Test"},
- {"Pt100_Zone_5","Not Test"},
- {"Pt100_Zone_6","Not Test"},
- {"Heater_Zone_1","Not Test"},
- {"Heater_Zone_2","Not Test"},
- {"Heater_Zone_3","Not Test"},
- {"Heater_Zone_4","Not Test"},
- {"Heater_Zone_5","Not Test"},
- {"Heater_Zone_6","Not Test"},
- {"Magnet","Not Test"},
- {"LS_DH_LID_Open","Not Test"},
- {"LS_DH_LID_Close","Not Test"},
- {"DH_LID_Motor","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string DyeHead_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
-
- form1.Text = "DyeHead Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----DyeHead Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" DyeHead S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_DyeHead_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"DyeHead Test Report" );
-stubManager.Write("DyeHead Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
-stubManager.Write("DyeHead S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
-
- DialogResult result = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return ;
- }
- Test_Magnet_Motor_LS_DyeHead();
- Test_heaters_pt100 ();
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- stubManager.Write("Counter is \n");
-
-
- return;
- }
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_DyeHead()
-{
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+0);
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
-
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 250);
- stubManager.Write("\n*** Open Lid Head ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,7);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,23,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- Units_status[15,1]="Fail";
- Units_status[13,1]="Fail";
- stubManager.Write("LS_DH_LID_Open Not calibrate\n");
- return 0;
- }
- Units_status[13,1]="Pass";
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 250);
- i=0;
- while ((Bit != 0x0)&& (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,23,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[14,1]="Fail";
- Units_status[15,1]="Fail";
- stubManager.Write("LS_DH_LID_Close Not calibrate\n");
- return 0;
- }
- Units_status[14,1]="Pass";
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+2);
- DialogResult result3 = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
- Units_status[15,1]="Pass";
-
- return 0;
-}
-
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<16;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- return Stemp;
-}
-//------------------------------------
-int Test_heaters_pt100()
-{
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
-
- stubManager.Write("\nTemp Befor heating \n");
- if (test_pt100()!=0)
- return 0;
-
-//------------Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
- SetBit (FPGA2, F2_CTRL, 3, 1);
- stubManager.Write("Testing SSR no. 8\tHeadZone-1\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- SetBit (FPGA2, F2_CTRL, 3, 0);
- ftemp=Read_pt100(0);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ temp + "\n");
- ftemp = ftemp - DyeHeadTemp[0];
- if ((temp>0x860)|| (temp<0x7e0)||(ftemp<5)||(ftemp>20))
- Units_status[6,1]="Fail";
- else
- Units_status[6,1]="Pass";
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
- ftemp=Read_pt100(1);
- ftemp1 = ftemp - DyeHeadTemp[1];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 4, 1);
- stubManager.Write("Testing SSR no. 7\tHeadZone-2\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- SetBit (FPGA2, F2_CTRL, 4, 0);
- ftemp=Read_pt100(1);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[1];
- if ((temp>0x660)|| (temp<0x600)||(ftemp<5)||(ftemp>20))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
-
- ftemp=Read_pt100(2);
- ftemp1 = ftemp - DyeHeadTemp[2];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 5, 1);
- stubManager.Write("Testing SSR no. 6\tHeadZone-3\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- SetBit (FPGA2, F2_CTRL, 5, 0);
- ftemp=Read_pt100(2);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp +"\n");
- ftemp = ftemp - DyeHeadTemp[2];
- if ((temp>0x660)|| (temp<0x600)||(ftemp<5)||(ftemp>20))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
- ftemp=Read_pt100(3);
- ftemp1 = ftemp - DyeHeadTemp[3];
- if ( ftemp1>4)
- Units_status[9,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 6, 1);
- stubManager.Write("Testing SSR no. 5\tHeadZone-4\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- SetBit (FPGA2, F2_CTRL, 6, 0);
- ftemp=Read_pt100(3);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[3];
- if ((temp>0x1100)|| (temp<0xf90)||(ftemp<5)||(ftemp>20))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
- ftemp=Read_pt100(4);
- ftemp1 = ftemp - DyeHeadTemp[4];
- if ( ftemp1>4)
- Units_status[10,1]="Fail";
- else
- {
- SetBit (FPGA1, F1_gpo_01, 2, 1);
- stubManager.Write("Testing SSR no. 10\tHeadZone-5\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- SetBit (FPGA1, F1_gpo_01, 2, 0);
- ftemp=Read_pt100(4);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[4];
- if ((temp>0xa80)|| (temp<0xa20)||(ftemp<5)||(ftemp>20))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
- ftemp=Read_pt100(5);
- ftemp1 = ftemp - DyeHeadTemp[5];
- if ( ftemp1>4)
- Units_status[11,1]="Fail";
- else
- {
- SetBit (FPGA3, F3_GPO_01_bus, 4, 1);
- stubManager.Write("Testing SSR no. 11\tHeadZone-6\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- SetBit (FPGA3, F3_GPO_01_bus, 4, 0);
- ftemp=Read_pt100(5);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+temp + "\n");
- ftemp = ftemp - DyeHeadTemp[5];
- if ((temp>0x660)|| (temp<0x600)||(ftemp<5)||(ftemp>20))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
- }
- return 0;
-}
-//------------------------------------------------
- int test_pt100()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 6; i++)
- {
- DyeHeadTemp[i]=Read_pt100(i);
- ftemp=DyeHeadTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i,1]="Fail";
- }
- else
- {
- Units_status[i,1]="Pass";
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
-//------------------------------------------------
-float Read_pt100(int i)
-{
- int j= i+1;
- if (i==5)
- j=11;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,j); //
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-//---------------------------
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-int adc_set_for_read_temp(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-int adc_read_temp(uint I2C_Slave_Add)
- {
-
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
-
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- stubManager.WriteLineHex(response1.ReadBytes[i],2);
- }
-
-
- 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(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-uint adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp=0;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
- return temp;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs
deleted file mode 100644
index b3513ac55..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHeadJig1.cs
+++ /dev/null
@@ -1,575 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 "Tango_Defines_LimitSwitch.cs"
-
-
-//--------------------------------------------------------------------------------
- const Int32 I2C_ID = 2;
-
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1=@"P:\Scripts\Assemblies\Dye head\DyeHeadLog\";
-string path1="P:\\Scripts\\Assemblies\\Dye head\\DyeHeadLog\\";
-string path2="C:\\DyeHeadLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status = new string[16,2] {
- {"Pt100_Zone_1","Not Test"},
- {"Pt100_Zone_2","Not Test"},
- {"Pt100_Zone_3","Not Test"},
- {"Pt100_Zone_4","Not Test"},
- {"Pt100_Zone_5","Not Test"},
- {"Pt100_Zone_6","Not Test"},
- {"Heater_Zone_1","Not Test"},
- {"Heater_Zone_2","Not Test"},
- {"Heater_Zone_3","Not Test"},
- {"Heater_Zone_4","Not Test"},
- {"Heater_Zone_5","Not Test"},
- {"Heater_Zone_6","Not Test"},
- {"Magnet ","Not Test"},
- {"LS_DH_LID_Open","Not Test"},
- {"LS_DH_LID_Close","Not Test"},
- {"DH_LID_Motor","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string DyeHead_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
-
- form1.Text = "DyeHead Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----DyeHead Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" DyeHead S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_DyeHead_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"DyeHead Test Report" );
-stubManager.Write("DyeHead Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"DyeHead S/N: \t" + TextBox1.Text );
-stubManager.Write("DyeHead S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
-
- DialogResult result = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return ;
- }
- Test_Magnet_Motor_LS_DyeHead();
- Test_heaters_pt100 ();
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
-// stubManager.Write("Counter is \n");
-
-
- return;
- }
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_DyeHead()
-{
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+0);
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
-
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 250);
- stubManager.Write("\n*** Open Lid Head ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,7);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,2,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- Units_status[15,1]="Fail";
- Units_status[13,1]="Fail";
- stubManager.Write("LS_DH_LID_Open Not calibrate\n");
- return 0;
- }
- Units_status[13,1]="Pass";
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,2,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[14,1]="Fail";
- Units_status[15,1]="Fail";
- stubManager.Write("LS_DH_LID_Close Not calibrate\n");
- return 0;
- }
- Units_status[14,1]="Pass";
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+2);
- DialogResult result3 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not close\n");
- return 0;
- }
- Units_status[12,1]="Pass";
- Units_status[15,1]="Pass";
-
- return 0;
-}
-
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<16;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------Dye Head Fail ------------ )");
- stubManager.Write("-------------Dye Head Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------Dye Head Pass ------------ )");
- stubManager.Write("-------------Dye Head Pass ------------ ");
- }
-
- return Stemp;
-}
-//------------------------------------
-int Test_heaters_pt100()
-{
-
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
-
- stubManager.Write("\nTemp Befor heating \n");
- if (test_pt100()!=0)
- return 0;
-
-//------------Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
- SetBit (FPGA2, F2_CTRL, 3, 1);
- stubManager.Write("Testing SSR no. 8\tHeadZone-1\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (FPGA2, F2_CTRL, 3, 0);
- ftemp=Read_pt100(0);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[0];
-
- if ((current>1.5)|| (current<0.9)||(ftemp<5)||(ftemp>25))
- Units_status[6,1]="Fail";
- else
- Units_status[6,1]="Pass";
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
- ftemp=Read_pt100(1);
- ftemp1 = ftemp - DyeHeadTemp[1];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 4, 1);
- stubManager.Write("Testing SSR no. 7\tHeadZone-2\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (FPGA2, F2_CTRL, 4, 0);
- ftemp=Read_pt100(1);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[1];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>25))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
-
- ftemp=Read_pt100(2);
- ftemp1 = ftemp - DyeHeadTemp[2];
- if ( ftemp1>4)
- Units_status[8,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 5, 1);
- stubManager.Write("Testing SSR no. 6\tHeadZone-3\t");
- Thread.Sleep(10000);
- adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (FPGA2, F2_CTRL, 5, 0);
- ftemp=Read_pt100(2);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current +"\n");
- ftemp = ftemp - DyeHeadTemp[2];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>25))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
- ftemp=Read_pt100(3);
- ftemp1 = ftemp - DyeHeadTemp[3];
- if ( ftemp1>4)
- Units_status[9,1]="Fail";
- else
- {
- SetBit (FPGA2, F2_CTRL, 6, 1);
- stubManager.Write("Testing SSR no. 5\tHeadZone-4\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001221) * current;
-
- SetBit (FPGA2, F2_CTRL, 6, 0);
- ftemp=Read_pt100(3);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[3];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>25))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
- ftemp=Read_pt100(4);
- ftemp1 = ftemp - DyeHeadTemp[4];
- if ( ftemp1>4)
- Units_status[10,1]="Fail";
- else
- {
- SetBit (FPGA1, F1_gpo_01, 2, 1);
- stubManager.Write("Testing SSR no. 10\tHeadZone-5\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (FPGA1, F1_gpo_01, 2, 0);
- ftemp=Read_pt100(4);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[4];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>25))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
- ftemp=Read_pt100(5);
- ftemp1 = ftemp - DyeHeadTemp[5];
- if ( ftemp1>4)
- Units_status[11,1]="Fail";
- else
- {
- SetBit (FPGA3, F3_GPO_01_bus, 4, 1);
- stubManager.Write("Testing SSR no. 11\tHeadZone-6\t");
- Thread.Sleep(10000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (FPGA3, F3_GPO_01_bus, 4, 0);
- ftemp=Read_pt100(5);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[5];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>20))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
- }
- return 0;
-}
-//------------------------------------------------
- int test_pt100()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 6; i++)
- {
- DyeHeadTemp[i]=Read_pt100(i);
- ftemp=DyeHeadTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i,1]="Fail";
- }
- else
- {
- Units_status[i,1]="Pass";
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
-//------------------------------------------------
-float Read_pt100(int i)
-{
- int j= i+1;
- if (i==5)
- j=11;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,j); //
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-//---------------------------
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-int adc_set_for_read_temp(uint I2C_Slave_Add)
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-int adc_read_temp(uint I2C_Slave_Add)
- {
-
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
-
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- stubManager.WriteLineHex(response1.ReadBytes[i],2);
- }
-
-
- 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(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//-----------------------------------
-uint adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp=0;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
- return temp;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs
deleted file mode 100644
index 3e5ccf085..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Jig/DyeHeadJig.cs
+++ /dev/null
@@ -1,384 +0,0 @@
-//--------------------------------------------------------------------------------
-
-//include "Dispenser_setup_mbar1.cs"
-//include "C:\Dispenser_setup\Dispenser_setup_seal_test.cs"
-
-//--------------------------------------------------------------------------------
-//include "Dispenser_Motor_stop.cs"
-//include "Dispenser_setup_form_valve close_1.cs"
-//include "Dispenser_setup_form_valve open_1.cs"
-//include "Dispenser_Motor_run.cs"
-//include "Dispenser_Motor_Up.cs"
-//include "Dispenser_Motor_Down.cs"
-//--------------------------------------------------------------------------------
-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 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 RLOADING_Motor = 24;
-
-//--------
-
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-
-
-
-
-
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-
-const Int32 F1_LS_03_Direct =0x60000040;
-//--------------------------------------------------------------------------------
-string path1="M:\\RTFU\\Reports\\";
-string File_Name1 ;
-string Status;
-
-
-
-//-----------------------------------------------------
-
-//int SealTest=0;
-//int Characterization;
-string RTFU_Sn;
-//int dispenserNumber=1;
-//string Dtype="";
-//int Table=0;
-///string shortDateString;
-
-//UInt32 Type_card;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
- stubManager.Write("Counter is 1 \n");
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0X60000522, 0X128);//0X128 EQULE 50 MSEC
-
- //-----------------------------detect card ----------------------------
-
-
-//---------------------------------------------------------------------------------------------------------------------------------------------------------
-
-
-//Create form
- Form form1 = new Form();
-
-//--------------------------------------------------------------------------------
-
-// Create buttons to use as the accept and cancel buttons.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
-//--------------------------------------------------------------------------------
-// Set the text of button
-
- button1.Text = "Run";
-
-
-//--------------------------------------------------------------------------------
-// Set the position of the button on the form.
-
- button1.Location = new Point (40, 100);
-
-
-
-
-//--------------------------------------------------------------------------------
- // Add button to the form.
-
- form1.Controls.Add(button1);
-
-
-
-//--------------------------------------------------------------------------------
-
-// Set the caption bar text of the form.
-
- form1.Text = "RTFU Test";
-
-//--------------------------------------------------------------------------------
-
- // Define the border style of the form to a dialog box.
-
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-
- // Set the MaximizeBox to false to remove the maximize box.
-
- form1.MaximizeBox = false;
-
- // Set the MinimizeBox to false to remove the minimize box.
-
- form1.MinimizeBox = false;
-
- // Set the start position of the form to the center of the screen.
-
- form1.StartPosition = FormStartPosition.CenterScreen;
-
-
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-
-//-----RTFU Serial Number -----------
-
-Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
-Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
-
-
-TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
-
-//-----USER NAME -----------
-
-Label Label2 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="USER NAME"
- };
-Label2.Location = new Point (190, 10);
- form1.Controls.Add(Label2);
-
-
-TextBox TextBox2 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox2.Location = new Point (200, 40);
- form1.Controls.Add(TextBox2);
-
-//----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-
-//File_Name1=path1 +"RTFU.log" ;
-File_Name1=path1 + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-//File_Name1=path1 + DateTime.Now+"RTFU.log" ;
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +"\n" );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"RTFU Test Report\n" );
-stubManager.Write("RTFU Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text +"\n" );
-stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-stubManager.AppendToFile(File_Name1,"User Name:\t" + TextBox2.Text +"\n" );
-stubManager.Write("User Name:" + TextBox2.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text +"\n" );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-Status=Test_RLOADING_RTFU ();
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- stubManager.Write("Counter is \n");
-
-
- return;
- }
- //------------------------------------
-string Test_RLOADING_RTFU()
-{
- int temp=1;
- int counter;
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading
- Thread.Sleep(1000);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,100); //move Rloading up
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_UP\tFail");
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return "Fail";
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=150;
- Thread.Sleep(100);
- }
- if (counter >= 150)
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_UP or Motors RLOADING \tFail");
- stubManager.Write("LS_RLOADMOTOR_UP or Motors RLOADING \tFail\n");
- return "Fail";
- }
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_UP\tPass");
- stubManager.Write("LS_RLOADMOTOR_UP or Motors RLOADING \tPass\n");
-//-----------------------------------------------------------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_DN\tFail");
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return "Fail";
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=150;
- Thread.Sleep(100);
- }
- if (counter >= 150)
- {
- stubManager.AppendToFile(File_Name1,"LS_RLOADMOTOR_DN \tFail");
- stubManager.Write("LS_RLOADMOTOR_UP RLOADING \tFail\n");
- return "Fail";
- }
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading
- Thread.Sleep(1000);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14
-
- return "Pass";;
-
-}
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- int temp=1;
- int counter;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
-
- DialogResult result1 = MessageBox.Show("Are RDRIVING_Motor move clockwise ?","Important Question",MessageBoxButtons.YesNo);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor, 3); //hold Rloading
- if (result1==DialogResult.Yes)
- {
- stubManager.AppendToFile(File_Name1,"RDRIVING_RTFU\tPass");
- stubManager.Write("RDRIVING_RTFU\tPass\n");
- return 1;
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"RDRIVING_RTFU\tFail");
- stubManager.Write("RDRIVING_RTFU\tFail\n");
- return 0;
- }
-}
-//--------------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------------
-
-//--------------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------------
-
-// Display the form as a modal dialog box.
-
-// ParaData1 shall be left justified i.e. <cmd><Byte0><Byte1><Byte2>
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
- //Fpga_Read_Reg(Fpga, HighAdr+4, 1);
- //Fpga_Read_Reg(Fpga, LowAdr+4, 1);
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs
deleted file mode 100644
index 0d01c7dbe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write Flate head eeprom.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-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
-//----------------------
-
-const Int32 SerialNum = 0x01;
-
-
-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 WriteFlatEpprom(uint I2C_Slave_Add)
-{
- uint Page=0;
- 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(0x33); //header
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xcc);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xaa);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x55);
-
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(100);
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(92);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
- //--------------------------------------------------------------
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x10); //flat
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);
-
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(100);
-
-
-
-
-
- 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++)
- {
-
- WriteFlatEpprom(I2C_Slave_Add);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- 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/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs
deleted file mode 100644
index d7729ca2f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs
+++ /dev/null
@@ -1,118 +0,0 @@
-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
-//----------------------
-
-const Int32 SerialNum = 0x01;
-
-
-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(SerialNum);//S/N
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x03);//HEAD_TYPE_SYLKO
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_STAPLE_SPUN
-
- 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,0x00);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- 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/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs
deleted file mode 100644
index a5a43f137..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch1.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-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 "Tango_Defines_LimitSwitch.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"
-
-
-public void OnExecute(StubManager stubManager)
-{
-Int32 Bit = 1;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- SetBit (FPGA2, F2_CTRL, 0, 1);
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+0);
-
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
- Thread.Sleep(1000);
-
-var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 150);
-
-
- stubManager.Write("\n*** Open Lid Head ");
- Bit = 1;
-
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,7);
- Thread.Sleep(50);
- }
- Thread.Sleep(2000);
- stubManager.Write("\n--------1--------");
-
-
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, false, 150);
-
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_01_Direct,8);
- Thread.Sleep(50);
- }
- Thread.Sleep(100);
- stubManager.Write("\n--------2--------");
-
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,2, true, 0);
-
- SetBit (FPGA2, F2_CTRL, 0, 0);
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,23, false,0x800000+2);
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,23,3);
-
-
-// var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,0, true, 50); motor clean
-
-//response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,1, true, 50); motor clean
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
index ba39cb2b0..264400e64 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
@@ -73,7 +73,7 @@ public void OnExecute(StubManager stubManager)
for (int i = 0; i<1000; i++)
{
- stubManager.Write("\n----------------------------------------\n");
+ stubManager.Write("----------------------------------------\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg0, 0); stubManager.Write("\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg1, 1); stubManager.Write("\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg2, 1); stubManager.Write("\n");
@@ -83,85 +83,37 @@ public void OnExecute(StubManager stubManager)
var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg0, 0);
stubManager.Write("\nFan5 Speed-");
stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x440 && RetVal.Value<0x4d0)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
+ RetVal = Fpga_Read_Reg(FPGA1, F1_gpi_FANS, 0);
+ Temp1=RetVal.Value & 0x0001;
+ if (Temp1 !=0x0001)
+ stubManager.Write("\nFan1 Running ");
+ else
+ stubManager.Write("\nFan1 Stop");
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg1, 0);
- stubManager.Write("\nFan1 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
-
-
-
-
-// RetVal = Fpga_Read_Reg(FPGA1, F1_gpi_FANS, 0);
-// Temp1=RetVal.Value & 0x0001;
-// if (Temp1 !=0x0001)
-// stubManager.Write("\tFan1 Running ");
-// else
-// stubManager.Write("\tFan1 Stop");
-
-
-
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg2, 0);
- stubManager.Write("\nFan2 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
-
-
-// Temp1=RetVal.Value & 0x0002;
-// if (Temp1 !=0x0002)
-// stubManager.Write("\tFan2 Running ");
-// else
-// stubManager.Write("\tFan2 Stop");
-
-
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg3, 0);
- stubManager.Write("\nFan3 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
-
-
-// Temp1=RetVal.Value & 0x0004;
-// if (Temp1 !=0x0004)
-// stubManager.Write("\tFan3 Running ");
-// else
-// stubManager.Write("\tFan3 Stop");
+ Temp1=RetVal.Value & 0x0002;
+ if (Temp1 !=0x0002)
+ stubManager.Write("\nFan2 Running ");
+ else
+ stubManager.Write("\nFan2 Stop");
-
-
- RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg4, 0);
- stubManager.Write("\nFan4 Speed-");
- stubManager.WriteHex(RetVal.Value,4);
- if (RetVal.Value>0x220 && RetVal.Value<0x300)
- stubManager.Write("\t Pass");
- else
- stubManager.Write("\t Fail");
+ Temp1=RetVal.Value & 0x0004;
+ if (Temp1 !=0x0004)
+ stubManager.Write("\nFan3 Running ");
+ else
+ stubManager.Write("\nFan3 Stop");
-
-// Temp1=RetVal.Value & 0x0008;
-// if (Temp1 !=0x0008)
-// stubManager.Write("\tFan4 Running ");
-// else
-// stubManager.Write("\tFan4 Stop");
+ Temp1=RetVal.Value & 0x0008;
+ if (Temp1 !=0x0008)
+ stubManager.Write("\nFan4 Running ");
+ else
+ stubManager.Write("\nFan4 Stop");
-// Fpga_Read_Reg(FPGA1, F1_Tacho_reg5, 1); stubManager.Write("\n");
-// Fpga_Read_Reg(FPGA1, F1_Tacho_reg6, 1); stubManager.Write("\n");
-// Fpga_Read_Reg(FPGA1, F1_Tacho_reg7, 1); stubManager.Write("\n");
-// Fpga_Read_Reg(FPGA2, F2_Tacho_reg0, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA1, F1_Tacho_reg5, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA1, F1_Tacho_reg6, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA1, F1_Tacho_reg7, 1); stubManager.Write("\n");
+ Fpga_Read_Reg(FPGA2, F2_Tacho_reg0, 1); stubManager.Write("\n");
//stubManager.Write("\n\n");
Thread.Sleep(1000);
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs
index 4100a770c..4100a770c 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/1.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs
index cb01a86c4..cb01a86c4 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR_CURRENT_SENSE.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs
index b9793a336..b9793a336 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/DyeHead_SSR_CURRENT_SENSE.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/DyeHead_SSR_CURRENT_SENSE.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/header_LimitSwitch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/header_LimitSwitch.cs
index 4454e9c63..4454e9c63 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/header_LimitSwitch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/header_LimitSwitch.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs
index 0dcf29853..0dcf29853 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magnet_motor_limit_switch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_motor_limit_switch.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magner_ssr.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_ssr.cs
index 54e3f4844..54e3f4844 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/magner_ssr.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Header/magner_ssr.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs
deleted file mode 100644
index f961158e9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_JIG.cs
+++ /dev/null
@@ -1,574 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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;
-//--------------------------------------------------------------------------------
-
-//-------------------DEFINE Motors------------------
-const Int32 LDANCER_Motor = 16;
-const Int32 LDRIVING_Motor = 18;
-const Int32 LLOADING_Motor = 19;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_LLOADING_TX1 = 0x60000232;
-const Int32 F1_MOTO_LLOADING_TX0 = 0x60000230;
-
-
-//-------------------DEFINE Limit Switch---------------
-const Int32 F1_LS_02_Direct =0x60000030;
-
-const Int32 F1_LS_LLOADMOTOR_UP = 0x0100 ;
-const Int32 F1_LS_LLOADMOTOR_DN = 0x0200 ;
-const Int32 F1_LS_LDANCER1_UP = 0x1000;
-const Int32 F1_LS_LDANCER1_DN = 0x2000;
-const Int32 F1_LS_LDANCER2_UP = 0x0400;
-const Int32 F1_LS_LDANCER2_DN = 0x0800;
-const Int32 F1_LS_LLOADRAM_LF = 0x0080;
-const Int32 F1_LS_LLOADRAM_RT = 0x0040;
-
-
-const Int32 F1_LDANCER1_ROTENC_MSB = 0x600001c2;
-const Int32 F1_LDANCER1_ROTENC_LSB = 0x600001c0;
-const Int32 F1_LDANCER1_ROTENC_TX = 0x600001ce;
-
-const Int32 F1_LDANCER2_ROTENC_MSB = 0x600001b2;
-const Int32 F1_LDANCER2_ROTENC_LSB = 0x600001b0;
-const Int32 F1_LDANCER2_ROTENC_TX = 0x600001be;
-
-const int UNIT_UNDER_TEST=3+1+5;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\LTFU\\LTFULog\\";
-string path2="C:\\LTFULog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"LS_LLOADMOTOR_Up","Not Test"}, //0
- {"LS_LLOADMOTOR_DOWN","Not Test"}, //1
- {"LLOADING_Motor","Not Test"}, //2
- {"LDRIVING_Motor","Not Test"}, //3
- {"LS_LDANCER1_DOWN","Not Test"}, //4
- {"LS_LDANCER1_UP","Not Test"}, //5
- {"LDANCER_Motor","Not Test"}, //6
- {"LDANCER1_ROTENC","Not Test"}, //7
- {"LDANCER1_ROTENC","Not Test"}, //8
- };
-//-----------------------------------------------------
-string LTFU_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "LTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----LTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" LTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
- button1.Click += (_,__) =>
-
- {
-
- Label5.Text="Pros";
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_LTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"LTFU Test Report" );
- stubManager.Write("LTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"LTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("LTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-//------------------------------- start test -----------
- Test_LLOADING_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- Test_LDRIVING_LTFU();
-
- Test_DANCER_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER_Motor, 3); //hold Lloading high z
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
-
- //------------------------------------
-int Test_LLOADING_LTFU()
-{
- int temp=1;
- int counter;
-
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_LLOADMOTOR_UP------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LLOADMOTOR_UP) !=F1_LS_LLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did LLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LLOADMOTOR\tFail\n");
- return 0;
- }
- }
-//----------------------------------------- mov LLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor,true,200); //move Lloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_UP) != F1_LS_LLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_LLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LLOADMOTOR_DN) !=F1_LS_LLOADMOTOR_DN ) //if LS_LLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov LLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Lloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_DN) != F1_LS_LLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- DialogResult result4 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result4 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("LLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Lloading down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- return 1 ;
-
-}
-
-
-Int32 ReadEncoder(int i)
-{
- Int32 temp;
-
- if (i==0) //LDANCER1_ROTENC
- {
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER1_ROTENC_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_LSB);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
- }
- //LDANCER2_ROTENC
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER2_ROTENC_TX, 0x0000); //triggers a TX transmission
- var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_LSB);
- var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response3.Value <<16) + response2.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_LTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
- Int32 temp2;
- Int32 temp3;
-
-
-//------------------------------------------ check F1_LS_LDANCER1_DN ------------------------------------------------
-
- MessageBox.Show("Make sure LDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
-
- if ((response.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_UP\tFail\n");
- return 0;
- }
-
-//----------------------------------------- check F1_LS_LDANCER1_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER_Motor,false,400); //move Lloading up
- counter =0;
- while ( counter < 250)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LDANCER1_UP is up then move down
- if ((response.Value & F1_LS_LDANCER1_UP) != F1_LS_LDANCER1_UP )
- counter=350;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER_Motor, 3); //hold Ldancer high z
-
-
- if (counter == 250)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER1_UP\tFail\n");
- return 0;
- }
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LDANCER1_DN) !=F1_LS_LDANCER1_DN ) //if F1_LS_LDANCER1_DN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER1_DOWN\tFail\n");
- return 0;
- }
-
- DialogResult result5= MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result5== DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER1_UP Not calibrate\n");
- return 0;
- }
-
- Units_status[5,1]="Pass";
- stubManager.Write("LS_LDANCER1_UP\tPass\n");
-
-//----------------------------------------- mov LDANCER_Motor down and check Ldancer encoder -------------------------------------------------
- temp= ReadEncoder(0);
- temp2= ReadEncoder(1);
-
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER_Motor,true,400); //move Rloading down
- counter =0;
- while ( counter < 250)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LDANCER1_DN is dn then move stop
- if ((response.Value & F1_LS_LDANCER1_DN) != F1_LS_LDANCER1_DN )
- counter=350;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER_Motor, 3); //hold Rloading high z
- if (counter == 250)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER1_DOWN\tFail\n");
- return 0;
- }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER1_DN Not calibrate\n");
- return 0;
- }
-
- Units_status[4,1]="Pass";
- stubManager.Write("LS_LDANCER1_DN\tPass\n");
-
- Units_status[6,1]="Pass";
- stubManager.Write("LDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder(0);
- temp3= ReadEncoder(1);
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer1 led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER1_SSI\tFail\n");
- }
- else
- {
- if (temp>temp1)
- temp1=temp1+0x4000;
- temp1=temp1-temp;
- if ((temp1> 4000) || (temp1 <200))
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER1_SSI\tFail\n");
- }
- else
- {
- Units_status[7,1]="Pass";
- stubManager.Write("LDANCER1_SSI\tPass\n");
- }
- }
- stubManager.Write("temp2="+temp2 + "\temp3="+temp3 +"\n");
-
- DialogResult result3 = MessageBox.Show("SSI Dancer2 led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER2_SSI\tFail\n");
- }
- else
- {
- if (temp3>temp2)
- temp2=temp2+0x4000;
- temp2=temp2-temp3;
- if ((temp1> 4000) || (temp1 <2000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER2_SSI\tFail\n");
- }
- else
- {
- Units_status[8,1]="Pass";
- stubManager.Write("LDANCER2_SSI\tPass\n");
- }
- }
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_LDRIVING_LTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDRIVING_Motor, true,200); //move Ldriving clockwise
- stubManager.Write("LDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are LDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("LDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------LTFU Fail ------------ ");
- stubManager.Write("-------------LTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------LTFU Pass ------------ )");
- stubManager.Write("-------------LTFU Pass ------------ ");
- }
-
- return Stemp;
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs
index 9955e0e5d..7578e825d 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch.cs
@@ -14,8 +14,6 @@ using Tango.Stubs;
include "..\..\Defines\Tango_Defines_Basic.cs"
include "Tango_Defines_Motors.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_Motors.cs"
@@ -23,108 +21,15 @@ include "Tango_Defines_LimitSwitch.cs"
public void OnExecute(StubManager stubManager)
{
-Int32 Bit = 1;
+
stubManager.Write("\n*** LTFU Motor + limit switch Test ***");
+// stubManager.Write("\n*** Pulling motor drivers out of reset");
SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 0, 1);
SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 1, 1);
SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 2, 1);
SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 4, 1);
- stubManager.Write("\n*** Moving motor F1_MOTO_LLOADING back and for");
- Bit = 1;
-
- var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19,true , 500);
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,8);
- Thread.Sleep(10);
- }
- Thread.Sleep(100);
- stubManager.Write("\n--------1--------");
-
-
-response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19, false, 500);
- Bit = 1;
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,9);
- Thread.Sleep(10);
- }
- stubManager.Write("\n--------2--------");
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19, false, 0);
-
- Thread.Sleep(100);
- var response1 = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,19, false, 5000);
- Thread.Sleep(1000);
- Motor_HighZ(FPGA1, F1_MOTO_LLOADING_TX1, F1_MOTO_LLOADING_TX0);
- stubManager.Write("\n*** Stopped motor F1_MOTO_LLOADING");
-
-
- //mov ldriving -
- stubManager.Write("\n*** Running motor F1_MOTO_LDRIVING for 4 seconds... ");
- Motor_Run(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0, 0xffff, 0x1);
- Thread.Sleep(4000);
- Motor_HighZ(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0);
-
-
-
-
-
-
-
-
- stubManager.Write("\n\n*** Moving motor F1_MOTO_LDANCER1 back and for ...");
-
- Bit = 1;
- response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16,false ,500);
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,12);
- Thread.Sleep(10);
- }
- Thread.Sleep(100);
- stubManager.Write("\n--------1--------");
-
-
-response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16, true, 500);
- Bit = 1;
- while (Bit != 0x0) //wait until LTFU LOADRAM Down
- {
- Bit = GetBit(FPGA1, F1_LS_02_Direct,13);
- Thread.Sleep(10);
- }
-
- Thread.Sleep(1000);
- Motor_HighZ(FPGA1, F1_MOTO_LDANCER1_TX1, F1_MOTO_LDANCER1_TX0);
-
-
-
-
-
-/*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ stubManager.Write("\n*** F1_MOTO_LPIVOT1 is moving back and forth ");
@@ -202,7 +107,7 @@ response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16, true
// Thread.Sleep(4000);
stubManager.Write("\n\n*** RTFU Motor Test Ended ***");
- */
+
}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs
new file mode 100644
index 000000000..9955e0e5d
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Motors_Switch1.cs
@@ -0,0 +1,208 @@
+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.Diagnostics;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_Motors.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_Motors.cs"
+
+
+
+public void OnExecute(StubManager stubManager)
+{
+Int32 Bit = 1;
+ stubManager.Write("\n*** LTFU Motor + limit switch Test ***");
+ SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 0, 1);
+ SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 1, 1);
+ SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 2, 1);
+ SetBit(FPGA1, F1_Moto_Driver_NSTBYRST1, 4, 1);
+
+ stubManager.Write("\n*** Moving motor F1_MOTO_LLOADING back and for");
+ Bit = 1;
+
+ var response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19,true , 500);
+ while (Bit != 0x0) //wait until LTFU LOADRAM Down
+ {
+ Bit = GetBit(FPGA1, F1_LS_02_Direct,8);
+ Thread.Sleep(10);
+ }
+ Thread.Sleep(100);
+ stubManager.Write("\n--------1--------");
+
+
+response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19, false, 500);
+ Bit = 1;
+ while (Bit != 0x0) //wait until LTFU LOADRAM Down
+ {
+ Bit = GetBit(FPGA1, F1_LS_02_Direct,9);
+ Thread.Sleep(10);
+ }
+ stubManager.Write("\n--------2--------");
+ response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,19, false, 0);
+
+ Thread.Sleep(100);
+ var response1 = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,19, false, 5000);
+ Thread.Sleep(1000);
+ Motor_HighZ(FPGA1, F1_MOTO_LLOADING_TX1, F1_MOTO_LLOADING_TX0);
+ stubManager.Write("\n*** Stopped motor F1_MOTO_LLOADING");
+
+
+ //mov ldriving -
+ stubManager.Write("\n*** Running motor F1_MOTO_LDRIVING for 4 seconds... ");
+ Motor_Run(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0, 0xffff, 0x1);
+ Thread.Sleep(4000);
+ Motor_HighZ(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0);
+
+
+
+
+
+
+
+
+ stubManager.Write("\n\n*** Moving motor F1_MOTO_LDANCER1 back and for ...");
+
+ Bit = 1;
+ response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16,false ,500);
+ while (Bit != 0x0) //wait until LTFU LOADRAM Down
+ {
+ Bit = GetBit(FPGA1, F1_LS_02_Direct,12);
+ Thread.Sleep(10);
+ }
+ Thread.Sleep(100);
+ stubManager.Write("\n--------1--------");
+
+
+response = stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16, true, 500);
+ Bit = 1;
+ while (Bit != 0x0) //wait until LTFU LOADRAM Down
+ {
+ Bit = GetBit(FPGA1, F1_LS_02_Direct,13);
+ Thread.Sleep(10);
+ }
+
+ Thread.Sleep(1000);
+ Motor_HighZ(FPGA1, F1_MOTO_LDANCER1_TX1, F1_MOTO_LDANCER1_TX0);
+
+
+
+
+
+/*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ //mov LLOAD - up
+ stubManager.Write("\n*** Moving motor F1_MOTO_LLOADING back and for");
+ MotorHomingRequest motorHomingRequest = new MotorHomingRequest();
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 19;
+ motorHomingRequest.Speed = 500;
+ motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
+ stubManager.Run(motorHomingRequest);
+ Thread.Sleep(6000);
+ //mov lLOAD - dn
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 19;
+ motorHomingRequest.Speed = 500;
+ motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Forward
+ stubManager.Run(motorHomingRequest);
+ Thread.Sleep(5000);
+ var response = stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,19, false, 1000);
+ Thread.Sleep(1000);
+
+
+ //mov ldriving -
+ stubManager.Write("\n*** Running motor F1_MOTO_LDRIVING for 4 seconds... ");
+ Motor_Run(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0, 0xffff, 0x1);
+// Thread.Sleep(4000);
+ Motor_HighZ(FPGA1, F1_MOTO_LDRIVING_TX1, F1_MOTO_LDRIVING_TX0);
+
+
+ //mov Ldancer -
+ stubManager.Write("\n*** F1_MOTO_LDANCER1 is moving back and forth ");
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 16;
+ motorHomingRequest.Speed = 500;
+ motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
+ stubManager.Run(motorHomingRequest);
+ Thread.Sleep(20000);
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 16;
+ motorHomingRequest.Speed = 500;
+ motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Backard
+ stubManager.Run(motorHomingRequest);
+ Thread.Sleep(20000);
+
+
+
+ //mov Lpivot -
+ stubManager.Write("\n*** F1_MOTO_LPIVOT1 is moving back and forth ");
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 20;
+ motorHomingRequest.Speed = 500;
+ motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
+ stubManager.Run(motorHomingRequest);
+ Thread.Sleep(20000);
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 20;
+ motorHomingRequest.Speed = 500;
+ motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Backard
+ stubManager.Run(motorHomingRequest);
+ Thread.Sleep(20000);
+
+
+
+
+
+
+
+
+
+ stubManager.Write("\n*** F1_MOTO_RDANCER is moving back and forth ");
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 21;
+ motorHomingRequest.Speed = 10;
+// motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Forward; //Forward
+// stubManager.Run(motorHomingRequest);
+// Thread.Sleep(5000);
+ motorHomingRequest.MotorType = (Tango.PMR.Hardware.HardwareMotorType) 21;
+ motorHomingRequest.Speed = 10;
+// motorHomingRequest.Direction = Tango.PMR.Diagnostics.MotorDirection.Backward; //Backard
+// stubManager.Run(motorHomingRequest);
+// Thread.Sleep(4000);
+
+ stubManager.Write("\n\n*** RTFU Motor Test Ended ***");
+ */
+
+
+}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs
deleted file mode 100644
index ebd2cf414..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_Right_Position.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-
-
-
-const Int32 x_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 F1_LS_02_Direct = 0x60000030 ;
-const Int32 F1_LS_LSPARE2 = 0x0004; //up
-const Int32 F1_LS_LDANCER1_UP = 0x1000;
-
-
-
-
-
-
-
-
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- int counter;
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,8);
- stubManager.Write("\n");
-
- var response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- response3.RecivedData=response3.RecivedData & 0x00007;
-
- stubManager.WriteHex(response3.RecivedData,4);
- stubManager.Write("\nNober uStep is - ");
- if (response3.RecivedData>4)
- response3.RecivedData=4;
- stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
-
-
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,17,false,100); //move Lloading up
- counter =0;
- while ( counter < 800)
- {
- counter = counter + 1;
-var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move down
- if ((response1.Value & F1_LS_LSPARE2) != F1_LS_LSPARE2 )
- counter=900;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,17, 3); //hold Ldancer high z
-
-var response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,17, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response2.RecivedData=response2.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response2.RecivedData,8);
- stubManager.Write("\n");
-
- stubManager.Write("Motor Puller positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
-//---------------------------------------------------------------------------------------------------------------------
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,16, 3); //hold Ldancer high z
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response.RecivedData=response.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response.RecivedData,8);
- stubManager.Write("\n");
-
- response3 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- response3.RecivedData=response3.RecivedData & 0x00007;
-
- stubManager.WriteHex(response3.RecivedData,4);
- stubManager.Write("\nNober uStep is - ");
- if (response3.RecivedData>4)
- response3.RecivedData=4;
- stubManager.WriteLine(Math.Pow(2,response3.RecivedData));
-
-
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,16,false,100); //move Lloading up
- counter =0;
- while ( counter < 800)
- {
- counter = counter + 1;
- var response8 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move up
- if ((response8.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
- counter=900;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,16, 3); //hold Ldancer high z
-
- response2 = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,16, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- response2.RecivedData=response2.RecivedData & 0x00ffffff;
- stubManager.WriteHex(response2.RecivedData,8);
- stubManager.Write("\n");
-
- stubManager.Write("Motor Winder positon is - "+ (response2.RecivedData-response.RecivedData)/(Math.Pow(2,response3.RecivedData)));
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs
index 94873f9f4..3218dbd83 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/LTFU_SSI.cs
@@ -31,64 +31,18 @@ public void OnExecute(StubManager stubManager)
for (int i = 0; i < 100; i++)
{
-
- stubManager.Write("LDANCER1 - "+ ReadEncoder(0)+ "\t\t LDANCER2 - " + ReadEncoder(1) + "\n" );
-
-
-
+
+ SSI_Read_Write(FPGA1, F1_LDANCER1_ROTENC_MSB, F1_LDANCER1_ROTENC_LSB, F1_LDANCER1_ROTENC_TX);
+ SSI_Read_Write(FPGA1, F1_LDANCER2_ROTENC_MSB, F1_LDANCER2_ROTENC_LSB, F1_LDANCER2_ROTENC_TX);
+ stubManager.Write("\n");
+ k++;
+ if ( (k & 0x8) == 0x08 ) {
+ k = 0;
+ stubManager.Write(" LDANCER1 LDANCER2 \n");
+ }
Thread.Sleep(400);
}
}
-
-
-Int32 ReadEncoder(int i)
-{
- Int32 temp;
-
- if (i==0) //LDANCER1_ROTENC
- {
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600001ce, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001c0);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001c2);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
- }
- //LDANCER2_ROTENC
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600001be, 0x0000); //triggers a TX transmission
- var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001b0);
- var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x600001b2);
-
- temp = Convert.ToInt32 (((((response3.Value <<16) + response2.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs
deleted file mode 100644
index de14d455f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/Test_Loading_TFU.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-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;
-
-
-
-
-//-------------------DEFINE Motors------------------
-//const Int32 LDANCER_Motor = 16;
-//const Int32 LDRIVING_Motor = 18;
-//const Int32 LLOADING_Motor = 19;
-//const Int32 LDANCER_Motor = 16;
-//const Int32 LDRIVING_Motor = 18;
-//const Int32 LLOADING_Motor = 19;
-
-const Int32 LDANCER1_Motor = 16;
-const Int32 LDANCER2_Motor = 17;
-const Int32 LDRIVING_Motor = 18;
-const Int32 LLOADING_Motor = 19;
-
-const Int32 RDANCER_Motor = 21;
-//const Int32 RDRIVING_Motor = 22;
-//const Int32 MAGNET_Driver = 23; //replace RLOADARM
-const Int32 RLOADING_Motor = 24;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_LLOADING_TX1 = 0x60000232;
-const Int32 F1_MOTO_LLOADING_TX0 = 0x60000230;
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-
-
-//-------------------DEFINE Limit Switch---------------
-const Int32 F1_LS_02_Direct =0x60000030;
-const Int32 F1_LS_03_Direct =0x60000040;
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-
-const Int32 F1_LS_LLOADMOTOR_UP = 0x0100 ;
-const Int32 F1_LS_LLOADMOTOR_DN = 0x0200 ;
-const Int32 F1_LS_LDANCER1_UP = 0x1000;
-const Int32 F1_LS_LDANCER1_DN = 0x2000;
-const Int32 F1_LS_LDANCER2_UP = 0x0400;
-const Int32 F1_LS_LDANCER2_DN = 0x0800;
-const Int32 F1_LS_LLOADRAM_LF = 0x0080;
-const Int32 F1_LS_LLOADRAM_RT = 0x0040;
-const Int32 F1_LS_LSPARE2 = 0x0004; //up
-//const Int32 F1_LS_LLOADMOTOR_UP = 0x0100 ;
-const Int32 F1_LS_RDANCER_DN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DN = 0x0020;
-const Int32 F1_LS_LSPARE1 = 0x0008; //dn
-
-//include "..\..\Defines\Tango_Defines_Basic.cs"
-//include "Tango_Defines_LimitSwitch.cs"
-//include "Tango_Defines_Motors.cs"
-//include "Tango_Defines_SSI.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_SSI.cs"
-
-
-void OnExecute(StubManager stubManager)
-{
- for (int i=0;i<1;i++)
- {
-
- Move_Motor(LDANCER1_Motor,false,F1_LS_02_Direct,F1_LS_LDANCER1_UP,450);
-
- Move_Motor(LDANCER2_Motor,false,F1_LS_02_Direct,F1_LS_LSPARE2,450);
-
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x2c- 0.9A
- Thread.Sleep(200);
- Move_Motor(LLOADING_Motor,true,F1_LS_02_Direct,F1_LS_LLOADMOTOR_UP,300);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x07000000); //set kval ran to 0x2c- 0.6A
- Thread.Sleep(200);
-
- Move_Motor(RDANCER_Motor,true,F1_LS_03_Direct,F1_LS_RLOADRAM_DN,10);
-
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x14,0.65A
- Thread.Sleep(200);
- Move_Motor(RLOADING_Motor,false,F1_LS_03_Direct,F1_LS_RLOADMOTOR_UP,200);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x07000000); //set kval ran to 0x14,0.65A
- Thread.Sleep(200);
-
-
-
- Thread.Sleep(2000);
-
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x14,0.65A
- Thread.Sleep(200);
- Move_Motor(RLOADING_Motor,true,F1_LS_03_Direct,F1_LS_RLOADMOTOR_DN,200);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x07000000); //set kval ran to 0x14,0.65A
- Thread.Sleep(200);
-
- Move_Motor(RDANCER_Motor,false,F1_LS_03_Direct,F1_LS_RDANCER_DN,10);
-
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x2c- 0.9A
- Thread.Sleep(200);
- Move_Motor(LLOADING_Motor,false,F1_LS_02_Direct,F1_LS_LLOADMOTOR_DN,300);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x0a000000); //set kval ran to 0x2c- 0.9A
- Thread.Sleep(200);
-
- Move_Motor(LDANCER2_Motor,true,F1_LS_02_Direct,F1_LS_LSPARE1,450);
-
- Move_Motor(LDANCER1_Motor,true,F1_LS_02_Direct,F1_LS_LDANCER1_DN,450);
-
- Thread.Sleep(2000);
- }
-
-
-
-}
-
- void Move_Motor(UInt32 MotorID, bool Direction, UInt32 Register , UInt32 Bits, Double speed)
-{
-int counter ;
-
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,MotorID,Direction,speed); //move Lloading up
- counter =0;
- while ( counter < 1500)
- {
- counter = counter + 1;
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Register); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & Bits) != Bits )
- counter=1650;
-
- Thread.Sleep(20);
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MotorID, 1); //hold motor
-
-
-}
-
- int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/auto shutt off.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/test.cs
index 8fd9963c2..397c6fbd4 100644
--- a/Software/Stubs Collection/stubs/Scripts/auto shutt off.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/LTFU/test.cs
@@ -10,19 +10,16 @@ using System.Collections.Generic;
using Tango.PMR.Stubs;
using Tango.Stubs;
-public void OnExecute(StubManager stubManager)
-{
-
- while (true)
-
- {
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600004e2, 0x800);
- Thread.Sleep(50);
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_LimitSwitch.cs"
-
-
- }
+public void OnExecute(StubManager stubManager)
+{
+ Int32 Bit = 1;
+ //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
+ SetBit (FPGA2, F2_CTRL, 0, 1);
+ stubManager.Write("\nTesting SSR no. 13 of magnet");
+ Thread.Sleep(4000);
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs
deleted file mode 100644
index 7c0243c49..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Calibrate_Midtank_pressure_sensors_old.cs
+++ /dev/null
@@ -1,347 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-
-//----------------------
-const double MIN_SLOP=0.7;
-const double MAX_SLOP=1.4;
-const double ERROR_SLOP=-1;
-const double MIN_50cc_on_volt=2.3;
-const double MAX_50cc_on_volt=3.2;
-const double ERROR_50cc_on_volt=-1;
-
-
-
-const Int32 F3_VALVE_OUT = 0x600008E2 ;
-string Machine_SN ;
-private const string FILE_PATH = "P:\\Operations\\Log\\Midtanlk\\";
-string File_name;
-double [,] voltage_array = new double[9,9];
-string [] Parameter = new string[5] {"\t","Empty [V]","100cc [V]","800cc [V]"," b [L/V] "};
-
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
- voltage_array[1,0]=1;
- voltage_array[2,0]=2;
- voltage_array[3,0]=3;
- voltage_array[4,0]=4;
- voltage_array[5,0]=5;
- voltage_array[6,0]=6;
- voltage_array[7,0]=7;
- voltage_array[8,0]=8;
-
- var response = stubManager.ShowResponseWindow("Enter Machine S/N: ", "");
- stubManager.Write("\n");
- Machine_SN = response;
- stubManager.Write(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".LOG";
- stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"Machine S/N:" + Machine_SN);
-
- string box_msg = "Make Sure all Midatnk empty";
- // string box_title = "Midatnk empty";
-// MessageBox.Show(box_msg, box_title);
- MessageBox.Show(box_msg);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x000f); // open all valve air of midtank and close all ink of midtank
- Thread.Sleep(500);
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x00ff); // open all valve air of midtank and close all ink of midtank
- Thread.Sleep(500);
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0fff); // open all valve air of midtank and close all ink of midtank
- Thread.Sleep(500);
- stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0xffff); // open all valve air and ink of midtank
-
- Thread.Sleep(2500);
-
- Thread.Sleep(1000);
-
- read_pressure_sensor(1);
-
- box_msg ="Insert 100cc of appropriate ink/lube to each midtank\n\t1.black ink\n\t2. Magenta ink\n\t3. Transparent ink\n\t4. Cleaner\n\t5. Cyan ink\n\t6. Yellow ink\n\t7. Spot color\n\t8. Lubricant/n";
- MessageBox.Show(box_msg);
-
- read_pressure_sensor(2);
-
- // voltage_array[3,2]=2.5;
-
- box_msg = "Add another 700cc for ink and TI \nFor Lubbricant add 500cc only.";
- MessageBox.Show(box_msg);
- read_pressure_sensor(3);
- stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0000); // close all valve air and ink of midtank
- // voltage_array[3,3]=4.5;
-
- calc_slop();
- print_table();
-
- insert_slop_t_eeprom();
- box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
-
- }
-
-int calc_slop()
- {
- stubManager.Write("\n ");
-
- double delta;
- for (uint i=1;i<9;i++)
- {
- delta=voltage_array[i,3]-voltage_array[i,2];
-
- stubManager.Write("\nMidtank No:"+i +"="+delta);
- if (i==8)
- delta=0.5/delta; //0.5 litter on lubricant
- else
- delta=0.7/delta; //0.7 litter
-
- if ((delta<MIN_SLOP) || (delta >MAX_SLOP))
- {
- voltage_array[i,4]=ERROR_SLOP;
- // stubManager.Write("123");
- }
- else if ((voltage_array[i,2]<MIN_50cc_on_volt) || (voltage_array[i,2]>MAX_50cc_on_volt ))
- voltage_array[i,4]=ERROR_SLOP;
- else
- voltage_array[i,4]=delta;
- }
- return 1;
- }
-
-
- int insert_slop_t_eeprom()
-{
- stubManager.Write("\n ");
-
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-
- for (uint i=1;i<9;i++)
- {
- if (voltage_array[i,4]!= ERROR_SLOP)
- {
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = i-1;
- midTankData.InitialOffsetA = voltage_array[i,2];
- midTankData.SlopeB = voltage_array[i,4];
-
- stubManager.Write("\nMidtank No:" + i+ "=\tA="+voltage_array[i,2]+"\tSlop="+voltage_array[i,4]);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
- }
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-
-
- }
-
-
-
-
-/*
-MidTankData midTankData = new MidTankData();
-midTankData.MidTankId = 0;
-midTankData.InitialOffsetA = 0.1;
-midTankData.SlopeB = 0.1;
-
-MidTankData midTankData1 = new MidTankData();
-midTankData1.MidTankId = 1;
-midTankData1.InitialOffsetA = 0.11;
-midTankData1.SlopeB = 0.11;
-
-MidTankData midTankData2 = new MidTankData();
-midTankData2.MidTankId = 2;
-midTankData2.InitialOffsetA = 0.2;
-midTankData2.SlopeB = 0.2;
-
-MidTankData midTankData3 = new MidTankData();
-midTankData3.MidTankId = 3;
-midTankData3.InitialOffsetA = 0.3;
-midTankData3.SlopeB = 0.3;
-
-MidTankData midTankData4 = new MidTankData();
-midTankData4.MidTankId = 4;
-midTankData4.InitialOffsetA = 0.4;
-midTankData4.SlopeB = 0.4;
-
-MidTankData midTankData5 = new MidTankData();
-midTankData5.MidTankId = 5;
-midTankData5.InitialOffsetA = 0.5;
-midTankData5.SlopeB = 0.5;
-
-MidTankData midTankData6 = new MidTankData();
-midTankData6.MidTankId = 6;
-midTankData6.InitialOffsetA = 0.6;
-midTankData6.SlopeB = 0.6;
-
-
-MidTankData midTankData7 = new MidTankData();
-midTankData6.MidTankId = 7;
-midTankData6.InitialOffsetA = 0.7;
-midTankData6.SlopeB = 0.7;
-
-
-midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData1);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData2);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData3);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData4);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData5);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData6);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData7);
-*/
-return 1;
-}
-
-
-
-int print_table()
- {
-
- for (uint i=0;i<5;i++)
- {
- stubManager.AppendToFile(File_name,Parameter[i]+"\t"+voltage_array[1,i]+"\t"+voltage_array[2,i]+"\t"+voltage_array[3,i]+"\t"+voltage_array[4,i]+"\t"+voltage_array[5,i]+"\t"+voltage_array[6,i]+"\t"+voltage_array[7,i]+"\t"+voltage_array[8,i]) ;
- }
-
-
- return 1;
-
- }
-
-
-
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 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(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-
-
-int adc_read_ch(uint I2C_Slave_Add,uint table_index_x,uint table_index_y)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- double calc;
- double calc1;
- double calc2;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
- stubManager.Write("ADC [volts]:\t");
- stubManager.Write(calc+"\t");
-
- calc1 = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("Vsensor [volts]:\t");
- stubManager.Write(calc1);
-
- voltage_array[table_index_x,table_index_y]=calc1;
-
- return 1;
- }
-
-int read_pressure_sensor(uint i )
- {
-
- stubManager.Write("\n-----------MIDTANK_PRESSESENS-------test_no= "+i);
-
- stubManager.Write("\n1_1= ");
-
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,1,i);
-
- stubManager.Write("\n2_1= ");
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,2,i);
-
- stubManager.Write("\n3_1= ");
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,3,i);
-
- stubManager.Write("\n4_1= ");
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,4,i);
-
- stubManager.Write("\n1_2= ");
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,5,i);
-
- stubManager.Write("\n2_2= ");
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,6,i);
-
- stubManager.Write("\n3_2= ");
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,7,i);
-
- stubManager.Write("\n4_2= ");
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,8,i);
-
- return 1;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv
deleted file mode 100644
index 4b9e73f00..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Motor Frequency.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-Time,Dispenser 1 Motor Frequency
-13:39:54.945,0
-13:39:55.245,0
-13:39:55.545,0
-13:39:55.845,0
-13:39:56.145,0
-13:39:56.445,0
-13:39:56.745,0
-13:39:57.045,0
-13:39:57.345,0
-13:39:57.645,0
-13:39:57.945,0
-13:39:58.245,0
-13:39:58.545,0
-13:39:58.845,0
-13:39:59.145,0
-13:39:59.445,0
-13:39:59.745,0
-13:40:00.045,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv
deleted file mode 100644
index 2ff983a1b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 1 Pressure.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-Time,Dispenser 1 Pressure
-13:39:54.945,0.0458705425262451
-13:39:55.045,0.0317853689193726
-13:39:55.145,0.0388279557228088
-13:39:55.245,0.0353068113327026
-13:39:55.345,0.0353068113327026
-13:39:55.445,0.0353068113327026
-13:39:55.545,0.0353068113327026
-13:39:55.645,0.0282642245292664
-13:39:55.745,0.0353068113327026
-13:39:55.845,0.0353068113327026
-13:39:55.945,0.0353068113327026
-13:39:56.045,0.0388279557228088
-13:39:56.145,0.0388279557228088
-13:39:56.245,0.0317853689193726
-13:39:56.345,0.0353068113327026
-13:39:56.445,0.0353068113327026
-13:39:56.545,0.0353068113327026
-13:39:56.645,0.0388279557228088
-13:39:56.745,0.0388279557228088
-13:39:56.845,0.0353068113327026
-13:39:56.945,0.0388279557228088
-13:39:57.045,0.0388279557228088
-13:39:57.145,0.0317853689193726
-13:39:57.245,0.0388279557228088
-13:39:57.345,0.0388279557228088
-13:39:57.445,0.0282642245292664
-13:39:57.545,0.0353068113327026
-13:39:57.645,0.0388279557228088
-13:39:57.745,0.0353068113327026
-13:39:57.845,0.0388279557228088
-13:39:57.945,0.0317853689193726
-13:39:58.045,0.0388279557228088
-13:39:58.145,0.0353068113327026
-13:39:58.245,0.0317853689193726
-13:39:58.345,0.0423493981361389
-13:39:58.445,0.0317853689193726
-13:39:58.545,0.0423493981361389
-13:39:58.645,0.0353068113327026
-13:39:58.745,0.0353068113327026
-13:39:58.845,0.0282642245292664
-13:39:58.945,0.0353068113327026
-13:39:59.045,0.0317853689193726
-13:39:59.145,0.0317853689193726
-13:39:59.245,0.0353068113327026
-13:39:59.345,0.0388279557228088
-13:39:59.445,0.0388279557228088
-13:39:59.545,0.0458705425262451
-13:39:59.645,0.0353068113327026
-13:39:59.745,0.0353068113327026
-13:39:59.845,0.0317853689193726
-13:39:59.945,0.0317853689193726
-13:40:00.045,0.0353068113327026
-13:40:00.145,0.0388279557228088
-13:40:00.245,0.0388279557228088
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv
deleted file mode 100644
index 1bf9584f3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Motor Frequency.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-Time,Dispenser 2 Motor Frequency
-13:39:54.945,0
-13:39:55.245,0
-13:39:55.545,0
-13:39:55.845,0
-13:39:56.145,0
-13:39:56.445,0
-13:39:56.745,0
-13:39:57.045,0
-13:39:57.345,0
-13:39:57.645,0
-13:39:57.945,0
-13:39:58.245,0
-13:39:58.545,0
-13:39:58.845,0
-13:39:59.145,0
-13:39:59.445,0
-13:39:59.745,0
-13:40:00.045,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv
deleted file mode 100644
index 88c664efe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 2 Pressure.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-Time,Dispenser 2 Pressure
-13:39:54.945,0.119816958904266
-13:39:55.045,0.11277437210083
-13:39:55.145,0.119816958904266
-13:39:55.245,0.11629581451416
-13:39:55.345,0.11277437210083
-13:39:55.445,0.119816958904266
-13:39:55.545,0.119816958904266
-13:39:55.645,0.119816958904266
-13:39:55.745,0.11629581451416
-13:39:55.845,0.11629581451416
-13:39:55.945,0.11629581451416
-13:39:56.045,0.126859545707703
-13:39:56.145,0.119816958904266
-13:39:56.245,0.119816958904266
-13:39:56.345,0.11629581451416
-13:39:56.445,0.11629581451416
-13:39:56.545,0.119816958904266
-13:39:56.645,0.11629581451416
-13:39:56.745,0.119816958904266
-13:39:56.845,0.11277437210083
-13:39:56.945,0.119816958904266
-13:39:57.045,0.123338103294373
-13:39:57.145,0.11629581451416
-13:39:57.245,0.11277437210083
-13:39:57.345,0.119816958904266
-13:39:57.445,0.123338103294373
-13:39:57.545,0.119816958904266
-13:39:57.645,0.11629581451416
-13:39:57.745,0.123338103294373
-13:39:57.845,0.11629581451416
-13:39:57.945,0.11629581451416
-13:39:58.045,0.119816958904266
-13:39:58.145,0.11277437210083
-13:39:58.245,0.123338103294373
-13:39:58.345,0.119816958904266
-13:39:58.445,0.119816958904266
-13:39:58.545,0.119816958904266
-13:39:58.645,0.11629581451416
-13:39:58.745,0.119816958904266
-13:39:58.845,0.109253227710724
-13:39:58.945,0.123338103294373
-13:39:59.045,0.123338103294373
-13:39:59.145,0.123338103294373
-13:39:59.245,0.11629581451416
-13:39:59.345,0.119816958904266
-13:39:59.445,0.123338103294373
-13:39:59.545,0.109253227710724
-13:39:59.645,0.119816958904266
-13:39:59.745,0.119816958904266
-13:39:59.845,0.11277437210083
-13:39:59.945,0.11629581451416
-13:40:00.045,0.11629581451416
-13:40:00.145,0.119816958904266
-13:40:00.245,0.11277437210083
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv
deleted file mode 100644
index bdc3c7c8d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Motor Frequency.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-Time,Dispenser 3 Motor Frequency
-13:39:54.945,0
-13:39:55.245,0
-13:39:55.545,0
-13:39:55.845,0
-13:39:56.145,0
-13:39:56.445,0
-13:39:56.745,0
-13:39:57.045,0
-13:39:57.345,0
-13:39:57.645,0
-13:39:57.945,0
-13:39:58.245,0
-13:39:58.545,0
-13:39:58.845,0
-13:39:59.145,0
-13:39:59.445,0
-13:39:59.745,0
-13:40:00.045,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv
deleted file mode 100644
index 8f0a93237..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Dispenser 3 Pressure.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-Time,Dispenser 3 Pressure
-13:39:54.945,-0.00342711806297302
-13:39:55.045,-0.00342711806297302
-13:39:55.145,-0.00342711806297302
-13:39:55.245,-0.00342711806297302
-13:39:55.345,-0.00342711806297302
-13:39:55.445,-0.00342711806297302
-13:39:55.545,-0.00342711806297302
-13:39:55.645,-0.00342711806297302
-13:39:55.745,-0.00342711806297302
-13:39:55.845,-0.00342711806297302
-13:39:55.945,-0.00342711806297302
-13:39:56.045,-0.00342711806297302
-13:39:56.145,-0.00342711806297302
-13:39:56.245,-0.00342711806297302
-13:39:56.345,-0.00342711806297302
-13:39:56.445,-0.00342711806297302
-13:39:56.545,-0.00342711806297302
-13:39:56.645,-0.00342711806297302
-13:39:56.745,-0.00342711806297302
-13:39:56.845,-0.00342711806297302
-13:39:56.945,-0.00342711806297302
-13:39:57.045,-0.00342711806297302
-13:39:57.145,-0.00342711806297302
-13:39:57.245,-0.00342711806297302
-13:39:57.345,-0.00342711806297302
-13:39:57.445,-0.00342711806297302
-13:39:57.545,-0.00342711806297302
-13:39:57.645,-0.00342711806297302
-13:39:57.745,-0.00342711806297302
-13:39:57.845,-0.00342711806297302
-13:39:57.945,-0.00342711806297302
-13:39:58.045,-0.00342711806297302
-13:39:58.145,-0.00342711806297302
-13:39:58.245,-0.00342711806297302
-13:39:58.345,-0.00342711806297302
-13:39:58.445,-0.00342711806297302
-13:39:58.545,-0.00342711806297302
-13:39:58.645,-0.00342711806297302
-13:39:58.745,-0.00342711806297302
-13:39:58.845,-0.00342711806297302
-13:39:58.945,-0.00342711806297302
-13:39:59.045,-0.00342711806297302
-13:39:59.145,-0.00342711806297302
-13:39:59.245,-0.00342711806297302
-13:39:59.345,-0.00342711806297302
-13:39:59.445,-0.00342711806297302
-13:39:59.545,-0.00342711806297302
-13:39:59.645,-0.00342711806297302
-13:39:59.745,-0.00342711806297302
-13:39:59.845,-0.00342711806297302
-13:39:59.945,-0.00342711806297302
-13:40:00.045,-0.00342711806297302
-13:40:00.145,-0.00342711806297302
-13:40:00.245,-0.00342711806297302
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv
deleted file mode 100644
index 5080effe1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Feeder Motor.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-Time,Feeder Motor
-13:39:54.945,0
-13:39:55.045,0
-13:39:55.145,0
-13:39:55.245,0
-13:39:55.345,0
-13:39:55.445,0
-13:39:55.545,0
-13:39:55.645,0
-13:39:55.745,0
-13:39:55.845,0
-13:39:55.945,0
-13:39:56.045,0
-13:39:56.145,0
-13:39:56.245,0
-13:39:56.345,0
-13:39:56.445,0
-13:39:56.545,0
-13:39:56.645,0
-13:39:56.745,0
-13:39:56.845,0
-13:39:56.945,0
-13:39:57.045,0
-13:39:57.145,0
-13:39:57.245,0
-13:39:57.345,0
-13:39:57.445,0
-13:39:57.545,0
-13:39:57.645,0
-13:39:57.745,0
-13:39:57.845,0
-13:39:57.945,0
-13:39:58.045,0
-13:39:58.145,0
-13:39:58.245,0
-13:39:58.345,0
-13:39:58.445,0
-13:39:58.545,0
-13:39:58.645,0
-13:39:58.745,0
-13:39:58.845,0
-13:39:58.945,0
-13:39:59.045,0
-13:39:59.145,0
-13:39:59.245,0
-13:39:59.345,0
-13:39:59.445,0
-13:39:59.545,0
-13:39:59.645,0
-13:39:59.745,0
-13:39:59.845,0
-13:39:59.945,0
-13:40:00.045,0
-13:40:00.145,0
-13:40:00.245,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/MIDTANK_JIG.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/MIDTANK_JIG.cs
deleted file mode 100644
index 6b864dfee..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/MIDTANK_JIG.cs
+++ /dev/null
@@ -1,480 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 System.Timers;
-
-
-// private static System.Timers.Timer aTimer;
-
-//--------------------------------------------------------------------------------
-const Int32 I2C_ID = 2;
-const int UNIT_UNDER_TEST =3*8;
-const Int32 F3_VALVE_OUT = 0x600008e2;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\MidTank\\MidTankLog\\";
-string path2="C:\\MidTankLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
-uint [,] ADC_Add_Chnl = new uint [8,2] {
- {0x44,0x20},
- {0x44,0x08},
- {0x46,0x80},
- {0x46,0x20},
- {0x44,0x10},
- {0x44,0x04},
- {0x46,0x40},
- {0x46,0x10},
- };
-
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"Midtank1_Valve_Air","Not Test"}, //0
- {"Midtank1_Valve_Ink","Not Test"}, //1
- {"Midtank1_Pressure_Sensor","Not Test"}, //2
- {"Midtank2_Valve_Air","Not Test"}, //3
- {"Midtank2_Valve_Ink","Not Test"}, //4
- {"Midtank2_Pressure_Sensor","Not Test"}, //5
- {"Midtank3_Valve_Air","Not Test"}, //6
- {"Midtank3_Valve_Ink","Not Test"}, //7
- {"Midtank3_Pressure_Sensor","Not Test"}, //8
- {"Midtank4_Valve_Air","Not Test"}, //9
- {"Midtank4_Valve_Ink","Not Test"}, //10
- {"Midtank4_Pressure_Sensor","Not Test"}, //11
- {"Midtank5_Valve_Air","Not Test"}, //12
- {"Midtank5_Valve_Ink","Not Test"}, //13
- {"Midtank5_Pressure_Sensor","Not Test"}, //14
- {"Midtank6_Valve_Air","Not Test"}, //15
- {"Midtank6_Valve_Ink","Not Test"}, //16
- {"Midtank6_Pressure_Sensor","Not Test"}, //17
- {"Midtank7_Valve_Air","Not Test"}, //18
- {"Midtank7_Valve_Ink","Not Test"}, //19
- {"Midtank7_Pressure_Sensor","Not Test"}, //20
- {"Midtank8_Valve_Air","Not Test"}, //21
- {"Midtank8_Valve_Ink","Not Test"}, //22
- {"Midtank8_Pressure_Sensor","Not Test"}, //23
- };
-//-----------------------------------------------------
-string MIDTANK_Sn;
-//--------------------------------------------------------------------------------
- // private static void SetTimer()
- // {
- // // Create a timer with a one second interval.
- // aTimer = new System.Timers.Timer(1000);
-// // Hook up the Elapsed event for the timer.
-// aTimer.Elapsed += OnTimedEvent;
-// aTimer.AutoReset = true;
-// aTimer.Enabled = true;
-// }
-
-// private static void OnTimedEvent(Object source, ElapsedEventArgs e)
- // {
-// bool x=0;
-// if (x==true)
-// Label5.Text="Pros";
-// else
-//// Label5.Text=" ";
-// x = !x ;
-//
-// }
-
-
-
-
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "MIDTANK Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----MIDTANK Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" MIDTANK S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-//----------------------------
-
-bool BlinkOn = false;
-
-
-
-//--------------------------------------------------------------------------------
-
- button1.Click += (_,__) =>
-
- {
-// SetTimer();
-
-// Label5.Text="Pros";
-
-
-
-
-//--------------------------------------------------------------------------------
-
-
-
-
- Label5.Text = "Pros";
- // if (_click)
- // _show_text.Text = "Fail";
- // else
- // _show_text.Text = "Pass";
-
- // _click = !_click;
- // TextBox1.Text = "";
-
-
-
-//--------------------------------------------------------------------------------
-
-
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_MIDTANK_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"MIDTANK Test Report" );
- stubManager.Write("MIDTANK Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"MIDTANK S/N: \t" + TextBox1.Text );
- stubManager.Write("MIDTANK S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-//------------------------------- start test -----------
- Test_MIDTANK();
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
-
- // _show_text.Text =Status;
-
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
-
- //------------------------------------
-int Test_MIDTANK()
-{
- double Pressur_Volt;
- double temp;
- for (Int32 i=1;i<9;i++)
- {
- open_valve(i,0,1) ; //open Air valve
- open_valve(i,1,1) ; //open Ink valve
- Thread.Sleep(2000);
- Pressur_Volt=read_pressuere_sense(i);
- if ((Pressur_Volt>3 )||(Pressur_Volt<2))
- {
- Units_status[(i-1)*3+2,1]="Fail";
- stubManager.Write("pressuere_sense of midtank" + i +"\tFail\n");
- }
- else
- {
- close_valve(i,1,0) ; //close Ink valve
- DialogResult result = MessageBox.Show("ADD 20cc air thru Air valve of Midtank"+ i, "Warning");
- close_valve(i,0,0) ; //close Air valve
- Thread.Sleep(2000);
-
- temp=read_pressuere_sense(i);
- temp=temp-Pressur_Volt;
- if ((temp>0.5) && ( temp <2))
- Units_status[(i-1)*3+2,1]="Pass";
- else
- Units_status[(i-1)*3+2,1]="Fail";
- }
-
- close_valve(i,0,0) ; //close Air valve
- close_valve(i,1,0) ; //close Ink valve
- }
- return 1;
-}
-
-double read_pressuere_sense(Int32 Midtank_Nm)
-{
-double Pressur_Volt;
- adc_configuration((ADC_Add_Chnl[Midtank_Nm-1,0]),(ADC_Add_Chnl[Midtank_Nm-1,1]) ); //configure address and channel of midtank
- adc_set_for_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
- Pressur_Volt =adc_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
-
- stubManager.Write("pressure sense of midtank " + Midtank_Nm + "is " + Pressur_Volt+ "Volt\n");
- return Pressur_Volt;
-}
-
-
-//--------------------------------
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 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(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-//--------------------------------
-
-double adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- double calc;
- double calc1;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
- calc1 = (1.96- calc) * 4.64 + 1.96;
- return calc1;
- }
-//--------------------------------
-int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
-{
- int temp1=Convert_Midtank_No[valve_nm-1] ;
-
- string temp;
- SetBit (F3_VALVE_OUT,((valve_type+1)*8)- temp1, 1);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tOpen\n");
- return 1;
- }
-
- }
- return 1;
-
-}
-//--------------------------------
-int close_valve (int valve_nm,int valve_type,int check_valve)
-{
- int temp1=Convert_Midtank_No[valve_nm-1];
-
- string temp;
- SetBit (F3_VALVE_OUT,((valve_type+1)*8)- temp1, 0);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tclose\n");
- return 1;
- }
- }
- return 1;
-
-
-
-
-}
-//--------------------------------
-Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , F3_VALVE_OUT);
- Int32 RV = (Int32) response.Value & 0xffff;
-
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV);
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT , RV);
- }
- return 1;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------MidTank Fail ------------ ");
- stubManager.Write("-------------MidTank Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------MidTank Pass ------------ )");
- stubManager.Write("-------------MidTank Pass ------------ ");
- }
-
- return Stemp;
-
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs
deleted file mode 100644
index bacbfdcc1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_Valves_test.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-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 "..\Defines\Tango_Defines_GPO.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_GPO.cs"
-
-
-public void OnExecute(StubManager stubManager)
-{
-int i=0;
-int midtankno = 0;
-while(midtankno!=99)
- {
- var response = stubManager.ShowResponseWindow("Enter 1-16 to open Midtank, 101-116 to close , 0 - open all midtank ,100-close all midtank: press 99 to quit ", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- midtankno = int.Parse(response);
-
-
- if(midtankno==0 )
- {
- for (i=0;i<16;i++)
- {
- SetBit (FPGA3, F3_VALVE_OUT,15-i, 1);
- stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " On\n");
- Thread.Sleep(1000);
- }
- }
- else if(midtankno==100 )
- {
- for (i=0;i<16;i++)
- {
- SetBit (FPGA3, F3_VALVE_OUT,15- i, 0);
- stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " Off\n");
- Thread.Sleep(1000);
- }
- }
-
- else if(midtankno<17 )
- {
- midtankno=midtankno-1; //start from 0 to 15
- SetBit (FPGA3, F3_VALVE_OUT,15- i, 1);
- stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " On\n");
- }
-
- else if(midtankno>100 )
- {
- midtankno=midtankno-101; //start from 0 to 15
- SetBit (FPGA3, F3_VALVE_OUT,15- i, 0);
- stubManager.Write("Setting GPO F3_VALVE_OUT, bit " + (15-i) + " Off\n");
- }
- }
-
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs
index e2bacf5f4..682ef322d 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Midtank_pressure_sensors.cs
@@ -90,7 +90,6 @@ int adc_set_for_read_ch(uint I2C_Slave_Add)
}
-
int adc_read_ch(uint I2C_Slave_Add)
{
StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
@@ -99,27 +98,16 @@ int adc_read_ch(uint I2C_Slave_Add)
stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- UInt32 temph=0;
- UInt32 templ=0;
- UInt32 temp;
- double calc;
- double calc1;
+ uint temph=0;
+ uint templ=0;
+ uint temp;
for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i=i+2)
{
temph=response1.ReadBytes[i];
templ=response1.ReadBytes[i+1];
temp = (temph << 8) | templ;
temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
- calc1 = (1.96- calc) * 4.64 + 1.96;
-
-
- // temp=temp*3300;
- // temp=temp/4096;
-
- stubManager.Write(calc1);
- stubManager.Write("mV\n");
+ stubManager.WriteHex(temp,4);
}
@@ -133,49 +121,47 @@ public void OnExecute(StubManager stubManager)
{
- stubManager.Write("-----------MIDTANK_PRESSESENS-----------\n ");
+ stubManager.Write("\n-----------MIDTANK_PRESSESENS----------- ");
- stubManager.Write("Midtank-1= ");
+ stubManager.Write("\n1_1= ");
adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
+// adc_set_for_read_temp(0x44);
+// adc_read_temp(0x44);
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
+
+ stubManager.Write("\n1_2= ");
+ adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
adc_set_for_read_ch(0x44);
adc_read_ch(0x44);
-
- stubManager.Write("Midtank-2= ");
+ stubManager.Write("\n2_1= ");
adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
adc_set_for_read_ch(0x44);
adc_read_ch(0x44);
+ stubManager.Write("\n2_2= ");
+ adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
+ adc_set_for_read_ch(0x44);
+ adc_read_ch(0x44);
- stubManager.Write("Midtank-3= ");
+ stubManager.Write("\n3_1= ");
adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
-
- stubManager.Write("Midtank-4= ");
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
+
+ stubManager.Write("\n3_2= ");
+ adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
-
-
- stubManager.Write("Midtank-5= ");
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44);
-
- stubManager.Write("Midtank-6= ");
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44);
-
- stubManager.Write("Midtank-7= ");
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
+ stubManager.Write("\n4_1= ");
+ adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
- stubManager.Write("Midtank-8= ");
+ stubManager.Write("\n4_2= ");
adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
adc_set_for_read_ch(0x46);
adc_read_ch(0x46);
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
deleted file mode 100644
index 00ca4e8eb..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
+++ /dev/null
@@ -1,451 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-
-//----------------------
-const double MIN_SLOP=0.7;
-const double MAX_SLOP=1.4;
-const double ERROR_SLOP=-1;
-const double MIN_50cc_on_volt=2.3;
-const double MAX_50cc_on_volt=3.2;
-const double ERROR_50cc_on_volt=-1;
-
-int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
-uint [,] ADC_Add_Chnl = new uint [8,2] {
- {0x44,0x20},
- {0x44,0x08},
- {0x46,0x80},
- {0x46,0x20},
- {0x44,0x10},
- {0x44,0x04},
- {0x46,0x40},
- {0x46,0x10},
- };
-
-
-const Int32 F3_VALVE_OUT = 0x600008E2 ;
-string Machine_SN ;
-private const string FILE_PATH = @"C:\MidTankLog\";
-string File_name;
-double Full_Cartridge=1000; // on CC
-double Slop=0.92;
-//----------------------
-const Int32 I2C_ID = 2;
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 Timout ;
- Int32 Interval;
- Int32 midtankno = 0;
- double Full_Point=0; //on Voltage
- double resualt;
- double Sum=0 ;
- double Old_Sum=0 ;
- double Start_Point=0;
-
-
- if (!Directory.Exists(FILE_PATH))
- {
- Directory.CreateDirectory(FILE_PATH);
- }
-
-
-
- var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
- stubManager.Write("\n");
- Machine_SN = response;
- stubManager.WriteLine(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
- stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
-
-
- var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
- stubManager.WriteLine(response1);
- midtankno = Int32.Parse(response1);
- stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
- if (midtankno==8)
- {
- Slop=1;
- Timout=60; //60 minutes
- Interval=60; //60 second
- }
- else
- {
- Slop=0.92;
- Timout=10*2; //10 minutes
- Interval=30; //30 second
-
- }
- var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
- stubManager.WriteLine(response10);
- Full_Cartridge = double.Parse(response10);
- stubManager.AppendToFile(File_name,"Cartridge Valume:\t" + response10);
- stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
-
-
- DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
-
-
-
- string box_msg = "Please Insert cartridge ";
-
- MessageBox.Show(box_msg);
-
- open_valve(midtankno,1,1) ; //open Air valve
- open_valve(midtankno,0,1) ; //open Ink valve
- Int32 i=0;
- while (i<Timout) //check for 15 minitus
- {
- Sum=0;
- for (Int32 j=0;j<Interval;j++)
- {
- resualt=read_pressure_sensor(midtankno);
- stubManager.AppendToFile(File_name,resualt+",V");
- Sum=Sum+resualt;
- Thread.Sleep(1000);
- }
-
-
- if (i==0)
- Start_Point=Sum/Interval;
-
- if (Sum>Old_Sum)
- Old_Sum=Sum-Old_Sum;
- else
- Old_Sum=Old_Sum-Sum;
-
-
- if ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))
- {
- i++;
- if ( Old_Sum <0.02)
- i=Timout+1; //end
- Old_Sum=Sum;
- }
- else
- {
- open_valve(midtankno,1,0) ; //open Air valve
- open_valve(midtankno,0,0) ; //open Ink valve
- Old_Sum=0;
-
- }
- }
- Full_Point=Sum/Interval;
-
-
- close_valve(midtankno,1,1) ; //close Air valve
- close_valve(midtankno,0,1) ; //close Ink valve
-
-
- if (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)
- {
- box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
- }
- else
- {
- box_msg ="Calibration error";
- MessageBox.Show(box_msg);
-
- }
- }
-
-}
-
-
- int insert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)
-{
- stubManager.Write("\n StartPoint = "+ StartPoint +" \n");
- stubManager.Write("\n FullPoint = "+ FullPoint +" \n");
-
- StartPoint=FullPoint-StartPoint;
- StartPoint=1000*StartPoint/Full_Cartridge;
-
- stubManager.Write("\n slop = "+ StartPoint +" \n");
-
- if ((StartPoint>0.7 ) && (StartPoint<1.6 ))
- {
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
- midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
- midTankData.SlopeB = Slop;
-
- stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
- stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
-
- var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
- return 0;
- }
- else
- stubManager.Write("\nError");
- stubManager.AppendToFile(File_name,"\n Slop Error");
- return 1;
-
-}
-
-
-int adc_configuration(uint I2C_Slave_Add,uint channel )
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 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(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
- }
-
-
-
-
-double adc_read_ch(uint I2C_Slave_Add)
- {
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- double calc;
- double calc1;
- double calc2;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- calc = (double)temp *2.5 / 4096.0;
-
- calc1 = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("Vsensor [volts]:\t");
- stubManager.Write(calc1 + "\n");
-
-
- return calc1;
- }
-
-double read_pressure_sensor(Int32 i )
- {
-double resualt =0 ;
- switch (i)
- {
- case 1:
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 2:
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 3:
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 4:
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 5:
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 6:
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- resualt=adc_read_ch(0x44);
- break;
-
- case 7:
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- case 8:
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- resualt=adc_read_ch(0x46);
- break;
-
- default:
- stubManager.Write("Error");
-
- break;
- }
-
- return resualt;
- }
-
-
-//--------------------------------
-int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
-{
- int temp1=Convert_Midtank_No[valve_nm-1] ;
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
-
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tOpen\n");
- return 1;
- }
-
- }
- return 1;
-
-}
-//--------------------------------
-int close_valve (int valve_nm,int valve_type,int check_valve)
-{
- int temp1=Convert_Midtank_No[valve_nm-1];
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
-// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tclose\n");
- return 1;
- }
- }
- return 1;
-
-}
-
-public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- Int32 RV = (Int32) RetVal.Value;
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- Fpga_Write_Reg( Adr, RV );
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- Fpga_Write_Reg(Adr, RV );
- }
- return 1;
-}
-
-int Fpga_Write_Reg(Int32 Addr, Int32 Data)
-{
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
-
- return 1;
-}
-
-
-Int32 check_valve (Int32 valve_nm,int valve_type)
-{
- Int32 temp1=Convert_Midtank_No[valve_nm-1];
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT);
- Int32 RV =(Int32) response.Value & 0xffff ;
- RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));
- return RV;
-
-}
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
- response.Value = response.Value & 0xffff;
-
- return response;
-}
-
-
-
-
-//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv
deleted file mode 100644
index e42f3c309..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Poller Motor.csv
+++ /dev/null
@@ -1,55 +0,0 @@
-Time,Poller Motor
-13:39:54.945,0
-13:39:55.045,0
-13:39:55.145,0
-13:39:55.245,0
-13:39:55.345,0
-13:39:55.445,0
-13:39:55.545,0
-13:39:55.645,0
-13:39:55.745,0
-13:39:55.845,0
-13:39:55.945,0
-13:39:56.045,0
-13:39:56.145,0
-13:39:56.245,0
-13:39:56.345,0
-13:39:56.445,0
-13:39:56.545,0
-13:39:56.645,0
-13:39:56.745,0
-13:39:56.845,0
-13:39:56.945,0
-13:39:57.045,0
-13:39:57.145,0
-13:39:57.245,0
-13:39:57.345,0
-13:39:57.445,0
-13:39:57.545,0
-13:39:57.645,0
-13:39:57.745,0
-13:39:57.845,0
-13:39:57.945,0
-13:39:58.045,0
-13:39:58.145,0
-13:39:58.245,0
-13:39:58.345,0
-13:39:58.445,0
-13:39:58.545,0
-13:39:58.645,0
-13:39:58.745,0
-13:39:58.845,0
-13:39:58.945,0
-13:39:59.045,0
-13:39:59.145,0
-13:39:59.245,0
-13:39:59.345,0
-13:39:59.445,0
-13:39:59.545,0
-13:39:59.645,0
-13:39:59.745,0
-13:39:59.845,0
-13:39:59.945,0
-13:40:00.045,0
-13:40:00.145,0
-13:40:00.245,0
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv
deleted file mode 100644
index 9efc47b7e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Right Dancer.csv
+++ /dev/null
@@ -1,541 +0,0 @@
-Time,Right Dancer
-13:39:54.945,12900
-13:39:54.955,12900
-13:39:54.965,12900
-13:39:54.975,12900
-13:39:54.985,12900
-13:39:54.995,12900
-13:39:55.005,12900
-13:39:55.015,12900
-13:39:55.025,12900
-13:39:55.035,12900
-13:39:55.045,12900
-13:39:55.055,12900
-13:39:55.065,12900
-13:39:55.075,12900
-13:39:55.085,12900
-13:39:55.095,12900
-13:39:55.105,12900
-13:39:55.115,12900
-13:39:55.125,12900
-13:39:55.135,12900
-13:39:55.145,12900
-13:39:55.155,12900
-13:39:55.165,12900
-13:39:55.175,12900
-13:39:55.185,12900
-13:39:55.195,12900
-13:39:55.205,12900
-13:39:55.215,12900
-13:39:55.225,12900
-13:39:55.235,12900
-13:39:55.245,12900
-13:39:55.255,12900
-13:39:55.265,12900
-13:39:55.275,12900
-13:39:55.285,12900
-13:39:55.295,12900
-13:39:55.305,12900
-13:39:55.315,12900
-13:39:55.325,12900
-13:39:55.335,12900
-13:39:55.345,12900
-13:39:55.355,12900
-13:39:55.365,12900
-13:39:55.375,12900
-13:39:55.385,12900
-13:39:55.395,12900
-13:39:55.405,12900
-13:39:55.415,12900
-13:39:55.425,12900
-13:39:55.435,12900
-13:39:55.445,12900
-13:39:55.455,12900
-13:39:55.465,12900
-13:39:55.475,12900
-13:39:55.485,12900
-13:39:55.495,12900
-13:39:55.505,12900
-13:39:55.515,12900
-13:39:55.525,12900
-13:39:55.535,12900
-13:39:55.545,12900
-13:39:55.555,12900
-13:39:55.565,12900
-13:39:55.575,12900
-13:39:55.585,12900
-13:39:55.595,12900
-13:39:55.605,12900
-13:39:55.615,12900
-13:39:55.625,12900
-13:39:55.635,12900
-13:39:55.645,12900
-13:39:55.655,12900
-13:39:55.665,12900
-13:39:55.675,12900
-13:39:55.685,12900
-13:39:55.695,12900
-13:39:55.705,12900
-13:39:55.715,12900
-13:39:55.725,12900
-13:39:55.735,12900
-13:39:55.745,12900
-13:39:55.755,12900
-13:39:55.765,12900
-13:39:55.775,12900
-13:39:55.785,12900
-13:39:55.795,12900
-13:39:55.805,12900
-13:39:55.815,12900
-13:39:55.825,12900
-13:39:55.835,12900
-13:39:55.845,12900
-13:39:55.855,12900
-13:39:55.865,12900
-13:39:55.875,12900
-13:39:55.885,12900
-13:39:55.895,12900
-13:39:55.905,12900
-13:39:55.915,12900
-13:39:55.925,12900
-13:39:55.935,12900
-13:39:55.945,12900
-13:39:55.955,12900
-13:39:55.965,12900
-13:39:55.975,12900
-13:39:55.985,12900
-13:39:55.995,12900
-13:39:56.005,12900
-13:39:56.015,12900
-13:39:56.025,12900
-13:39:56.035,12900
-13:39:56.045,12900
-13:39:56.055,12900
-13:39:56.065,12900
-13:39:56.075,12900
-13:39:56.085,12900
-13:39:56.095,12900
-13:39:56.105,12900
-13:39:56.115,12900
-13:39:56.125,12900
-13:39:56.135,12900
-13:39:56.145,12900
-13:39:56.155,12900
-13:39:56.165,12900
-13:39:56.175,12900
-13:39:56.185,12900
-13:39:56.195,12900
-13:39:56.205,12900
-13:39:56.215,12900
-13:39:56.225,12900
-13:39:56.235,12900
-13:39:56.245,12900
-13:39:56.255,12900
-13:39:56.265,12900
-13:39:56.275,12900
-13:39:56.285,12900
-13:39:56.295,12900
-13:39:56.305,12900
-13:39:56.315,12900
-13:39:56.325,12900
-13:39:56.335,12900
-13:39:56.345,12900
-13:39:56.355,12900
-13:39:56.365,12900
-13:39:56.375,12900
-13:39:56.385,12900
-13:39:56.395,12900
-13:39:56.405,12900
-13:39:56.415,12900
-13:39:56.425,12900
-13:39:56.435,12900
-13:39:56.445,12900
-13:39:56.455,12900
-13:39:56.465,12900
-13:39:56.475,12900
-13:39:56.485,12900
-13:39:56.495,12900
-13:39:56.505,12900
-13:39:56.515,12900
-13:39:56.525,12900
-13:39:56.535,12900
-13:39:56.545,12900
-13:39:56.555,12900
-13:39:56.565,12900
-13:39:56.575,12900
-13:39:56.585,12900
-13:39:56.595,12900
-13:39:56.605,12900
-13:39:56.615,12900
-13:39:56.625,12900
-13:39:56.635,12900
-13:39:56.645,12900
-13:39:56.655,12900
-13:39:56.665,12900
-13:39:56.675,12900
-13:39:56.685,12900
-13:39:56.695,12900
-13:39:56.705,12900
-13:39:56.715,12900
-13:39:56.725,12900
-13:39:56.735,12900
-13:39:56.745,12900
-13:39:56.755,12900
-13:39:56.765,12900
-13:39:56.775,12900
-13:39:56.785,12900
-13:39:56.795,12900
-13:39:56.805,12900
-13:39:56.815,12900
-13:39:56.825,12900
-13:39:56.835,12900
-13:39:56.845,12900
-13:39:56.855,12900
-13:39:56.865,12900
-13:39:56.875,12900
-13:39:56.885,12900
-13:39:56.895,12900
-13:39:56.905,12900
-13:39:56.915,12900
-13:39:56.925,12900
-13:39:56.935,12900
-13:39:56.945,12900
-13:39:56.955,12900
-13:39:56.965,12900
-13:39:56.975,12900
-13:39:56.985,12900
-13:39:56.995,12900
-13:39:57.005,12900
-13:39:57.015,12900
-13:39:57.025,12900
-13:39:57.035,12900
-13:39:57.045,12900
-13:39:57.055,12900
-13:39:57.065,12900
-13:39:57.075,12900
-13:39:57.085,12900
-13:39:57.095,12900
-13:39:57.105,12900
-13:39:57.115,12900
-13:39:57.125,12900
-13:39:57.135,12900
-13:39:57.145,12900
-13:39:57.155,12900
-13:39:57.165,12900
-13:39:57.175,12900
-13:39:57.185,12900
-13:39:57.195,12900
-13:39:57.205,12900
-13:39:57.215,12900
-13:39:57.225,12900
-13:39:57.235,12900
-13:39:57.245,12900
-13:39:57.255,12900
-13:39:57.265,12900
-13:39:57.275,12900
-13:39:57.285,12900
-13:39:57.295,12900
-13:39:57.305,12900
-13:39:57.315,12900
-13:39:57.325,12900
-13:39:57.335,12900
-13:39:57.345,12900
-13:39:57.355,12900
-13:39:57.365,12900
-13:39:57.375,12900
-13:39:57.385,12900
-13:39:57.395,12900
-13:39:57.405,12900
-13:39:57.415,12900
-13:39:57.425,12900
-13:39:57.435,12900
-13:39:57.445,12900
-13:39:57.455,12900
-13:39:57.465,12900
-13:39:57.475,12900
-13:39:57.485,12900
-13:39:57.495,12900
-13:39:57.505,12900
-13:39:57.515,12900
-13:39:57.525,12900
-13:39:57.535,12900
-13:39:57.545,12900
-13:39:57.555,12900
-13:39:57.565,12900
-13:39:57.575,12900
-13:39:57.585,12900
-13:39:57.595,12900
-13:39:57.605,12900
-13:39:57.615,12900
-13:39:57.625,12900
-13:39:57.635,12900
-13:39:57.645,12900
-13:39:57.655,12900
-13:39:57.665,12900
-13:39:57.675,12900
-13:39:57.685,12900
-13:39:57.695,12900
-13:39:57.705,12900
-13:39:57.715,12900
-13:39:57.725,12900
-13:39:57.735,12900
-13:39:57.745,12900
-13:39:57.755,12900
-13:39:57.765,12900
-13:39:57.775,12900
-13:39:57.785,12900
-13:39:57.795,12900
-13:39:57.805,12900
-13:39:57.815,12900
-13:39:57.825,12900
-13:39:57.835,12900
-13:39:57.845,12900
-13:39:57.855,12900
-13:39:57.865,12900
-13:39:57.875,12900
-13:39:57.885,12900
-13:39:57.895,12900
-13:39:57.905,12900
-13:39:57.915,12900
-13:39:57.925,12900
-13:39:57.935,12900
-13:39:57.945,12900
-13:39:57.955,12900
-13:39:57.965,12900
-13:39:57.975,12900
-13:39:57.985,12900
-13:39:57.995,12900
-13:39:58.005,12900
-13:39:58.015,12900
-13:39:58.025,12900
-13:39:58.035,12900
-13:39:58.045,12900
-13:39:58.055,12900
-13:39:58.065,12900
-13:39:58.075,12900
-13:39:58.085,12900
-13:39:58.095,12900
-13:39:58.105,12900
-13:39:58.115,12900
-13:39:58.125,12900
-13:39:58.135,12900
-13:39:58.145,12900
-13:39:58.155,12900
-13:39:58.165,12900
-13:39:58.175,12900
-13:39:58.185,12900
-13:39:58.195,12900
-13:39:58.205,12900
-13:39:58.215,12900
-13:39:58.225,12900
-13:39:58.235,12900
-13:39:58.245,12900
-13:39:58.255,12900
-13:39:58.265,12900
-13:39:58.275,12900
-13:39:58.285,12900
-13:39:58.295,12900
-13:39:58.305,12900
-13:39:58.315,12900
-13:39:58.325,12900
-13:39:58.335,12900
-13:39:58.345,12900
-13:39:58.355,12900
-13:39:58.365,12900
-13:39:58.375,12900
-13:39:58.385,12900
-13:39:58.395,12900
-13:39:58.405,12900
-13:39:58.415,12900
-13:39:58.425,12900
-13:39:58.435,12900
-13:39:58.445,12900
-13:39:58.455,12900
-13:39:58.465,12900
-13:39:58.475,12900
-13:39:58.485,12900
-13:39:58.495,12900
-13:39:58.505,12900
-13:39:58.515,12900
-13:39:58.525,12900
-13:39:58.535,12900
-13:39:58.545,12900
-13:39:58.555,12900
-13:39:58.565,12900
-13:39:58.575,12900
-13:39:58.585,12900
-13:39:58.595,12900
-13:39:58.605,12900
-13:39:58.615,12900
-13:39:58.625,12900
-13:39:58.635,12900
-13:39:58.645,12900
-13:39:58.655,12900
-13:39:58.665,12900
-13:39:58.675,12900
-13:39:58.685,12900
-13:39:58.695,12900
-13:39:58.705,12900
-13:39:58.715,12900
-13:39:58.725,12900
-13:39:58.735,12900
-13:39:58.745,12900
-13:39:58.755,12900
-13:39:58.765,12900
-13:39:58.775,12900
-13:39:58.785,12900
-13:39:58.795,12900
-13:39:58.805,12900
-13:39:58.815,12900
-13:39:58.825,12900
-13:39:58.835,12900
-13:39:58.845,12900
-13:39:58.855,12900
-13:39:58.865,12900
-13:39:58.875,12900
-13:39:58.885,12900
-13:39:58.895,12900
-13:39:58.905,12900
-13:39:58.915,12900
-13:39:58.925,12900
-13:39:58.935,12900
-13:39:58.945,12900
-13:39:58.955,12900
-13:39:58.965,12900
-13:39:58.975,12900
-13:39:58.985,12900
-13:39:58.995,12900
-13:39:59.005,12900
-13:39:59.015,12900
-13:39:59.025,12900
-13:39:59.035,12900
-13:39:59.045,12900
-13:39:59.055,12900
-13:39:59.065,12900
-13:39:59.075,12900
-13:39:59.085,12900
-13:39:59.095,12900
-13:39:59.105,12900
-13:39:59.115,12900
-13:39:59.125,12900
-13:39:59.135,12900
-13:39:59.145,12900
-13:39:59.155,12900
-13:39:59.165,12900
-13:39:59.175,12900
-13:39:59.185,12900
-13:39:59.195,12900
-13:39:59.205,12900
-13:39:59.215,12900
-13:39:59.225,12900
-13:39:59.235,12900
-13:39:59.245,12900
-13:39:59.255,12900
-13:39:59.265,12900
-13:39:59.275,12900
-13:39:59.285,12900
-13:39:59.295,12900
-13:39:59.305,12900
-13:39:59.315,12900
-13:39:59.325,12900
-13:39:59.335,12900
-13:39:59.345,12900
-13:39:59.355,12900
-13:39:59.365,12900
-13:39:59.375,12900
-13:39:59.385,12900
-13:39:59.395,12900
-13:39:59.405,12900
-13:39:59.415,12900
-13:39:59.425,12900
-13:39:59.435,12900
-13:39:59.445,12900
-13:39:59.455,12900
-13:39:59.465,12900
-13:39:59.475,12900
-13:39:59.485,12900
-13:39:59.495,12900
-13:39:59.505,12900
-13:39:59.515,12900
-13:39:59.525,12900
-13:39:59.535,12900
-13:39:59.545,12900
-13:39:59.555,12900
-13:39:59.565,12900
-13:39:59.575,12900
-13:39:59.585,12900
-13:39:59.595,12900
-13:39:59.605,12900
-13:39:59.615,12900
-13:39:59.625,12900
-13:39:59.635,12900
-13:39:59.645,12900
-13:39:59.655,12900
-13:39:59.665,12900
-13:39:59.675,12900
-13:39:59.685,12900
-13:39:59.695,12900
-13:39:59.705,12900
-13:39:59.715,12900
-13:39:59.725,12900
-13:39:59.735,12900
-13:39:59.745,12900
-13:39:59.755,12900
-13:39:59.765,12900
-13:39:59.775,12900
-13:39:59.785,12900
-13:39:59.795,12900
-13:39:59.805,12900
-13:39:59.815,12900
-13:39:59.825,12900
-13:39:59.835,12900
-13:39:59.845,12900
-13:39:59.855,12900
-13:39:59.865,12900
-13:39:59.875,12900
-13:39:59.885,12900
-13:39:59.895,12900
-13:39:59.905,12900
-13:39:59.915,12900
-13:39:59.925,12900
-13:39:59.935,12900
-13:39:59.945,12900
-13:39:59.955,12900
-13:39:59.965,12900
-13:39:59.975,12900
-13:39:59.985,12900
-13:39:59.995,12900
-13:40:00.005,12900
-13:40:00.015,12900
-13:40:00.025,12900
-13:40:00.035,12900
-13:40:00.045,12900
-13:40:00.055,12900
-13:40:00.065,12900
-13:40:00.075,12900
-13:40:00.085,12900
-13:40:00.095,12900
-13:40:00.105,12900
-13:40:00.115,12900
-13:40:00.125,12900
-13:40:00.135,12900
-13:40:00.145,12900
-13:40:00.155,12900
-13:40:00.165,12900
-13:40:00.175,12900
-13:40:00.185,12900
-13:40:00.195,12900
-13:40:00.205,12900
-13:40:00.215,12900
-13:40:00.225,12900
-13:40:00.235,12900
-13:40:00.245,12900
-13:40:00.255,12900
-13:40:00.265,12900
-13:40:00.275,12900
-13:40:00.285,12900
-13:40:00.295,12900
-13:40:00.305,12900
-13:40:00.315,12900
-13:40:00.325,12900
-13:40:00.335,12900
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv
deleted file mode 100644
index ac6f709b1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/Screw Motor.csv
+++ /dev/null
@@ -1 +0,0 @@
-Time,Screw Motor
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs
deleted file mode 100644
index d3aa81e83..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs
+++ /dev/null
@@ -1,151 +0,0 @@
-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.EmbeddedParameters;
-
-public void OnExecute(StubManager stubManager)
-{
- uint midtankno = 0;
- double Slop;
- double Zero_Point;
-
-MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
- var response = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- midtankno = uint.Parse(response);
-
- var response1 = stubManager.ShowResponseWindow("Enter Midtank Slop ", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- Slop = double.Parse(response1);
-
- var response2= stubManager.ShowResponseWindow("Enter Zero point (100cc)", "");
- //stubManager.WriteLine(response);
- stubManager.Write("\n");
- Zero_Point = double.Parse(response2);
-
- DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + "with Slop "+ Slop +" and Zero_Point " + Zero_Point , "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = midtankno-1;
- midTankData.InitialOffsetA = Zero_Point;
- midTankData.SlopeB = Slop;
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
- var response3 = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
- string box_msg ="Turn Power Off and On to finish the calibration.";
- MessageBox.Show(box_msg);
-
- }
-
-}
-
-
-
-//MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-//50cc [V] 1.93242734375 1.94375546875 1.9295953125 1.935259375 1.92109921875 2.8245171875 1.92676328125 1.92676328125
- //b [mL/V] -1 -1 -1 -1 -1 0.885922630082808 -1 -1
-/*
-MidTankData midTankData = new MidTankData();
-midTankData.MidTankId = 0;
-midTankData.InitialOffsetA = 2.64273428916931;
-midTankData.SlopeB = 0.899999976158142;
-
-MidTankData midTankData1 = new MidTankData();
-midTankData1.MidTankId = 1;
-midTankData1.InitialOffsetA = 2.63755464553833;
-midTankData1.SlopeB = 0.899999976158142;
-
-MidTankData midTankData2 = new MidTankData();
-midTankData2.MidTankId = 2;
-midTankData2.InitialOffsetA = 2.63525938987732;
-midTankData2.SlopeB = 0.899999976158142;
-
-MidTankData midTankData3 = new MidTankData();
-midTankData3.MidTankId = 3;
-midTankData3.InitialOffsetA = 1.4276158142;
-midTankData3.SlopeB = 0.899999976158142;
-
-
-MidTankData midTankData4 = new MidTankData();
-midTankData4.MidTankId = 4;
-midTankData4.InitialOffsetA = 2.61099219322205;
-midTankData4.SlopeB = 0.899999976158142;
-
-
-MidTankData midTankData5 = new MidTankData();
-midTankData5.MidTankId = 5;
-midTankData5.InitialOffsetA = 2.62451720237732;
-midTankData5.SlopeB = 0.899999976158142;
-
-
-MidTankData midTankData6 = new MidTankData();
-midTankData6.MidTankId = 6;
-midTankData6.InitialOffsetA = 2.62676334381104;
-midTankData6.SlopeB = 0.899999976158142;
-
-MidTankData midTankData7 = new MidTankData();
-midTankData7.MidTankId = 7;
-midTankData7.InitialOffsetA = 2.62676334381104;
-midTankData7.SlopeB = 0.899999976158142;
-
-
-
-midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData1);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData2);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData3);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData4);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData5);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData6);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData7);
-
-
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
- */
-
-//}
-
-/*
- int insert_slop_t_eeprom()
-{
- stubManager.Write("\n ");
-
- MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-
- for (uint i=1;i<9;i++)
- {
- if (voltage_array[i,4]!= ERROR_SLOP)
- {
- MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = i-1;
- midTankData.InitialOffsetA = voltage_array[i,2];
- midTankData.SlopeB = voltage_array[i,4];
-
- stubManager.Write("\nMidtank No:" + i+ "=\tA="+voltage_array[i,2]+"\tSlop="+voltage_array[i,4]);
-
-
- midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-
- }
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-
-
- }
-}
-
-*/
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs
deleted file mode 100644
index 469772888..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/read_midtank_calibration.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-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)
-{
- int i;
-
- for(i=0;i<8;i++)
- {
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xA, i);
- stubManager.Write("\n Initial_Offset_A [#");
- stubManager.Write(i);
- stubManager.Write("] = ");
- stubManager.WriteLine(response.Progress);
- }
-
- for(i=0;i<8;i++)
- {
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB, i);
- stubManager.Write("\n Slope_B [#");
- stubManager.Write(i);
- stubManager.Write("] = ");
- stubManager.WriteLine(response1.Progress);
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs
deleted file mode 100644
index f9555a05b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-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)
-{
- int sleep_up=2000;//2 second
- int sleep_dn=2000;//2 second
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Actuator.", "");
- //stubManager.WriteLine(response);
- int Loop_Nm = int.Parse(response);
-
- for (int i=0;i<Loop_Nm;i++)
- {
-
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
- Thread.Sleep(sleep_dn);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
- Thread.Sleep(sleep_dn);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- Thread.Sleep(sleep_up);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
- Thread.Sleep(sleep_up);
-
- }
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUTdown
- // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs
deleted file mode 100644
index 110a0f09b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int New_DyeHead_UNDER_TEST=48;
-
-const Int32 MGNET_OPEN=0x42F801;
-const Int32 MGNET_EN=0x42F701;
-const Int32 MGNET_CLOSE=0x42F800;
-const Int32 MGNET_DIS=0x42F700;
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-
-const Int32 DyeingHeadLid_Motor = 2;
-
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
- var response = stubManager.ShowResponseWindow("Enter Loop Number for Dye Head Lead.", "");
- //stubManager.WriteLine(response);
- int Loop_Nm = int.Parse(response);
-
- for (int i=0;i<Loop_Nm;i++)
- {
- if (Test_Magnet_Motor_LS_New_DyeHead() != 0 )
- {
- i=Loop_Nm;
- stubManager.Write("Error");
- }
- Thread.Sleep(2000);
- }
-}
-
-//-------------------------------------------------------------
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_DyeHead()
-{
- Int32 temp;
- int i=0;
-
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- Thread.Sleep(100);
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- Thread.Sleep(100);
-
- Thread.Sleep(1000);
-//---------------------- chekc Magnet is open ----------------------------
-// DialogResult result = MessageBox.Show("Make shure, Magnet is open and DyeHead cover on front.", "Warning",MessageBoxButtons.YesNo);
-// if(result == DialogResult.No)
-// {
-// stubManager.Write("Magnet is close\n");
-// return 0;
-// }
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp != 0)
- {
- stubManager.Write("LS_UPPER of Magnet is close\n");
- return 1;
- }
- stubManager.Write("Magnet is Open\n");
-
-
-//---------------------- Move DyeingHead Lid Motor rear----------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("*** Open Lid Head ********* \n");
-
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_REAR); // read LS_REAR
- Thread.Sleep(50);
-
- i++;
- }
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i==200)
- {
- stubManager.Write("LS_REAR Not calibrate\n");
- return 1;
- }
-
-//---------------------- Move DyeingHead Lid Motor front----------------------------
- stubManager.Write("*** Close Lid Head \n");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_FRONT); // read LS_FRONT
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i==200)
- {
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 1;
- }
-//---------------------- Close Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
- Thread.Sleep(2000);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
-
- stubManager.Write("Magnet is Close\n");
- Thread.Sleep(1000);
-
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp == 0)
- {
- stubManager.Write("LS_UPPER of Magnet is open\n");
- return 1;
- }
- stubManager.Write("LS_UPPER of Magnet is close\n");
- return 0;
- }
-
-Int32 read_pio(Int32 i2c_input)
-{
- Int32 temp=0;
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
-
- temp = (Int32) (response.Progress);
- temp =temp & (i2c_input& 0xff); //if break ok
-
- return temp;
-}
-//end mati
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
deleted file mode 100644
index 397999f12..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Read_Cartridge_Present.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-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
deleted file mode 100644
index 2c51aebe7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_sw.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-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
deleted file mode 100644
index 9b741d981..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/Tamper_switch.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-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
deleted file mode 100644
index 28d6f69fc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Other/ssr9-chiller.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-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/PowerStep01/Get_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs
deleted file mode 100644
index ebe0dbf0f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs
+++ /dev/null
@@ -1,227 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-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 ";
-
-public void OnExecute(StubManager stubManager)
-{
-
- var i = stubManager.ShowResponseWindow("Please Enter Motor ID:");
-
- stubManager.Write("Motor_ID:\t\t ");
- stubManager.Write(i);
- stubManager.Write("\n");
-
- stubManager.Write("ABS_POS:\t\t");
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("EL_POS:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MARK:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("SPEED:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ACC:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("DEC:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MAX_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MIN_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FS_SPD:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_HOLD:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_RUN:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_ACC:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_DEC:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("INT_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ST_SLP\\T_FAST:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FN_SLP_ACC\\TON_MIN:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FN_SLP_DEC\\TOFF_MIN:");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("K_THERM:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ADC_OUT:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("OCD_TH:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STALL_TH:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STEP_MODE:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ALARM_EN:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("GATECFG1:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("GATECFG2:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("CONFIG:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STATUS:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx
deleted file mode 100644
index ef3a94e64..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Book4.xlsx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx
deleted file mode 100644
index 6ea3df3ad..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Copy of Book4.xlsx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx
deleted file mode 100644
index 0d4bd4d8a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Logger Temprature/Logger data.xlsx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs
deleted file mode 100644
index 505444080..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev2.cs
+++ /dev/null
@@ -1,292 +0,0 @@
-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 !
-
-//General Configuration
-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_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-const Int32 x_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-//VOLTAGE / CURRENT
-const Int32 x_KTVAL_HOLD = 0x09;
-const Int32 x_KTVAL_RUN = 0x0A;
-const Int32 x_KTVAL_ACC = 0x0B;
-const Int32 x_KTVAL_DEC = 0x0C;
-const Int32 x_ST_SLP_T_FAST = 0x0E;
-const Int32 x_FN_SLP_ACC_TON_MIN = 0x0F;
-const Int32 x_FN_SLP_DEC_TOFF_MIN = 0x10;
-
-const Int32 x_INT_SPD = 0x0D;//voltage
-const Int32 x_K_THERM = 0x11;//VOLTAGE
-const Int32 x_STALL_TH = 0x14;//VOLTAGE
-
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-Int32 Start_index = 0; // start from motor
-
-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 ";
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 i = 0;
-
- Int32 motname = 0;
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
- for (i = Start_index; 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\tKTVAL_HOLD\tKTVAL_RUN\tTKVAL_ACC\tTKVAL_DEC\tOCD_TH\t\tSTALL_TH\tFS_SPD\n");
- stubManager.Write("------\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\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_KTVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_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_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- stubManager.Write("\n\n");
-
- }
-
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tINT_SPD\tST_SLP\t\tSLP_ACC_TON_MIN\tSLP_DEC_TOFF_MIN\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t---------------\t----------------\n");
- }
-
- 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_T_FAST)<<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_TON_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC_TOFF_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- stubManager.Write("\n\n");
-
- }
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t\t\t------------\t\t-----------\t\t-------------\t\t------------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n\n");
-
-
- }
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
- if((i%8 ==0) )
- {
- stubManager.Write("\n\n");
-
- stubManager.Write("MoTor\t\t\tABS_POS\tEL_POS\t\tMARK\t\tSPEED\t\tALARM_EN\tK_THERM\tADC_OUT\tDriver_Type\n");
- stubManager.Write("-----\t\t\t-------\t------\t\t----\t\t-----\t\t--------\t--------\t------\t\t---------\n");
- }
-
- stubManager.Write(Motor_ID[i]);
-
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex((response.RecivedData * 1000.0 / 67108.0),4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 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 > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- stubManager.Write("\t\tCurrent_Driver");
- else
- stubManager.Write("\t\tNo_Driver");
-
- stubManager.Write("\n\n");
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs
deleted file mode 100644
index 384c079fa..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs
+++ /dev/null
@@ -1,237 +0,0 @@
-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 !
-
-//General Configuration
-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;
-//VOLTAGE / CURRENT
-const Int32 x_KTVAL_HOLD = 0x09;
-const Int32 x_KTVAL_RUN = 0x0A;
-const Int32 x_KTVAL_ACC = 0x0B;
-const Int32 x_KTVAL_DEC = 0x0C;
-const Int32 x_INT_SPD = 0x0D;//voltage
-const Int32 x_ST_SLP_T_FAST = 0x0E;
-const Int32 x_FN_SLP_ACC_TON_MIN = 0x0F;
-const Int32 x_FN_SLP_DEC_TOFF_MIN = 0x10;
-const Int32 x_K_THERM = 0x11;//VOLTAGE
-const Int32 x_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_STALL_TH = 0x14;//VOLTAGE
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-const Int32 x_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-//VOLTAGE / CURRENT
-
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-//-------------------------------
-Int32 Start_index = 0; // start from motor
-
-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 ";
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 i = 0;
-
- Int32 motname = 0;
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-// stubManager.Write("\n\n");
- stubManager.Write("MoTor\tABS_POS\tEL_POS\tMARK\tSPEED\tACC\tDEC\tMAX_SPEED\tMIN_SPEED\tKTVAL_HOLD\tKTVAL_RUN\tTKVAL_ACC\tTKVAL_DEC\tINT_SPD\tT_FAST\t TON_MIN\tTOFF_MIN\tK_THERM\tADC_OUT\tOCD_TH\tSTALL_TH\tFS_SPD\tSTEP_MODE\tALARM_EN\tGATECFG1\tGATECFG2\tCONFIG\tSTATUS\n");
-// stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t----------\t---------\t---------\t---------\t------\t\t--------\t------\n");
-
-
-
- for (i = Start_index; i < Max_Motor_ID; i++)
- {
-
-// if((i%8 ==0) )
-// {
-// }
- //stubManager.Write(i);
-
- stubManager.Write(Motor_ID[i]);
- stubManager.Write("\t\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,6);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,6);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,6);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_HOLD)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_RUN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_ACC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_DEC)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP_T_FAST)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC_TON_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC_TOFF_MIN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- 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");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
-
-
-
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs
deleted file mode 100644
index 9571deb9e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Set_PowerStep01_Parameters.cs
+++ /dev/null
@@ -1,230 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-const Int32 x_ABS_POS = 0x01;
-const Int32 x_EL_POS = 0x02;
-const Int32 x_MARK = 0x03;
-const Int32 x_SPEED = 0x04;
-const Int32 x_ACC = 0x05;
-const Int32 x_DEC = 0x06;
-const Int32 x_MAX_SPEED = 0x07;
-const Int32 x_MIN_SPEED = 0x08;
-const Int32 x_FS_SPD = 0x15;
-const Int32 x_KVAL_HOLD = 0x09;
-const Int32 x_KVAL_RUN = 0x0A;
-const Int32 x_KVAL_ACC = 0x0B;
-const Int32 x_KVAL_DEC = 0x0C;
-const Int32 x_INT_SPD = 0x0D;
-const Int32 x_ST_SLP = 0x0E;
-const Int32 x_FN_SLP_ACC = 0x0F;
-const Int32 x_FN_SLP_DEC = 0x10;
-const Int32 x_K_THERM = 0x11;
-const Int32 x_ADC_OUT = 0x12;
-const Int32 x_OCD_TH = 0x13;
-const Int32 x_STALL_TH = 0x14;
-const Int32 x_STEP_MODE = 0x16;
-const Int32 x_ALARM_EN = 0x17;
-const Int32 x_CONFIG = 0x18;
-const Int32 x_STATUS = 0x19;
-//-------------------------------
-const Int32 x_GET_PARAM = 0x20;
-const Int32 x_SET_PARAM = 0x00;
-
-//-------------------------------
-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 ";
-
-public void OnExecute(StubManager stubManager)
-{
-
- var i = stubManager.ShowResponseWindow("Please Enter Motor ID:");
-
- stubManager.Write("Motor_ID:\t\t ");
- stubManager.Write(i);
- stubManager.Write("\n");
-/*
- stubManager.Write("ABS_POS:\t\t");
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("EL_POS:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MARK:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("SPEED:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ACC:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("DEC:\t\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MAX_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("MIN_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FS_SPD:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_HOLD:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8+0x5, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-*/
- stubManager.Write("KVAL\\TVAL_RUN:\t");
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8+0x20 , 0, 0) ; //3v
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_ACC:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8+0x20 , 0, 0); //3v
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("KVAL\\TVAL_DEC:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8+0x20 , 0, 0); //3v
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-/*
- stubManager.Write("INT_SPEED:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-*/
- stubManager.Write("ST_SLP\\T_FAST:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0); //0
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FN_SLP_ACC\\TON_MIN:\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0); //0
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("FN_SLP_DEC\\TOFF_MIN:");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0); //00
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-/*
- stubManager.Write("K_THERM:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("ADC_OUT:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("OCD_TH:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STALL_TH:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-*/
- stubManager.Write("STEP_MODE:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8+0x07, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-/*
- stubManager.Write("ALARM_EN:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("GATECFG1:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("GATECFG2:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("CONFIG:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
-
- stubManager.Write("STATUS:\t\t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\n");
- */
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs
deleted file mode 100644
index 9ffd0d9d5..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG.cs
+++ /dev/null
@@ -1,537 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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;
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-//string path2="C:\\RTFULog\\";
-
-//string File_Name1 ;
-//string Status;
-
-//-------------------DEFINE Motors------------------
-const Int32 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 RLOADING_Motor = 24;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-//-------------------DEFINE Limit Switch---------------
-const Int32 F1_LS_03_Direct =0x60000040;
-
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-const Int32 F1_LS_RDANCER_UP = 0x0100;
-const Int32 F1_LS_RDANCER_DOWN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DOWN = 0x0020;
-
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-const int UNIT_UNDER_TEST=3+1+5;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-string path2="C:\\RTFULog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"LS_RLOADMOTOR_Up","Not Test"}, //0
- {"LS_RLOADMOTOR_DOWN","Not Test"}, //1
- {"RLOADING_Motor","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"LS_RDANCER_DOWN","Not Test"}, //4
- {"LS_RDANCER_UP","Not Test"}, //5
- {"LS_RLOADRAM_DOWN","Not Test"}, //6
- {"RDANCER_Motor","Not Test"}, //7
- {"RDANCER_ROTENC","Not Test"}, //8
- };
-
-
-
-//-----------------------------------------------------
-string RTFU_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU Test Report" );
- stubManager.Write("RTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="Pros";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
- Test_RLOADING_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- Test_RDRIVING_RTFU();
- Test_DANCER_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
- //------------------------------------
-int Test_RLOADING_RTFU()
-{
- int temp=1;
- int counter;
-
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,100); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,100); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Fail ------------ ");
- stubManager.Write("-------------RTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Pass ------------ )");
- stubManager.Write("-------------RTFU Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs
deleted file mode 100644
index 500e153c4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_JIG1.cs
+++ /dev/null
@@ -1,552 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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;
-//--------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
-//string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-//string path2="C:\\RTFULog\\";
-
-//string File_Name1 ;
-//string Status;
-
-//-------------------DEFINE Motors------------------
-const Int32 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 RLOADING_Motor = 24;
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-//-------------------DEFINE Limit Switch---------------
-const Int32 F1_LS_03_Direct =0x60000040;
-
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-const Int32 F1_LS_RDANCER_UP = 0x0100;
-const Int32 F1_LS_RDANCER_DOWN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DOWN = 0x0020;
-
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-const int UNIT_UNDER_TEST=3+1+5;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\RTFU\\RTFULog\\";
-string path2="C:\\RTFULog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"LS_RLOADMOTOR_Up","Not Test"}, //0
- {"LS_RLOADMOTOR_DOWN","Not Test"}, //1
- {"RLOADING_Motor","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"LS_RDANCER_DOWN","Not Test"}, //4
- {"LS_RDANCER_UP","Not Test"}, //5
- {"LS_RLOADRAM_DOWN","Not Test"}, //6
- {"RDANCER_Motor","Not Test"}, //7
- {"RDANCER_ROTENC","Not Test"}, //8
- };
-
-
-
-//-----------------------------------------------------
-string RTFU_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-
- Label5.Text="Pros";
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU Test Report" );
- stubManager.Write("RTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-//------------------------------- start test -----------
- Test_RLOADING_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- Test_RDRIVING_RTFU();
- Test_DANCER_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
- //------------------------------------
-int Test_RLOADING_RTFU()
-{
- int temp=1;
- int counter;
-
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,200); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Fail ------------ ");
- stubManager.Write("-------------RTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Pass ------------ )");
- stubManager.Write("-------------RTFU Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs
deleted file mode 100644
index f448e0971..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/RTFU/RTFU_SSI1.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-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_SSI.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_SSI.cs"
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
- int k = 0;
-
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg1,0 );
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg2,0 );
-
- //Set output clock frequency to about 200 kHz
- Fpga_Write_Reg(FPGA1, F1_Prescaler1_reg1, 0x0024, 0);
- Fpga_Write_Reg(FPGA1, F1_Prescaler1_reg2, 0x0024, 0);
-
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg1, 0);
- Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg2, 0);
-
- for (int i = 0; i < 100; i++)
- {
-
-
- stubManager.Write("RDANCER1 - "+ ReadEncoder()+ "\n" );
-
-
-
-
- Thread.Sleep(400);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// SSI_Read_Write(FPGA1, F1_RDANCER_ROTENC_MSB, F1_RDANCER_ROTENC_LSB, F1_RDANCER_ROTENC_TX);
-// SSI_Read_Write(FPGA1, F1_RSPARE_ROTENC_MSB, F1_RSPARE_ROTENC_LSB, F1_RSPARE_ROTENC_TX);
-// stubManager.Write("\n");
-// k++;
-// if ( (k & 0x8) == 0x08 ) {
-// k = 0;
-// stubManager.Write(" RDANCER RSpeed \n");
-// }
-// Thread.Sleep(400);
- }
-
-
-}
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs
deleted file mode 100644
index c52424b2f..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/WHS_waste_Tank_Calibration_Save_V0.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-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;
-
-double V0_default_ml = 8.7433;
-
-public void OnExecute(StubManager stubManager)
-{
- var response1 = stubManager.ShowResponseWindow("Warning - you are going to change the value of Vo in the eeprom !!!\nPlease Enter Password to confirme:");
- if (response1=="Aa123456")
- {
- stubManager.WriteLine(response1);
-
- //Write_0_Vo_in_ml_to_eeprom
- stubManager.WriteLine("\nWrite_0_Vo_in_ml_to_eeprom");
- StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
- stubWhsEEpromRequest.BurnRequest = true; //write
- StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
- stubWhsEEpromData.Orifice1Flow = 0;
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //wait_10mSec
- stubManager.WriteLine("\nwait_10mSec");
- Thread.Sleep(100); //Sleep for 10 milli.
-
- //Read_Vo_in_ml_from_eeprom & verify it is 0
- stubManager.WriteLine("\nRead_Vo_in_ml_from_eeprom & verify it is 0");
- stubWhsEEpromRequest.BurnRequest = false; //write
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response2 = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //Read_Vo_in_mV
- stubManager.WriteLine("\nRead_Vo_in_mV");
- var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01);
- //Print_Vo_in_mV
- stubManager.WriteLine(response3.Progress);
-
- //check validity
- stubManager.WriteLine("\ncheck validity");
- if((response3.Progress <= 800) || (response3.Progress >=1200))
- {
- response3.Progress = 1076; //default
- stubManager.Write("\nERROR ------ Vreading value outside the defined range !!! ------");
- }
- else
- {
- //calculate_V0_in_ml
- stubManager.WriteLine("\ncalculate_V0_in_ml");
- V0_default_ml = V0_default_ml * response3.Progress;
-
- //print_Vo_in_ml
- stubManager.WriteLine("\nprint_Vo_in_ml");
- stubManager.WriteLine(V0_default_ml);
- stubManager.WriteLine("");
-
- //Write_Vo_in_ml_to_eeprom
- stubManager.WriteLine("\nWrite_Vo_in_ml_to_eeprom");
- stubWhsEEpromRequest.BurnRequest = true; //write
-
- stubWhsEEpromData.Orifice1Flow = V0_default_ml;
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response4 = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //wait_10mSec
- stubManager.WriteLine("\nwait_10mSec");
- Thread.Sleep(100); //Sleep for 10 milli.
-
- //Read_Vo_in_ml_from_eeprom
- stubManager.WriteLine("\nRead_Vo_in_ml_from_eeprom");
- stubWhsEEpromRequest.BurnRequest = false; //write
- stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
- var response5 = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
- //Check if we read the correct value
- stubManager.WriteLine("\nVerify that we read the correct value of Orifice1Flow!!");
- }
-
- stubManager.WriteLine("\n -- END OF SCRIPT -- ");
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
deleted file mode 100644
index 69f8e4d13..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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)
-{
- int x=0;
-
- // var response1 = stubManager.ShowResponseWindow("Please Enter fan value from 0 to 255:");
- // int x = Int32.Parse(response1);
-
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac2, x); //whs fan1 full
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac3, x); //whs fan2 full
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac4, x); //whs fan3 full
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac5, x); //whs fan4 full
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3ea, 6); //whs fan4 full
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs
deleted file mode 100644
index c72a7cd33..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/pump2.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-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)
-{
- Int32 i=0 ;
- while (i==0)
-{
- DialogResult result = MessageBox.Show("Do you want to open (Yes) or close (No) valve ?", "Warning",
- MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
- if(result == DialogResult.Yes)
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600000d2, 0x800);
-
- else if(result == DialogResult.No)
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x600000d2, 0x000);
- else if(result == DialogResult.Cancel)
- i=1;
-
-}
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs
deleted file mode 100644
index 88a2e703a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Screw_Encoder.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-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 temp ;
-
-
-
-
-
- // Request ----
-// UInt32 : Address
-
-// Response ----
-// UInt32 : Address
-// UInt32 : Value
-// String : Status
-// UInt32 : StatusWord
-
-while (true)
- {
-var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000100);
-var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000102);
-
-temp=(response.Value & 0xffff )+((response1.Value & 0xffff )<<16);
-temp=temp&0x0fffffff;
-stubManager.WriteHex(temp,8);
-stubManager.Write("\n");
-
- Thread.Sleep(100);
-
-}
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs
deleted file mode 100644
index 518cd5be3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Jig.cs
+++ /dev/null
@@ -1,370 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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"
-
-const Int32 FPGA1 = 0x60000000;
-const Int32 FPGA2 = 0x60000400;
-const Int32 FPGA3 = 0x60000800;
-const Int32 F1_LS_03_Direct = 0x040 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F1_SW_SPOOL_EXISTS F1_SW_SPARE F1_LS_RDANCER_DOWN F1_LS_RDANCER_UP F1_LS_RLOADMOTOR_DOWN F1_LS_RLOADMOTOR_UP F1_LS_RLOADRAM_DOWN F1_LS_RLOADRAM_UP F1_LS_RSPARE1 F1_LS_RSPARE2 F1_LS_SCREW_LEFT F1_LS_SCREW_RIGHT
-
-
-
-
-const int UNIT_UNDER_TEST=6;
-//--------------------------------------------------------------------------------
-string path1="P:\\Scripts\\Assemblies\\Winder\\WinderLog\\";
-string path2="C:\\WinderLog\\";
-
-string File_Name1 ;
-string Status;
-//---------------------------
-
-
-string [,] Units_status = new string[UNIT_UNDER_TEST,2] {
- {"Winder_Motor","Not Test"},
- {"Screw_Motor","Not Test"},
- {"LS_Screw_Right","Not Test"},
- {"LS_Screw_Left","Not Test"},
- {"Screw_Encoder","Not Test"},
- {"SW_Spool_Exist","Not Test"},
- };
-
-
-
-//-----------------------------------------------------
-string Winder_Sn;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
-string path="";
- Form form1 = new Form();
-
-// Set the caption bar text of the form.
-
- form1.Text = "Winder Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----Winder Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" Winder S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
-else
-path=path1;
-
-
-File_Name1=path + TextBox1.Text +"_Winder_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
-stubManager.Write(File_Name1 +"\n");
-stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name1,"Winder Test Report" );
-stubManager.Write("Winder Test Report\n" );
-
-stubManager.AppendToFile(File_Name1,"Winder S/N: \t" + TextBox1.Text );
-stubManager.Write("Winder S/N:" + TextBox1.Text +"\n" );
-
-
-stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
-stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-
-Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
-Label5.Location = new Point (300, 100);
-Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
-Label5.Text="Pros";
-Label5.Font = new Font("Arial", 24,FontStyle.Bold);
-form1.Controls.Add(Label5);
-
-
-//------------------------------- start test -----------
- Test_Winder_motor();
- Test_Screw_LS_Motor_Encoder ();
- Test_Pooler_Exist ();
-
-
-
- Status=write_to_file();
-
- Label5.Text=Status;
- TextBox1.Text="";
-};
-
- form1.ShowDialog();
-
- return ;
- }
-//------------------------------------------
-int Test_Winder_motor ()
-
-{
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,15, true, 500); //rotate Winder Motor.
- stubManager.Write("Winder Motor rotate \n ");
- DialogResult result = MessageBox.Show("Are Winder Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("Winder Motor not rotate\n");
- }
- else
- {
- Units_status[0,1]="Pass";
- stubManager.Write("Winder Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,15,3); //stop motor
-
- return 0;
-}
-
-
-//--------------------------------------------
- int Test_Screw_LS_Motor_Encoder()
-{
- UInt32 temp ;
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 250); //rotate screw Motor out.
- Thread.Sleep(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Did screw Motor move ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("Screw Motor not move\n");
- return 0;
- }
- Units_status[1,1]="Pass";
-
- stubManager.Write("Screw Motor rotate \n ");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, true, 250);
- stubManager.Write("\nMove screw in ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_03_Direct,0);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_SCREW_RIGHT Not calibrate\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- stubManager.Write("\nMove screw out \n");
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000100, 0x0000); //clear encoder
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000102, 0x0000); //clear encoder
-
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_03_Direct,1);
- Thread.Sleep(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LS_SCREW_LEFT Not calibrate\n");
- return 0;
- }
- Units_status[3,1]="Pass";
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000100);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000102);
-
- temp=(response.Value & 0xffff )+((response1.Value & 0xffff )<<16);
- temp=temp&0x0fffffff;
- temp= 0x4000000-temp;
- stubManager.Write("Encoder positio:" +temp+"\n");
-
- if ((temp>20000) && temp<28000)
- Units_status[4,1]="Pass";
- else
- Units_status[4,1]="Fail";
-
- return 1;
-}
- //---------------------------------------
-int Test_Pooler_Exist()
-{
- if ( (GetBit(FPGA1, F1_LS_03_Direct,11))==0)
- {
- Units_status[5,1]="Fail";
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Remove Spool");
- if ( (GetBit(FPGA1, F1_LS_03_Direct,11))!=0)
- Units_status[5,1]="Fail";
- else
- Units_status[5,1]="Pass";
-
- return 0 ;
-
-
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------Winder Fail ------------ ");
- stubManager.Write("-------------Winder Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------Winder Pass ------------ )");
- stubManager.Write("-------------Winder Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
-
-
-Int32 GetBit(Int32 Fpga, Int32 Adr, Int32 BitNo)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Fpga, Adr, 0);
- BitMask = 0x1 << BitNo;
- if ( ( (Int32) RetVal.Value & BitMask) == BitMask )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-
-}
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Fpga, Int32 Addr, Int32 Verbose)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , Fpga + Addr);
- response.Value = response.Value & 0xffff;
-
- if (Verbose == 1) {
- stubManager.Write("FPGA Reg. Read (FPGA Base, Addr, Data): (");
- stubManager.WriteHex(Fpga,4);
- stubManager.Write(", ");
- stubManager.WriteHex(Addr,4);
- stubManager.Write(", ");
- stubManager.WriteHex(response.Value,4);
- stubManager.Write(")");
- }
-
- return response;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs
deleted file mode 100644
index 46894812c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_Zero.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-const Int32 FPGA1 = 0x60000000;
-const Int32 FPGA2 = 0x60000400;
-const Int32 FPGA3 = 0x60000800;
-const Int32 F1_LS_03_Direct = 0x040 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F1_SW_SPOOL_EXISTS F1_SW_SPARE F1_LS_RDANCER_DOWN F1_LS_RDANCER_UP F1_LS_RLOADMOTOR_DOWN F1_LS_RLOADMOTOR_UP F1_LS_RLOADRAM_DOWN F1_LS_RLOADRAM_UP F1_LS_RSPARE1 F1_LS_RSPARE2 F1_LS_SCREW_LEFT F1_LS_SCREW_RIGHT
-
-//include "..\..\Defines\Tango_Defines_Basic.cs"
-//include "Tango_Defines_Motors.cs"
-
-
-public void OnExecute(StubManager stubManager)
-{
- Int32 position=30;
- UInt32 temp ;
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, false, 250); //rotate screw Motor out.
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
- Thread.Sleep(1000);
-
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,14, true, 50);
- stubManager.Write("\nMove screw in ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(FPGA1, F1_LS_03_Direct,0);
- Thread.Sleep(10);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,14,3); //stop motor
- Thread.Sleep(1000);
-
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,14, true, position );
- Thread.Sleep(1000);
-
-
-}
-
-
-
-
-Int32 GetBit(Int32 Fpga, Int32 Adr, Int32 BitNo)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Fpga, Adr, 0);
- BitMask = 0x1 << BitNo;
- if ( ( (Int32) RetVal.Value & BitMask) == BitMask )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-
-}
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Fpga, Int32 Addr, Int32 Verbose)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" , Fpga + Addr);
- response.Value = response.Value & 0xffff;
-
- if (Verbose == 1) {
- stubManager.Write("FPGA Reg. Read (FPGA Base, Addr, Data): (");
- stubManager.WriteHex(Fpga,4);
- stubManager.Write(", ");
- stubManager.WriteHex(Addr,4);
- stubManager.Write(", ");
- stubManager.WriteHex(response.Value,4);
- stubManager.Write(")");
- }
-
- return response;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs
deleted file mode 100644
index c0ada87e1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Winder/Winder_spoll_exist.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-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;
- int counter = 0;
- stubManager.Write("\nReading register F1_LS_03_Direct: ");
- var RetVal = Fpga_Read_Reg(FPGA1, F1_LS_03_Direct, 0);
- Temp=RetVal.Value & 0x0800;
- if (Temp==0x0800)
- {
- stubManager.Write("\nWinder Spoll Exist ");
- }
- else
- {
- stubManager.Write("\nWinder Spoll NOT Exist ");
- }
- Temp = RetVal.Value;
- stubManager.Write("\nActivate limit switches one-by-one");
-
- while ( counter != 100)
- {
- RetVal = Fpga_Read_Reg(FPGA1, F1_LS_03_Direct, 0);
- if (RetVal.Value != Temp)
- {
-// stubManager.Write("\nRegister F1_LS_03_Direct new value: ");
-// stubManager.WriteHex(RetVal.Value,4);
-
- Temp=RetVal.Value & 0x0800;
- if (Temp==0x0800)
- {
- stubManager.Write("\nWinder Spoll Exist ");
- }
- else
- {
- stubManager.Write("\nWinder Spoll NOT Exist ");
- }
-
-
-
- counter = counter + 1;
- }
- Thread.Sleep(50);
- Temp=RetVal.Value;
- }
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs
deleted file mode 100644
index c365c4884..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-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)
-{
-
- //Blower speed
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /*disable control loop*/0x0000 + /* speed =*/0xFFF); //Blower speed
- // to enable control loop send 0x1000
- // speed max voltage value is 0xFFF //12 bit (0xFFF) -> 5V
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs
deleted file mode 100644
index 740f0778d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Blower_Data.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-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)
-{
-//show current data
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3Ea, /*Head_Q=*/0x3000); //
-//start/stop whs control and set value
-int StopWhsControl = 0;
-int RestartWhsControl = 0x1000;
- stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E8, /*Head_Q=*/StopWhsControl + 2700); //
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E8, /*Head_Q=*/RestartWhsControl +2700); //
-
-//enable loop
-/*var response1 =*/ //stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5); //
-//500=1F4
-//250=FA
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs
deleted file mode 100644
index 045db16fe..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_speed.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-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
-
-
-//fan test
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0xFAC2, /*speed=*/0xFF); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan2*/0xFAC3, /*speed=*/0x80); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan3*/0xFAC4, /*speed=*/0x80); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan4*/0xFAC5, /*speed=*/0x80); //
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLineHex(response1.Progress,4);
-stubManager.WriteLineHex(response2.Progress,4);
-stubManager.WriteLineHex(response3.Progress,4);
-stubManager.WriteLineHex(response4.Progress,4);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs
deleted file mode 100644
index 166c1cd2a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Fan_test.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-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
-
-
-//fan test
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC4, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC5, 0x80); //valv1_en=1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-
-/*var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC2, 0x00); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC3, 0x00; //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC4, 0x00); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC5, 0x00); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-*/
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs
deleted file mode 100644
index 142c1597d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Rehostat.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-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" ,0x3EB, 0x300); //set rehostat value=0x300
-stubManager.WriteLine("First response received");
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 5); // get GAS_OUT
-stubManager.WriteLine("Second response received");
-
- stubManager.WriteLineHex(response6.Progress, 4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs
deleted file mode 100644
index 13d0c3471..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Set_Blower_Get_Q_Qavarege_Volt.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-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
-
-
-//Blower speed
-//stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/2400); //set Blower speed
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E7, /* Q value =*/7); //set Blower speed
-
-Thread.Sleep(5000);
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/0); //get ORF1
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/10); //get Q ORF1
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/20); //get Q ORF1 average
-
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/2); //get ORF3
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/12); //get Q ORF3 average
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/22); //get Q ORF3 average
-
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E6, /* speed =*/10); //Get Blower speed
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLine("orf1 value:"); stubManager.WriteLine(response1.Progress);
-stubManager.WriteLine("orf1 Q value:"); stubManager.WriteLine(response2.Progress);
-stubManager.WriteLine("orf1 Q avarege value:"); stubManager.WriteLine(response3.Progress);
-stubManager.WriteLine("orf3 value:"); stubManager.WriteLine(response4.Progress);
-stubManager.WriteLine("orf3 Q value:"); stubManager.WriteLine(response5.Progress);
-stubManager.WriteLine("orf3 Q avarege value:"); stubManager.WriteLine(response6.Progress);
-stubManager.WriteLine("blower volt:"); stubManager.WriteLine(response7.Progress);
-
-Thread.Sleep(5000);
- response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/0); //get ORF1
- response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/10); //get Q ORF1
- response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/20); //get Q ORF1 average
-
- response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/2); //get ORF3
- response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/12); //get Q ORF3 average
- response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, /* speed =*/22); //get Q ORF3 average
-
- response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E6, /* speed =*/10); //Get Blower speed
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLine("orf1 value:"); stubManager.WriteLine(response1.Progress);
-stubManager.WriteLine("orf1 Q value:"); stubManager.WriteLine(response2.Progress);
-stubManager.WriteLine("orf1 Q avarege value:"); stubManager.WriteLine(response3.Progress);
-stubManager.WriteLine("orf3 value:"); stubManager.WriteLine(response4.Progress);
-stubManager.WriteLine("orf3 Q value:"); stubManager.WriteLine(response5.Progress);
-stubManager.WriteLine("orf3 Q avarege value:"); stubManager.WriteLine(response6.Progress);
-stubManager.WriteLine("blower volt:"); stubManager.WriteLine(response7.Progress);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs
deleted file mode 100644
index fc769f125..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-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)
-{
- //read temerature value
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 1);
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 3);
- stubManager.Write("\nShinko temerature value: ");
- stubManager.WriteLine(response1.Progress);
- //read setting temerature
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 2);
- var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 4);
- stubManager.Write("\nShinko setting temerature : ");
- stubManager.WriteLine(response3.Progress);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs
deleted file mode 100644
index 235c1baa4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/Shinko_Read_Temperature_1.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-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 response0 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 0);
- if(response0.Progress == 0)
- stubManager.Write("\nShinko Init Passed ");
-
- //read temerature value
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 1);
- if(response.Progress == 0)
- stubManager.Write("\nShinko recieve ACQ for reading request of the temerature value");
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 3);
- stubManager.Write("\nShinko temerature value: ");
- stubManager.WriteLine(response1.Progress);
-
- //read setting temerature
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 2);
- if(response2.Progress == 0)
- stubManager.Write("\nShinko recieve ACQ for reading request of the setting temerature");
- var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB05, 4);
- stubManager.Write("\nShinko setting temerature : ");
- stubManager.WriteLine(response3.Progress);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
deleted file mode 100644
index 7e68d62ef..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/fan.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-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/get_A2D_MAX11614.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.cs
deleted file mode 100644
index 670732ae0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/get_A2D_MAX11614.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-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" ,0x3EA, 0); //ORF1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 1); // ORF2
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 3); // VLEV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 4); // VLEV2 not connected
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 5); // GAS_OUT
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 6); // CUR_FAN
-//Thread.Sleep(5000); //Sleep for 10 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 7); // CUR_VaLV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
- stubManager.WriteLineHex(response1.Progress,4);
- stubManager.WriteLineHex(response2.Progress,4);
- stubManager.WriteLineHex(response3.Progress,4);
- stubManager.WriteLineHex(response4.Progress,4);
- stubManager.WriteLineHex(response5.Progress,4);
- stubManager.WriteLineHex(response6.Progress,4);
- stubManager.WriteLineHex(response7.Progress,4);
- stubManager.WriteLineHex(response8.Progress,4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs
deleted file mode 100644
index 8999da126..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/pump.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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
-
-
-//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/set_gas_get_A2D_MAX11614.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs
deleted file mode 100644
index fad4ac22a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/set_gas_get_A2D_MAX11614.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-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" ,0x3EA, 0); //ORF1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 1); // ORF2
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 3); // VLEV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 4); // VLEV2 not connected
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x401); //ORF1
-stubManager.WriteLine("First response received");
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 5); // GAS_OUT
-stubManager.WriteLine("Second response received");
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 6); // CUR_FAN
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 7); // CUR_VaLV1
-//Thread.Sleep(5000); //Sleep for 10 milli.
-// stubManager.WriteLineHex(response1.Progress,4);
-// stubManager.WriteLineHex(response2.Progress,4);
-// stubManager.WriteLineHex(response3.Progress,4);
-// stubManager.WriteLineHex(response4.Progress,4);
-// stubManager.WriteLineHex(response5.Progress,4);
- stubManager.WriteLineHex(response6.Progress, 4);
-// stubManager.WriteLineHex(response7.Progress,4);
-// stubManager.WriteLineHex(response8.Progress,4);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs
deleted file mode 100644
index 2e44d901d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Blower.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-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
-
-
-//Blower speed
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x800); //Blower speed
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine("First response received");
-Thread.Sleep(1000); //Sleep for 1000 milli.
-//Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.WriteLine(response1.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response2.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response3.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response4.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response5.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response6.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response7.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response8.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response9 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response9.Progress);
-Thread.Sleep(1000); //Sleep for 1000 milli.
-var response10 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); //ORF3
-stubManager.WriteLine(response10.Progress);
-//var response_av = (response1.Progress + response2.Progress +response3.Progress + response4.Progress + response5.Progress + response6.Progress + response7.Progress + response8.Progress +response9.Progress + response10.Progress)/10;
-//stubManager.WriteLine(response_av.Progress);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs
deleted file mode 100644
index 582a7f7e7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_Fan_speed.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-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
-
-// test Blower
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0000);// Blower OFF
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0400);// Blower 1.25v
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0800); // Blower 2.5v
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0C00);// Blower 3.77v
-Thread.Sleep(5000); //Sleep for 10 milli.
-stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, 0x0FFF); // Blower 5.0v
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs
deleted file mode 100644
index 3eb47bc93..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_blower_and_ORF3.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-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
-
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0xFFF); //Blower speed
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x800); //Blower speed
-var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x400); //Blower speed
-var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x200); //Blower speed
-var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
-//Blower speed
-var stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3E8, /* speed =*/0x100); //Blower speed
-var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EA, 2); // ORF3
-//Thread.Sleep(5000); //Sleep for 10 milli.
- stubManager.WriteLineHex(response1.Progress,4);
- stubManager.WriteLineHex(response2.Progress,4);
- stubManager.WriteLineHex(response3.Progress,4);
- stubManager.WriteLineHex(response4.Progress,4);
- stubManager.WriteLineHex(response5.Progress,4);
-
-} \ 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
deleted file mode 100644
index acd5e3c50..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_fan.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-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
deleted file mode 100644
index c81bdaebd..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-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
deleted file mode 100644
index 086063855..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_disable.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-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/Assemblies/newWHS/test_valv1_valv2_pump.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs
deleted file mode 100644
index c4435ab42..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-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_valv2_pump_Blower.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs
deleted file mode 100644
index f873ba057..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/test_valv1_valv2_pump_Blower.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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
-
-
-//fan test
-var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFAC1, 0xFF); //valv1_en=1
-Thread.Sleep(5000); //Sleep for 10 milli.
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs
deleted file mode 100644
index 47f5cdff5..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv1.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-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
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs
deleted file mode 100644
index ce19f0d1e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/valv2.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-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
-
-
-
-// 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
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs
deleted file mode 100644
index 01bd67d0a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/newWHS/whs control loop disable.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-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)
-{
-//Loading Arm Calibration - this command writes the arm position to a non-volatile memory
-
-int ControlLoopEnable = 0x1000;
-int ControlLoopDisable = 0x0000;
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0x3e8;
-progressRequest.Delay = ControlLoopDisable+2700;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs b/Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs
deleted file mode 100644
index 443df9008..000000000
--- a/Software/Stubs Collection/stubs/Scripts/CalculateContinuous.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-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)
-{
- int i = 0;
- //for (int i = 0; i < 10; i++)
- {
- // Request ----
- // Double : A
- // Double : B
-
- // Response ----
- // Double : Sum
- CalculateRequest calculateRequest = new CalculateRequest();
- calculateRequest.A = 1;
- calculateRequest.B = 1;
-
- //var response = stubManager.RunContinuous<CalculateResponse>("CalculateRequest",0,2,Write);
- stubManager.RunContinuous<CalculateResponse>(calculateRequest,(response1) =>
- {
- stubManager.WriteLine (String.Format("Data, {0} {1}",++i,response1.Sum));
- });
-
- /*if (response.Sum == 15)
- {
- stubManager.Write(i);
- stubManager.WriteLine(" OK!");
- }
- Thread.Sleep(10);*/
- }
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs b/Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs
deleted file mode 100644
index 9422e2cdc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/ChangePidDuringRun.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.Hardware;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest();
-
-stubHeatingTestRequest.DryerZone1Temp = 0;
-stubHeatingTestRequest.DryerZone2Temp = 0;
-
-HardwarePidControl hardwarePidControl = new HardwarePidControl();
-hardwarePidControl.OutputProportionalPowerLimit = 0.5; //Maximal additional power
-hardwarePidControl.OutputProportionalBand = 5;
-hardwarePidControl.DerivativeTime = 0; //Kd
-hardwarePidControl.SensorCorrectionAdjustment = 0;
-hardwarePidControl.SensorMinValue = 0;
-hardwarePidControl.SensorMaxValue = 0;
-hardwarePidControl.SetPointRampRateorSoftStartRamp = 100; //Ki divider
-hardwarePidControl.SetPointControlOutputRate = 0;
-hardwarePidControl.ControlOutputType = 0.001; ////Dt
-hardwarePidControl.SsrControlOutputType = 0;
-hardwarePidControl.OutputOnOffHysteresisValue = 100; //Kp divider
-hardwarePidControl.ProcessVariableSamplingRate = 10;
-hardwarePidControl.PvInputFilterFactorMode = 4; //averaging the readouts / number of samples
-hardwarePidControl.OutputProportionalCycleTime = 0;
-hardwarePidControl.AcHeatersHalfCycleTime = 0;
-hardwarePidControl.PidActive = false;
-hardwarePidControl.Epsilon = 0;
-hardwarePidControl.OutputOnOffHysteresisValue = 100;
-
-hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
-hardwarePidControl.IntegralTime = 8000; //Ki
-hardwarePidControl.ProportionalGain = 7000; //Kp
-
-stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl;
-
-StubHeatingTestPollRequest stubHeatingTestPollRequest = new StubHeatingTestPollRequest();
-
-var response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs b/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs
deleted file mode 100644
index c199b9c29..000000000
--- a/Software/Stubs Collection/stubs/Scripts/ConvertFloat2Bytes.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-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)
-{
- //see online Floating Point to Hex Converter (with Swap endianness) :https://gregstoll.com/~gregstoll/floattohex/
- // ----------------- option 1 -------------------------------
- stubManager.WriteLine("--- option 1 ---");
- float value = 5.2F;
- byte [] byteArray1 = new byte[4];// a single float is 4 bytes/32 bits
- byteArray1 = BitConverter.GetBytes(value);
-
- //print
- for(int i =0;i<4;i++)
- {
- stubManager.WriteHex(byteArray1[i],2);
- stubManager.Write(" ");
- }
- stubManager.WriteLine("");
- stubManager.WriteLine("");
-
- // ----------------- option 2 for buffer -------------------------------
- stubManager.WriteLine("--- option 2 ---");
- var floatArray1 = new float[] {5.2f, 1.2f, 3.7f};
-
-
- // create a byte array and copy the floats into it...
- var byteArray = new byte[floatArray1.Length * 4];// a single float is 4 bytes/32 bits
- Buffer.BlockCopy(floatArray1, 0, byteArray, 0, byteArray.Length);
-
- //print
- for(int j =0;j<floatArray1.Length;j++)
- {
- for(int i =0;i<4;i++)
- {
- stubManager.WriteHex(byteArray[j+i],2);
- stubManager.Write(" ");
- }
- stubManager.WriteLine("");
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV b/Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV
deleted file mode 100644
index 6473707c7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Defines/Blowe_RMO_LOG.CSV
+++ /dev/null
@@ -1,47 +0,0 @@
-,RPM
-0,1672
-1,1628
-2,1633
-3,1672
-4,1672
-5,1628
-6,1666
-7,1672
-8,1628
-9,1672
-10,1628
-11,1628
-12,1628
-13,1628
-14,1666
-15,1672
-16,1628
-17,1628
-18,1628
-19,1628
-20,1666
-21,1628
-22,1672
-23,1672
-24,1628
-25,1672
-26,1628
-27,1628
-28,1666
-29,1666
-30,1628
-31,1623
-32,1672
-33,1628
-34,1628
-35,1633
-36,1628
-37,1666
-38,1628
-39,1672
-40,1666
-41,1623
-42,1672
-43,1633
-44,1633
-45,1672
diff --git a/Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs b/Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs
deleted file mode 100644
index 703d34ae9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Dispenser_setup.cs
+++ /dev/null
@@ -1,1415 +0,0 @@
-
-//--------------------------------------------------------------------------------
-include "Dispenser_setup_mbar.cs"
-include "Dispenser_Motor_stop.cs"
-include "Dispenser_setup_form_valve close.cs"
-include "Dispenser_setup_form_valve open.cs"
-include "Dispenser_Motor_run.cs"
-include "Dispenser_Motor_Up.cs"
-include "Dispenser_Motor_Down.cs"
-include "EEPROM.cs"
-
-//--------------------------------------------------------------------------------
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using System.Diagnostics;
-using System.Threading;
-using System.Threading.Tasks;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-using System.IO;
-
-//--------------------------------------------------------------------------------
-int Characterization;
-UInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};
-
-string[] Dispenser_Fname= new string[9];
-string [] Dispenser_name= new string[8];
-string [] PCB_SN= new string[8];
-string [] Dispenser_PN= new string[8];
-
-Int32 [,] Dispenser_no = new Int32 [8,2] {{-1,0},{-1,0},{-1,0},{-1,0},{-1,0},{-1,0},{-1,0},{-1,0}};
-
-Int32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};
-Int32 [] max_pressure_level = new Int32 [8] {20000,20000,20000,20000,20000,20000,20000,20000};
-Int32 [] min_pressure_level = new Int32 [8] {-20000,-20000,-20000,-20000,-20000,-20000,-20000,-20000};
-
-Int32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};
-Int32 [] Loop_cnt= new Int32[8]{1,1,1,1,1,1,1,1};
-Int32 [] Loop_length= new Int32[8]{1,1,1,1,1,1,1,1};
-
-//byte [] Empty_EEprom=0;
-
-byte [] Empty_EEprom= new byte[8];
-byte [] Dry_Run_EEprom =new byte[8];
-byte [] Flow_EEprom =new byte[8];
-
-
-
-Int32 msec_index=0;
-
-byte [] EEPROM_Data = new byte [128];
-
-const int X_location =500;//260
-const int Y_location =40;
-
-Int32 [] Dispenser_sample_rate= new Int32[8]{1,1,1,1,1,1,1,1};
-//int dispenserNumber=1;
-//int Table=0;
-string shortDateString;
-string ButtonPress;
-string ButtonName;
-UInt32 Type_card;
-
-
-UInt32 RD_LS_01_Direct;
-UInt32 RD_LS_02_Direct;
-UInt32 RD_LS_03_Direct;
-UInt32 RD_LS_04_Direct;
-
-OpenFileDialog _openFiledialog;
-
-CancellationTokenSource _cancellationTokenSource;
-string path ;
-string Tbl_File_Name;
-
-Int32 Press_Sensor_Type ;//0 - 0-10 Bar ; 1- (-1) - 10 Bar ;
-ushort check_sum=0;
-
-//start mat
-//--------------------------------------------------------------------------------
-[STAThread]
-public void OnExecute(StubManager stubManager)
-{
-Dispenser_Fname[0]="";
-Dispenser_Fname[1]="";
-Dispenser_Fname[2]="";
-Dispenser_Fname[3]="";
-Dispenser_Fname[4]="";
-Dispenser_Fname[5]="";
-Dispenser_Fname[6]="";
-Dispenser_Fname[7]="";
-//----------------------------------------------------------------------------------
-stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0X60000522, 0X128);//0X128 EQULE 50 MSEC
-
-//--------------------Create form-------------------------------------------------
- Form form1 = new Form();
- _openFiledialog = new OpenFileDialog();
-//--------------------Set the caption bar text of the form------------------------
- form1.Text = "Dispenser Test V1.9";
- form1.TopMost = true;
-//------- Define the border style of the form to a dialog box---------------------
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-//------Set the MaximizeBox to false to remove the maximize box-------------------
- form1.MaximizeBox = false;
-//------Set the MinimizeBox to false to remove the minimize box-------------------
- form1.MinimizeBox = false;
-//----Set the start position of the form to the center of the screen--------------
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-//--------------create ListBox --------------------------------------
- // Create an instance of the ListBox.
- ListBox listBox1 = new ListBox();
- // Set the size and location of the ListBox.
- listBox1.Size = new System.Drawing.Size(200, 80);
- listBox1.Location = new System.Drawing.Point(150,400);
- // Add the ListBox to the form.
- form1.Controls.Add(listBox1);
- // Set the ListBox to display items in multiple columns.
- listBox1.MultiColumn = false;
- // Set the selection mode to multiple and extended.
- listBox1.SelectionMode = SelectionMode.MultiExtended;
-
- // Shutdown the painting of the ListBox as items are added.
- listBox1.BeginUpdate();
- listBox1.Items.Add("Press-Sensor 0 to 10 Bar");
- listBox1.Items.Add("Press-Sensor -1 to 10 Bar");
- listBox1.Items.Add("Temp");
- listBox1.Items.Add("Moti");
- listBox1.EndUpdate();
-
- // Select one items from the ListBox.
- string text="0";
- if (File.Exists("C:\\Dispenser_setup\\setup.txt"))
- {
- text = System.IO.File.ReadAllText(@"C:\Dispenser_setup\setup.txt") ;
- }
-
- listBox1.SetSelected( Convert.ToInt32(text), true);
-string Text_Blck;
-string Text_Cyn;
-string Text_Mgnt;
-string Text_Ylw;
-string Text_TI;
-
- if ( (listBox1.SelectedItem)=="Moti")
- {
- Text_Blck = "Blck";
- Text_Cyn = "Cyn";
- Text_Mgnt = "Mgnt";
- Text_Ylw = "Ylw";
- Text_TI = "TI";
- path = "P:\\TSKF\\BPT\\";
- }
- else
- {
- Text_Blck = "";
- Text_Cyn = "";
- Text_Mgnt = "";
- Text_Ylw = "";
- Text_TI = "";
- path = "C:\\dispenser_setup\\Log\\";
-// path="%userprofile%\\Dropbox\\Dispenser_Tester\\Log\\";
-// path = "C:\\Dispenser_setup\\Log\\";
- }
-
- if ( (listBox1.SelectedItem)=="Press-Sensor -1 to 10 Bar")
- {
- stubManager.WriteLine("Press_Sensor_Type=1");
- Press_Sensor_Type=1;
- }
- else
- {
- stubManager.WriteLine("Press_Sensor_Type=0");
- Press_Sensor_Type=0;
- }
-//----------------------------------Dispenser 1 ------------------------------------------
-Label Label100 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="1"
- };
- Label100.Location = new Point (5, 55);
- form1.Controls.Add(Label100);
-TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = Text_Blck,
- };
-TextBox1.Location = new Point (20, 50);
-TextBox1.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox1); //dispencer 1
-
- TextBox Press0 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press0.Location = new Point (135, 50);
- form1.Controls.Add(Press0); //dispencer 1
-
- TextBox PartNm0 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm0.Location = new Point (250, 50);
- form1.Controls.Add(PartNm0); //dispencer 1
-
- // Create and initialize a CheckBox.
- CheckBox checkBox0 = new CheckBox();
- checkBox0.Location = new Point (370, 50);
- form1.Controls.Add(checkBox0);
-//----------------------------------Dispenser 2 ------------------------------------------
-Label Label102 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="2"
- };
- Label102.Location = new Point (5, 85);
- form1.Controls.Add(Label102);
-
- TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_Cyn
- };
-TextBox3.Location = new Point (20, 80);
-TextBox3.CharacterCasing = CharacterCasing.Upper;
-form1.Controls.Add(TextBox3); //dispencer 2
-
-
- TextBox Press1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press1.Location = new Point (135, 80);
- form1.Controls.Add(Press1); //dispencer 2
-
- TextBox PartNm1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm1.Location = new Point (250, 80);
- form1.Controls.Add(PartNm1); //dispencer 2
- // Create and initialize a CheckBox.
- CheckBox checkBox1 = new CheckBox();
- checkBox1.Location = new Point (370, 80);
- form1.Controls.Add(checkBox1);
-
-//----------------------------------Dispenser 3 ------------------------------------------
-Label Label103 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="3"
- };
- Label103.Location = new Point (5, 125);
- form1.Controls.Add(Label103);
-
- TextBox TextBox4 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_Mgnt,
- };
-TextBox4.Location = new Point (20, 120);
-TextBox4.CharacterCasing = CharacterCasing.Upper;
-form1.Controls.Add(TextBox4); //dispencer 3
-
- TextBox Press2 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press2.Location = new Point (135, 120);
- form1.Controls.Add(Press2); //dispencer3
-
- TextBox PartNm2 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm2.Location = new Point (250, 120);
- form1.Controls.Add(PartNm2); //dispencer 3
- // Create and initialize a CheckBox.
- CheckBox checkBox2 = new CheckBox();
- checkBox2.Location = new Point (370, 120);
- form1.Controls.Add(checkBox2);
-
-//----------------------------------Dispenser 4 ------------------------------------------
-Label Label104= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="4"
- };
- Label104.Location = new Point (5, 165);
- form1.Controls.Add(Label104);
-
-TextBox TextBox5 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_Ylw,
- };
-TextBox5.Location = new Point (20, 160);
-TextBox5.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox5); //dispencer 4
-
- TextBox Press3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press3.Location = new Point (135, 160);
- form1.Controls.Add(Press3); //dispencer4
-
- TextBox PartNm3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm3.Location = new Point (250, 160);
- form1.Controls.Add(PartNm3); //dispencer 4
- CheckBox checkBox3 = new CheckBox();
- checkBox3.Location = new Point (370, 160);
- form1.Controls.Add(checkBox3);
-
- //----------------------------------Dispenser 5 ------------------------------------------
-Label Label101 = new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="5"
- };
- Label101.Location = new Point (5, 205);
- form1.Controls.Add(Label101);
-
- TextBox TextBox6 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =Text_TI
- };
-TextBox6.Location = new Point (20, 200);
-TextBox6.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox6); //dispencer 5
-
- TextBox Press4 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press4.Location = new Point (135, 200);
- form1.Controls.Add(Press4); //dispencer5
-
- TextBox PartNm4 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm4.Location = new Point (250, 200);
- form1.Controls.Add(PartNm4); //dispencer 5
- CheckBox checkBox4 = new CheckBox();
- checkBox4.Location = new Point (370, 200);
- form1.Controls.Add(checkBox4);
-
- //----------------------------------Dispenser 6 ------------------------------------------
-Label Label106= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="6"
- };
- Label106.Location = new Point (5, 245);
- form1.Controls.Add(Label106);
-
- TextBox TextBox7 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox7.Location = new Point (20, 240);
-TextBox7.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox7); //dispencer 6
-
- TextBox Press5 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press5.Location = new Point (135, 240);
- form1.Controls.Add(Press5); //dispencer6
-
- TextBox PartNm5 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm5.Location = new Point (250, 240);
- form1.Controls.Add(PartNm5); //dispencer 6
- CheckBox checkBox5 = new CheckBox();
- checkBox5.Location = new Point (370, 240);
- form1.Controls.Add(checkBox5);
-
- //----------------------------------Dispenser 7 ------------------------------------------
-Label Label107= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="7"
- };
- Label107.Location = new Point (5, 285);
- form1.Controls.Add(Label107);
-
- TextBox TextBox8 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox8.Location = new Point (20, 280);
-TextBox8.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox8); //dispencer 7
-
- TextBox Press6 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press6.Location = new Point (135, 280);
- form1.Controls.Add(Press6); //dispencer7
-
- TextBox PartNm6 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm6.Location = new Point (250, 280);
- form1.Controls.Add(PartNm6); //dispencer 6
- CheckBox checkBox6 = new CheckBox();
- checkBox6.Location = new Point (370, 280);
- form1.Controls.Add(checkBox6);
-
-//----------------------------------Dispenser 8 ------------------------------------------
-Label Label108= new Label ()
- {
- Width = 10,
- Height = 20,
- Text ="8"
- };
- Label108.Location = new Point (5, 325);
- form1.Controls.Add(Label108);
-
- TextBox TextBox9 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox9.Location = new Point (20, 320);
-TextBox9.CharacterCasing = CharacterCasing.Upper;
- form1.Controls.Add(TextBox9); //dispencer 8
-
- TextBox Press7 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-Press7.Location = new Point (135, 320);
- form1.Controls.Add(Press7); //dispencer8
-
- TextBox PartNm7 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text = ""
-
- };
-PartNm7.Location = new Point (250, 320);
- form1.Controls.Add(PartNm7); //dispencer 7
- CheckBox checkBox7 = new CheckBox();
- checkBox7.Location = new Point (370, 320);
- form1.Controls.Add(checkBox7);
-
- //-----------------------------File name -----------------------------------------
- TextBox TextBox10 = new TextBox ()
- {
- Width = 210,
- Height = 10,
- Text =""
- };
-TextBox10.Location = new Point (270, 10);
-TextBox10.CharacterCasing = CharacterCasing.Upper;
-form1.Controls.Add(TextBox10);
-//-----------------------------Dispenser Serial Number----------------------------------------
-
-Label Label1 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text =" Dispenser S/N"
- };
-Label1.Location = new Point (20, 32);
- form1.Controls.Add(Label1);
-//-----------------------------PCB Serial Number----------------------------------------
-
-Label Label109 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text =" PCB S/N"
- };
-Label109.Location = new Point (135, 32);
- form1.Controls.Add(Label109);
- //-----------------------------Dispenser Part Number----------------------------------------
-
-Label Labe2109 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text =" Dispenser P/N"
- };
-Labe2109.Location = new Point (250, 32);
- form1.Controls.Add(Labe2109);
- //-----------------------------Pass----------------------------------------
-
-Label Labe3109 = new Label ()
- {
- Width = 100,
- Height = 40,
- Text ="Pass"
- };
-Labe3109.Location = new Point (360, 32);
- form1.Controls.Add(Labe3109);
-
-
-//---------------------- Seal Test --------------------------------------------
-Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- button1.Location = new Point (X_location,Y_location);
- button1.Text = "Seal Test";
-form1.Controls.Add(button1);
-//------------------------------------Priming --------------------------------------------
-Button button2 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button2.Location = new Point (X_location+110,Y_location);
- button2.Text = "Priming";
- form1.Controls.Add(button2);
-//------------------------------------Empty Process --------------------------------------------
-Button button3 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button3.Location = new Point (X_location+110,Y_location+220);
-button3.Text = "Empty Process";
- form1.Controls.Add(button3);
-//----------------------------------------- Load EEprom ---------------------------------------
-Button button4 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button4.Location = new Point (X_location+220,Y_location);
- button4.Text = "Load EEprom";
- form1.Controls.Add(button4);
-//---------------------------------------Save EEprom -----------------------------------------
-Button button5 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button5.Location = new Point (X_location+220,Y_location+110);
- button5.Text = "Save EEprom";
- form1.Controls.Add(button5);
-//----------------------------------------Motor_Up ----------------------------------------
-Button button6 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button6.Location = new Point (X_location+330,Y_location);
- button6.Text = "Up";
- form1.Controls.Add(button6);
-
-//--------------------------------------Motor_Down------------------------------------------
-Button button7 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button7.Location = new Point (X_location+330,Y_location+110);
- button7.Text = "Down";
- form1.Controls.Add(button7);
-//-------------------------------------Dynamic sealing positive pressure-------------------------------------------
-Button button8 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button8.Location = new Point (X_location,Y_location+110);
- button8.Text = "Dynamic sealing positive pressure";
- form1.Controls.Add(button8);
-//---------------------------------- Dynamic sealing negative pressure ----------------------------------------------
-Button button9 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- button9.Location = new Point (X_location,Y_location+220);
- button9.Text = "Dynamic sealing negative pressure";
- form1.Controls.Add(button9);
-//-------------------------------- Flow Test------------------------------------------------
-Button button10 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button10.Location = new Point (X_location+110,Y_location+110);
- button10.Text = "Flow Test";
- form1.Controls.Add(button10);
-//---------------------------------------Spare -----------------------------------------
-Button button11 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-button11.Location = new Point (X_location+330,Y_location+220);
-button11.Text = "spare3";
- form1.Controls.Add(button11);
-//-------------------------------------Valve Open-------------------------------------------
-Button button12 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button12.Location = new Point (X_location+440,Y_location);
- button12.Text = "Open Valve";
- form1.Controls.Add(button12);
-//-------------------------------------Valve Close -------------------------------------------
-Button button13 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button13.Location = new Point (X_location+440,Y_location+110);
- button13.Text = "Close Valve";
- form1.Controls.Add(button13);
-//-----------------------------------Reliability Test ---------------------------------------------
-Button button14 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button14.Location = new Point (X_location+220,Y_location+220);
- button14.Text = "Reliability Test";
- form1.Controls.Add(button14);
- //-----------------------------------Pressure build up ---------------------------------------------
-Button button15 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button15.Location = new Point (X_location+440,Y_location+220);
- button15.Text = "Pressure build up";
- form1.Controls.Add(button15);
- //------------------------------- load file.. -------------------------------------------------
-Button button16 = new Button ()
- {
- Width = 100,
- Height = 20,
- };
- button16.Location = new Point (160, 10);
- button16.Text = "Load file";
- form1.Controls.Add(button16);
-//------------------------------------run file --------------------------------------------
-Button button17 = new Button ()
- {
- Width = 100,
- Height = 20,
- };
- button17.Location = new Point (490, 10);
- button17.BackColor = System.Drawing.Color.Green;
- button17.Text = "Run";
- form1.Controls.Add(button17);
-//------------------------------------stop --------------------------------------------
-Button button18 = new Button ()
- {
- Width = 100,
- Height = 20,
- };
- button18.Text = "Stop";
- button18.BackColor = System.Drawing.Color.Red;
- button18.Location = new System.Drawing.Point(600, 10);
- button18.Enabled =false;
-
- form1.Controls.Add(button18);
-//--------------DispPress--------------------------------------------------------------------
-// void DispPress ()
-// {
-// Press0.Text=Dispenser_press[0].ToString();
-// Press1.Text=Dispenser_press[1].ToString();
-// Press2.Text=Dispenser_press[2].ToString();
-// Press3.Text=Dispenser_press[3].ToString();
-// Press4.Text=Dispenser_press[4].ToString();
-// Press5.Text=Dispenser_press[5].ToString();
-// Press6.Text=Dispenser_press[6].ToString();
-// Press7.Text=Dispenser_press[7].ToString();
-// }
-
-
-//---------------------- Seal Test --------------------------------------------
- button1.Click +=async (_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(SealTest_Table,"SealTest");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//------------------------------------Priming --------------------------------------------
- button2.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Priming_Table,"Priming");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//------------------------------------Empty Process --------------------------------------------
-
- button3.Click += async (_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(EmptyProcess_Table,"EmptyProcess");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-
-//----------------------------------------- Load EEprom ---------------------------------------
- button4.Click += (_,__) =>
- {
- disable_test();
- Load_EEPROM();
- LoadDispenserName();
- enable_test();
- };
-
-//----------------------------------------- save EEprom ---------------------------------------
-
- button5.Click += (_,__) =>
- {
- disable_test();
- Dispenser_name[0] = (TextBox1.Text);
- Dispenser_name[1] = (TextBox3.Text);
- Dispenser_name[2] = (TextBox4.Text);
- Dispenser_name[3] = (TextBox5.Text);
- Dispenser_name[4] = (TextBox6.Text);
- Dispenser_name[5] = (TextBox7.Text);
- Dispenser_name[6] = (TextBox8.Text);
- Dispenser_name[7] = (TextBox9.Text);
-
- PCB_SN[0]=(Press0.Text);
- PCB_SN[1]=(Press1.Text);
- PCB_SN[2]=(Press2.Text);
- PCB_SN[3]=(Press3.Text);
- PCB_SN[4]=(Press4.Text);
- PCB_SN[5]=(Press5.Text);
- PCB_SN[6]=(Press6.Text);
- PCB_SN[7]=(Press7.Text);
-
- Dispenser_PN[0]=(PartNm0.Text);
- Dispenser_PN[1]=(PartNm1.Text);
- Dispenser_PN[2]=(PartNm2.Text);
- Dispenser_PN[3]=(PartNm3.Text);
- Dispenser_PN[4]=(PartNm4.Text);
- Dispenser_PN[5]=(PartNm5.Text);
- Dispenser_PN[6]=(PartNm6.Text);
- Dispenser_PN[7]=(PartNm7.Text);
-
-
- //-----------------------------------------
- if (checkBox0.Checked)
- {
- Empty_EEprom[0] = 80; //"P"
- Dry_Run_EEprom[0]= 80; //"P"
- Flow_EEprom[0]= 80; //"P"
- }
- else
- {
- Empty_EEprom[0] = 70; //"F"
- Dry_Run_EEprom[0]= 70; //"F"
- Flow_EEprom[0]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox1.Checked)
- {
- Empty_EEprom[1] = 80; //"P"
- Dry_Run_EEprom[1]= 80; //"P"
- Flow_EEprom[1]= 80; //"P"
- }
- else
- {
- Empty_EEprom[1] = 70; //"F"
- Dry_Run_EEprom[1]= 70; //"F"
- Flow_EEprom[1]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox2.Checked)
- {
- Empty_EEprom[2] = 80; //"P"
- Dry_Run_EEprom[2]= 80; //"P"
- Flow_EEprom[2]= 80; //"P"
- }
- else
- {
- Empty_EEprom[2] = 70; //"F"
- Dry_Run_EEprom[2]= 70; //"F"
- Flow_EEprom[2]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox3.Checked)
- {
- Empty_EEprom[3] = 80; //"P"
- Dry_Run_EEprom[3]= 80; //"P"
- Flow_EEprom[3]= 80; //"P"
- }
- else
- {
- Empty_EEprom[3] = 70; //"F"
- Dry_Run_EEprom[3]= 70; //"F"
- Flow_EEprom[3]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox4.Checked)
- {
- Empty_EEprom[4] = 80; //"P"
- Dry_Run_EEprom[4]= 80; //"P"
- Flow_EEprom[4]= 80; //"P"
- }
- else
- {
- Empty_EEprom[4] = 70; //"F"
- Dry_Run_EEprom[4]= 70; //"F"
- Flow_EEprom[4]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox5.Checked)
- {
- Empty_EEprom[5] = 80; //"P"
- Dry_Run_EEprom[5]= 80; //"P"
- Flow_EEprom[5]= 80; //"P"
- }
- else
- {
- Empty_EEprom[5] = 70; //"F"
- Dry_Run_EEprom[5]= 70; //"F"
- Flow_EEprom[5]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox6.Checked)
- {
- Empty_EEprom[6] = 80; //"P"
- Dry_Run_EEprom[6]= 80; //"P"
- Flow_EEprom[6]= 80; //"P"
- }
- else
- {
- Empty_EEprom[6] = 70; //"F"
- Dry_Run_EEprom[6]= 70; //"F"
- Flow_EEprom[6]= 70; //"F"
- }
-//-----------------------------------------
- if (checkBox7.Checked)
- {
- Empty_EEprom[7] = 80; //"P"
- Dry_Run_EEprom[7]= 80; //"P"
- Flow_EEprom[7]= 80; //"P"
- }
- else
- {
- Empty_EEprom[7] = 70; //"F"
- Dry_Run_EEprom[7]= 70; //"F"
- Flow_EEprom[7]= 70; //"F"
- }
-
- Save_EEPROM();
- enable_test();
-
- };
- //----------------------------------------Motor_Up ----------------------------------------
- button6.Click +=async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Up_Table,"MotorUp");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
-
- }
- };
-//--------------------------------------Motor_Down Homing------------------------------------------
- button7.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Down_Table,"Homing");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
-
- }
- };
-//-------------------------------------Dynamic sealing positive pressure-------------------------------------------
-
- button8.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(DynamicPositive_Table,"Dynamic Positive");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//---------------------------------- Dynamic sealing negative pressure ----------------------------------------------
- button9.Click +=async (_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(DynamicNegative_Table,"Dynamic Negative");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-//-------------------------------- Flow Test------------------------------------------------
- button10.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Flow_Table,"Flow Test");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-
-//---------------------------------------Homing no need -----------------------------------------
-// button11.Click += (_,__) =>
-// {
-// ButtonName = "Homing";
-// Dispenser_name[0] = (TextBox1.Text);
-// Dispenser_name[1] = (TextBox3.Text);
-// Dispenser_name[2] = (TextBox4.Text);
-// Dispenser_name[3] = (TextBox5.Text);
-// Dispenser_name[4] = (TextBox6.Text);
-// Dispenser_name[5] = (TextBox7.Text);
-// Dispenser_name[6] = (TextBox8.Text);
-// Dispenser_name[7] = (TextBox9.Text);
-// Table=2;
-//
-// DispenserSetup();
-// };
-//-------------------------------------Valve Open-------------------------------------------
-
- button12.Click += (_,__) =>
- {
- ButtonName = "Open Valve";
- valveopen(stubManager);
- };
-
-//-------------------------------------Valve Close -------------------------------------------
- button13.Click += (_,__) =>
- {
- ButtonName = "Close Valve";
- valveclose(stubManager);
- };
-
-//-----------------------------------Reliability Test ---------------------------------------------
- button14.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(Reliability_Table,"Reliability Test");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
- //-----------------------------------Pressure build up ---------------------------------------------
- button15.Click += async(_,__) =>
- {
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- var longRunningTask =await DispenserSetup(BuildUp_Table,"Pressure Build Up");
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- };
-
-//------------------------------- load file.. -------------------------------------------------
- button16.Click += (_,__) =>
- {
- try
- {
- Thread t = new Thread(() => {
- OpenFileDialog dlg = new OpenFileDialog();
- // The following would not return the dialog if the current
- // thread is not STA
- dlg.Filter = "TBL|*.tbl";
- if(dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- TextBox10.Text= dlg.SafeFileName;
- Tbl_File_Name=TextBox10.Text;
- }
- });
- t.SetApartmentState(ApartmentState.STA);
- t.Start();
- }
- catch (Exception ex)
- {
- stubManager.WriteLine("exseption");
- //ex.LogException();
- }
- };
- //------------------------------------run file --------------------------------------------
- button17.Click += async(_,__) =>
- {
- // stubManager.WriteLine(Tbl_File_Name +" -1");
-
- if ((ConverFileToTBL(Tbl_File_Name)) ==0)
- {
- stubManager.WriteLine(Tbl_File_Name +" --ok");
-
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- disable_test();
- string[] FileName = Tbl_File_Name.Split('.');
- var longRunningTask =await DispenserSetup(Start_Table,FileName[0]);
- }
- catch (OperationCanceledException)
- {
- enable_test();
- // Status="Cancel";
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("end Task ");
- enable_test();
- }
- }
- else
- {
- _cancellationTokenSource = new CancellationTokenSource();
- _cancellationTokenSource.Dispose();
- stubManager.WriteLine("Error Table ");
- }
-
- };
-//------------------------------------stop --------------------------------------------
- button18.Click += (_, __) =>
- {
- _cancellationTokenSource.Cancel();
- stubManager.WriteLine("stop ");
-
- // ButtonName = "Stop";
-
-
- //TextBox1.Text ="";
- };
-
- //--------------------load dispenser name ------------------------
- void LoadDispenserName ()
- {
- (TextBox1.Text) = Dispenser_name[0];
- (TextBox3.Text) = Dispenser_name[1];
- (TextBox4.Text) = Dispenser_name[2];
- (TextBox5.Text) = Dispenser_name[3];
- (TextBox6.Text) = Dispenser_name[4];
- (TextBox7.Text) = Dispenser_name[5];
- (TextBox8.Text) = Dispenser_name[6];
- (TextBox9.Text) = Dispenser_name[7];
-
-
- (Press0.Text)=PCB_SN[0];
- (Press1.Text)=PCB_SN[1];
- (Press2.Text)=PCB_SN[2];
- (Press3.Text)=PCB_SN[3];
- (Press4.Text)=PCB_SN[4];
- (Press5.Text)=PCB_SN[5];
- (Press6.Text)=PCB_SN[6];
- (Press7.Text)=PCB_SN[7];
-
- (PartNm0.Text)=Dispenser_PN[0];
- (PartNm1.Text)=Dispenser_PN[1];
- (PartNm2.Text)=Dispenser_PN[2];
- (PartNm3.Text)=Dispenser_PN[3];
- (PartNm4.Text)=Dispenser_PN[4];
- (PartNm5.Text)=Dispenser_PN[5];
- (PartNm6.Text)=Dispenser_PN[6];
- (PartNm7.Text)=Dispenser_PN[7];
-
-
- }
-
-
-//--------------------disabele test ------------------------
- void disable_test()
- {
-
- if ( (listBox1.SelectedItem)=="Press-Sensor -1 to 10 Bar")
- {
- stubManager.WriteLine("Press_Sensor_Type=1");
- Press_Sensor_Type=1;
- }
- else
- {
- stubManager.WriteLine("Press_Sensor_Type=0");
- Press_Sensor_Type=0;
- }
-
- button1.Enabled =false;
- button2.Enabled =false;
- button3.Enabled =false;
- button4.Enabled =false;
- button5.Enabled =false;
- button6.Enabled =false;
- button7.Enabled =false;
- button8.Enabled =false;
- button9.Enabled =false;
- button10.Enabled =false;
- button11.Enabled =false;
- button12.Enabled =false;
- button13.Enabled =false;
- button14.Enabled =false;
- button15.Enabled =false;
- button16.Enabled =false;
- button17.Enabled =false;
- button18.Enabled =true;
-
-
- Dispenser_name[0] = (TextBox1.Text);
- Dispenser_name[1] = (TextBox3.Text);
- Dispenser_name[2] = (TextBox4.Text);
- Dispenser_name[3] = (TextBox5.Text);
- Dispenser_name[4] = (TextBox6.Text);
- Dispenser_name[5] = (TextBox7.Text);
- Dispenser_name[6] = (TextBox8.Text);
- Dispenser_name[7] = (TextBox9.Text);
-
- PCB_SN[0]=(Press0.Text);
- PCB_SN[1]=(Press1.Text);
- PCB_SN[2]=(Press2.Text);
- PCB_SN[3]=(Press3.Text);
- PCB_SN[4]=(Press4.Text);
- PCB_SN[5]=(Press5.Text);
- PCB_SN[6]=(Press6.Text);
- PCB_SN[7]=(Press7.Text);
-
-
- Dispenser_PN[0]=(PartNm0.Text);
- Dispenser_PN[1]=(PartNm1.Text);
- Dispenser_PN[2]=(PartNm2.Text);
- Dispenser_PN[3]=(PartNm3.Text);
- Dispenser_PN[4]=(PartNm4.Text);
- Dispenser_PN[5]=(PartNm5.Text);
- Dispenser_PN[6]=(PartNm6.Text);
- Dispenser_PN[7]=(PartNm7.Text);
-
-
-
-
-
- }
-//--------------------enable test ------------------------
-
- void enable_test()
- {
- button1.Enabled =true;
- button2.Enabled =true;
- button3.Enabled =true;
- button4.Enabled =true;
- button5.Enabled =true;
- button6.Enabled =true;
- button7.Enabled =true;
- button8.Enabled =true;
- button9.Enabled =true;
- button10.Enabled =true;
- button11.Enabled =true;
- button12.Enabled =true;
- button13.Enabled =true;
- button14.Enabled =true;
- button15.Enabled =true;
- button16.Enabled =true;
- button17.Enabled =true;
- button18.Enabled =false;
-
- for (Int32 i=0;i<8;i++)
- {
- MotorStop(i);
- }
-
- // stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
- // stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- }
-
-
-
-// Display the form as a modal dialog box.
- form1.ShowDialog();
-
-
- for (Int32 i=0;i<8;i++)
- {
- MotorStop(i);
- stubManager.Write("Motor Stop Hard Hiz \t");
-
- System.IO.File.WriteAllText(@"C:\Dispenser_setup\setup.txt", listBox1.SelectedIndex.ToString());
-
- stubManager.Write(listBox1.SelectedItem);
- }
-
- return;
-}
-
-public int delay(Int32 ms_delay)
- {
-
- Thread.Sleep(ms_delay);
- if (_cancellationTokenSource.Token.IsCancellationRequested)
- {
- _cancellationTokenSource.Token.ThrowIfCancellationRequested();
- throw new TaskCanceledException();
- return 0;
- }
- return 0;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs b/Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs
deleted file mode 100644
index 1b3ab7213..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Head_EEPROM.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-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/Scripts/Head_Type_Indification.cs b/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification.cs
deleted file mode 100644
index 948b847af..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-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" ,0xFEAD, 0);
-
- /* Response:
- HEAD_TYPE_UNKNOWN // 0
- HEAD_TYPE_SYLKO_WITHOUT_CARD// 1
- HEAD_TYPE_UNKNOWN_WITH_CARD// 2
- HEAD_TYPE_SYLKO// 3
- HEAD_TYPE_STAPLE_SPUN// 4
- */
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs b/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs
deleted file mode 100644
index a5f28a01d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-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" ,0xFEAD, 0);
-
- /* Response:
- HEAD_TYPE_UNKNOWN // 0
- HEAD_TYPE_FLAT_WITHOUT_CARD// 1
- HEAD_TYPE_UNKNOWN_WITH_CARD// 2
- HEAD_TYPE_FLAT// 3
- HEAD_TYPE_ARC// 4
- */
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs b/Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs
deleted file mode 100644
index 3c4a1d70a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/I2C_RW_Dispenser_EEPROM.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-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 = 4; //MCU_I2C4
-const Int32 TCA9548A_address = 0xE2;
-//const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte & 128kByte
-const Int32 I2C_Slave_Add = 0xA2; //eeprom address - only in the eeprom of 128kByte
-int Dispenser_ID = 6; //Software Dispensers 0..7, BP Dispensers 1..8
-//----------------------
-
-int enable_all_channel()
-{
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xff);//enable all 8 i2c channel
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-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);//enable i2c channel 0 Dispenser 1
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-
-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(0x34);//Data 1 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x56);//Data 2 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x78);//Data 3 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x90);//Data 4 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xAB);//Data 5 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xCD);//Data 6 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0xEF);//Data 7 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Data 8 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x02);//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);
- }
-
- return 1;
-}
-
-
-public void OnExecute(StubManager stubManager)
-{
-
- //enable_all_channel();
- enable_channel(Dispenser_ID); // Chanel 0-7 => Disp0enser 0-7
-
- for (int i = 0; i<100; 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("\t- 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/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs b/Software/Stubs Collection/stubs/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
deleted file mode 100644
index 6ec538758..000000000
--- a/Software/Stubs Collection/stubs/Scripts/I2C_RW_Main_Card_EEPROM_Save_Main_SN.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-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/Scripts/Jig_Tester/Dryer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs
deleted file mode 100644
index 91b8944ca..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Dryer_Jig.cs
+++ /dev/null
@@ -1,457 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int Dryer_UNDER_TEST=12;
-//--------------------------------------------------------------------------------
-//---------------------------
-Int32 last_14bit_position;
-Int32 position_32bit=0;
-float [] DryerTemp = new float[20] ;
-
-
-string [,] Units_status_Dryer = new string[Dryer_UNDER_TEST,2] {
- {"Lid_Motor","Not Test"}, //0
- {"LS_Lid_Open","Not Test"}, //1
- {"LS_Lid_Close","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"SSI_Encoder","Not Test"}, //4
- {"LoadArm_Motor","Not Test"}, //5
- {"Blower_test","Not Test"}, //6
- {"Air_PT100_test","Not Test"}, //7
- {"Main_PT100_test","Not Test"}, //8
- {"Sec.PT100","Not Test"}, //9
- {"SSR1_heater","Not Test"}, //10
- {"SSR2_heater","Not Test"}, //11
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-
-public Task<decimal> Dryer_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location )
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (Dryer_UNDER_TEST,Units_status_Dryer);
-
- settext("Test Dryer LId");
- Test_LId();
-
- settext("Test Dryer motor Driving");
- Test_motor_driving();
-
- settext("Test Dryer Load Arm");
- Test_Load_Arm ();
-
- settext("Test Dryer Blower heaters pt100");
- Test_Blower_heaters_pt100();
-
- Status=write_to_file(SN,Location,Dryer_UNDER_TEST,"Dryer");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-//------------------------------------------
-int Test_Blower_heaters_pt100()
-{
-
- float ftemp=0;
- float ftemp1=0;
-
- SetBit(F1_gpo_01,5,1); //turn off Blower
- delay(500);
-
- var RetVal=Fpga_Read_Reg(F1_Tacho_reg8);
-
- DialogResult result = MessageBox.Show("Close Dryer Door", "Warning");
-
- SetBit(F1_gpo_01,4,1); //Dir
- SetBit(F1_gpo_01,3,1); //Torqer High
- SetBit(F1_gpo_01,5,0); //turn on Blower
-
- const int LOW = 70;//0 - 100%
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F2_Prescaler1_reg11, 0xFF);//Freq 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F2_BLOWER_PWM_LOW, LOW+1);//Low 8 bit
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F2_BLOWER_PWM_HIGH, 101 - LOW);//High 8 bit
-
- delay(1000);
- RetVal=Fpga_Read_Reg(F1_Tacho_reg8);
- stubManager.Write("blower Speed- " + RetVal.Value + "\n");
- if ((RetVal.Value<150)||(RetVal.Value>250) )
- {
- Units_status[6,1]="Fail";
- stubManager.Write("Error,Fan rotate\n");
- return 0;
- }
- Units_status[6,1]="Pass";
-
- stubManager.Write("Temp Befor heating \n");
- if (test_pt100_dryer()!=0)
- return 0;
-
-float temp=0;
-float temp1=4096*95*5;
-
- //Write GPO_DRYER_SSR1_CTRL SSR/SSR no. 1
- SetBit (F2_CTRL, 10, 1); //turn SSR1 on
- stubManager.Write("\tTesting SSR no. 1\t");
- delay(1000);
-var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
- temp=temp/(4096*95*50);
- stubManager.Write("Current = "+ temp + "A\n");
- if ((temp>6) || (temp<3))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
-
- //Write GPO_DRYER_SSR2_CTRL SSR/SSR no. 2
- SetBit (F2_CTRL, 9, 1);
- stubManager.Write("\tTesting SSR no. 2\t");
- delay(1000);
- response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
- temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
- temp=temp/(4096*95*100);
- stubManager.Write("Current = "+ temp + "A\n");
- if ((temp>3) || (temp<1))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
-
- delay(50000);
-
-//check air temp
- ftemp=Read_pt100(6);
- stubManager.Write("After heating air temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[6];
- if ((ftemp<5)||(ftemp>40))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
-
-
-
-//check Main temp
- ftemp=Read_pt100(7);
- stubManager.Write("After heating Main temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[7];
- if ((ftemp<5)||(ftemp>60))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
-
-//check Sec. temp
- ftemp=Read_pt100(8);
- stubManager.Write("After heating Sec. temp is " + ftemp + "\n");
- ftemp = ftemp - DryerTemp[8];
- if ((ftemp<5)||(ftemp>60))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
-
- SetBit (F2_CTRL, 10, 0); //turn SSR1 off
- SetBit (F2_CTRL, 9, 0); //turn SSR2 off
-
- SetBit(F1_gpo_01,5,1); //turn off Blower
- return 1;
-
-}
-
- int test_pt100_dryer()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 6; i < 9; i++)
- {
- DryerTemp[i]=Read_pt100(i);
-
- ftemp=DryerTemp[i];
- if ((ftemp>140)|| (ftemp<10))
- {
- Units_status[i+1,1]="Fail";
- }
- else
- {
- Units_status[i+1,1]="Pass";
- }
- stubManager.Write(Units_status[i+1,0] +"\t"+ ftemp.ToString("F2"));
- stubManager.Write("°C \t" + Units_status[i+1,1] + " \n");
-
- }
- return 0;
- }
-//------------------------------------------
-int Test_motor_driving ()
-
-{
- MessageBox.Show("Open Dryer Door and add CHEATER to Door. ", "Warning");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DryerMain_Motor, true, 2200); //rotate Dryer Motor.
- stubManager.Write("Dryer Motor rotate \n ");
- DialogResult result = MessageBox.Show("Are Dryer Motor rotate smoothly ?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("Dryer Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("Dryer Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerMain_Motor,3); //stop motor
-
- return 0;
-}
-//----------------------------------
-int Test_Load_Arm()
-{
-
- Int32 temp3=0;
- Int32 j=0;
- Int32 i=0;
-
- if (!Encoder_Dryer_Exist())
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Encoder of Dryer Fail \n");
- return 0;
-
- }
-// position_32bit=0;
-//last_14bit_position
- ReadEncoder_Dryer();
- position_32bit=0;
- ReadEncoder_Dryer();
- Int32 temp=position_32bit;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, false, 100);//40
- delay(50);
-// temp=ReadEncoder_Dryer();
- while ((temp3<2)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
- i++;
- delay(50);
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (50*0x4000))
- temp3=3;
- if ((position_32bit-temp)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-// stubManager.Write("Temp3 " + temp3 +"\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result1 = MessageBox.Show("Arm Motor rotate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("Arm Motor Not rotate\n");
- return 0;
- }
- Units_status[5,1]="Pass";
-
- DialogResult result2 = MessageBox.Show("Did Arm Motor arrive to mechanical stopper?. See picture on document", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Arm Motor Not arrive to mecahnicl stopper \n");
- return 0;
- }
-
- position_32bit=0;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DrierLoadingArm_Motor, true, 100);
- delay(50);
- i=0;
- temp3=0;
-
-
- while ((temp3<1)&& (i<12000) ) //wait until Limit Switch or timeout 12000*50msec=10min
- {
-
-
-// while ((Math.Abs(ReadEncoder_Dryer())< (30*0x4000))&& (i<12000))
-//
-// {
- delay(50);
- i++;
-// stubManager.Write("position_32bit " + position_32bit +"\t" + temp3 + "\n" );
- ReadEncoder_Dryer();
-// stubManager.Write("position_32bit " + position_32bit +"\t");
-
- if (Math.Abs(position_32bit)> (30*0x4000))
- temp3=3;
- if ((temp-position_32bit)>20)
- temp3++;
-// stubManager.Write("Temp " + temp +"\n");
- temp=position_32bit;
-
-
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
-
- DialogResult result3 = MessageBox.Show("Did Arm Motor make 30 rounds? See picture on document", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("Arm Motor not make 30 rounds\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- return 1;
-}
-bool Encoder_Dryer_Exist()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (response.Value & 0x0300);
- if (temp==0)
- return true;
- else
- return false;
-}
-
-
-
-void ReadEncoder_Dryer()
-{
- Int32 temp;
- Int32 temp1;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
- if (temp>last_14bit_position)
- {
- temp1=temp-last_14bit_position;
- position_32bit=position_32bit+temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit-0x4000;
- }
- else if (temp<last_14bit_position)
-
- {
- temp1=last_14bit_position-temp;
- position_32bit=position_32bit-temp1;
- if (temp1>0x2000)
- position_32bit=position_32bit+0x4000;
- }
-
- last_14bit_position=temp;
-
- return ;
-}
-//-----------------------------------
-int Test_LId ()
-{
- Int32 Bit = 1;
- int i = 0;
-
- UInt32 PowerStep_driver=0;
-
- if (Get_Driver_Type(4)>0x14)
- PowerStep_driver=1;
-
-
-
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor down
- delay(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- delay(1000);
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*PowerStep_driver); //mov Dryer Lid motor up
-
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,4);
- delay(50);
- i++;
- }
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if((result1 == DialogResult.No) || (i==200) )
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_Lid_Open Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("\n--------1-Lid Open--------");
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DryerLid_Motor, false, 0x800000+2*(1-PowerStep_driver)); //mov Dryer Lid motor down
-
- Bit = 1;
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,5);
- delay(50);
- i++;
- }
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if((result2 == DialogResult.No) || (i==200))
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_Lid_Close Not calibrate\n");
- return 0;
- }
-
- stubManager.Write("\n--------2-Lid Close--------");
-
- Units_status[2,1]="Pass";
- Units_status[0,1]="Pass";
- return 1;
-
-}
-
-UInt32 Get_Driver_Type(UInt32 i)
-{
- Int32 x_GET_PARAM = 0x20;
- Int32 x_ADC_OUT = 0x12;
- UInt32 ADC_out ;
-
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
-
- ADC_out= (response.RecivedData) & 0x001F;
- stubManager.WriteHex(ADC_out,2) ;
- return ADC_out ;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs
deleted file mode 100644
index bf1a7d9c8..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/DyeHead_Jig.cs
+++ /dev/null
@@ -1,344 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int DyeHead_UNDER_TEST=16;
-
-float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status_DyeHead = new string[DyeHead_UNDER_TEST,2] {
- {"Pt100_Zone_1","Not Test"},
- {"Pt100_Zone_2","Not Test"},
- {"Pt100_Zone_3","Not Test"},
- {"Pt100_Zone_4","Not Test"},
- {"Pt100_Zone_5","Not Test"},
- {"Pt100_Zone_6","Not Test"},
- {"Heater_Zone_1","Not Test"},
- {"Heater_Zone_2","Not Test"},
- {"Heater_Zone_3","Not Test"},
- {"Heater_Zone_4","Not Test"},
- {"Heater_Zone_5","Not Test"},
- {"Heater_Zone_6","Not Test"},
- {"Magnet ","Not Test"},
- {"LS_DH_LID_Open","Not Test"},
- {"LS_DH_LID_Close","Not Test"},
- {"DH_LID_Motor","Not Test"},
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> DyeHead_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (DyeHead_UNDER_TEST,Units_status_DyeHead);
-
- DialogResult result1 = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return 0 ;
- }
- else
- {
-
-//------------------------------- start test -----------
- settext("Test Magnet Motor LS");
- Test_Magnet_Motor_LS_DyeHead();
- settext("Test heaters &pt100");
- Test_heaters_pt100 ();
-
- Status=write_to_file(SN,Location,DyeHead_UNDER_TEST,"Dyehead");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_DyeHead()
-{
- Int32 Bit = 1;
-
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,MAGNET_Driver, false,0x800000+0);
- stubManager.Write("\nTesting SSR no. 13 of magnet or motor driver");
-
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not Open\n");
- return 0;
- }
- Units_status[12,1]="Pass";
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("\n*** Open Lid Head ");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,7);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- Units_status[15,1]="Fail";
- Units_status[13,1]="Fail";
- stubManager.Write("LS_DH_LID_Open Not calibrate\n");
- return 0;
- }
- Units_status[13,1]="Pass";
- stubManager.Write("\n*** Close Lid Head ");
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_01_Direct,8);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[14,1]="Fail";
- Units_status[15,1]="Fail";
- stubManager.Write("LS_DH_LID_Close Not calibrate\n");
- return 0;
- }
- Units_status[14,1]="Pass";
- stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,MAGNET_Driver, false,0x800000+2);
- DialogResult result3 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[12,1]="Fail";
- stubManager.Write("Magnet Not close\n");
- return 0;
- }
- Units_status[12,1]="Pass";
- Units_status[15,1]="Pass";
-
- return 0;
-}
-
-
-//------------------------------------
-public int Test_heaters_pt100()
-{
-
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
-
- stubManager.Write("\nTemp Befor heating \n");
- if (test_pt100_dyehead()!=0)
- return 0;
-
-//------------Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 8
- SetBit (F2_CTRL, 3, 1);
- stubManager.Write("Testing SSR no. 8\tHeadZone-1\t");
- delay(15000);
- adc_configuration(0x40,0x10); //a2d_address 0x40 channel 3
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 3, 0);
- ftemp=Read_pt100(1);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[0];
-
- if ((current>1.5)|| (current<0.9)||(ftemp<5)||(ftemp>40))
- Units_status[6,1]="Fail";
- else
- Units_status[6,1]="Pass";
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 7
- ftemp=Read_pt100(2);
- ftemp1 = ftemp - DyeHeadTemp[1];
- if ( ftemp1>4)
- Units_status[7,1]="Fail";
- else
- {
- SetBit (F2_CTRL, 4, 1);
- stubManager.Write("Testing SSR no. 7\tHeadZone-2\t");
- delay(15000);
- adc_configuration(0x40,0x08); //a2d_address 0x40 channel 4
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 4, 0);
- ftemp=Read_pt100(2);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp - DyeHeadTemp[1];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>40))
- Units_status[7,1]="Fail";
- else
- Units_status[7,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 6
-
- ftemp=Read_pt100(3);
- ftemp1 = ftemp - DyeHeadTemp[2];
- if ( ftemp1>4)
- Units_status[8,1]="Fail";
- else
- {
- SetBit (F2_CTRL, 5, 1);
- stubManager.Write("Testing SSR no. 6\tHeadZone-3\t");
- delay(15000);
- adc_configuration(0x40,0x04); //a2d_address 0x40 channel 5
- adc_set_for_read_ch(0x40);
- temp=adc_read_ch(0x40);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 5, 0);
- ftemp=Read_pt100(3);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current +"\n");
- ftemp = ftemp - DyeHeadTemp[2];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>40))
- Units_status[8,1]="Fail";
- else
- Units_status[8,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 5
- ftemp=Read_pt100(4);
- ftemp1 = ftemp - DyeHeadTemp[3];
- if ( ftemp1>4)
- Units_status[9,1]="Fail";
- else
- {
- SetBit (F2_CTRL, 6, 1);
- stubManager.Write("Testing SSR no. 5\tHeadZone-4\t");
- delay(15000);
- adc_configuration(0x44,0x80); //a2d_address 0x44 channel 0
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001221) * current;
-
- SetBit (F2_CTRL, 6, 0);
- ftemp=Read_pt100(4);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[3];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>40 ))
- Units_status[9,1]="Fail";
- else
- Units_status[9,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 10
- ftemp=Read_pt100(5);
- ftemp1 = ftemp - DyeHeadTemp[4];
- if ( ftemp1>4)
- Units_status[10,1]="Fail";
- else
- {
- SetBit (F1_gpo_01, 2, 1);
- stubManager.Write("Testing SSR no. 10\tHeadZone-5\t");
- delay(15000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (F1_gpo_01, 2, 0);
- ftemp=Read_pt100(5);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[4];
- if ((current<2.9)|| (current>3.4)||(ftemp<5)||(ftemp>40))
- Units_status[10,1]="Fail";
- else
- Units_status[10,1]="Pass";
- }
-
- //Write GPO_DYEINGH_SSR1_CTRL SSR/SSR no. 11
- ftemp=Read_pt100(11);
- ftemp1 = ftemp - DyeHeadTemp[5];
- if ( ftemp1>4)
- Units_status[11,1]="Fail";
- else
- {
- SetBit (F3_GPO_01_bus, 4, 1);
- stubManager.Write("Testing SSR no. 11\tHeadZone-6\t");
- delay(15000);
- adc_configuration(0x44,0x40); //a2d_address 0x44 channel 1
- adc_set_for_read_ch(0x44);
- temp=adc_read_ch(0x44);
- current= (float)(temp);
- current=( float) (0.001526) * current;
- SetBit (F3_GPO_01_bus, 4, 0);
- ftemp=Read_pt100(11);
- stubManager.Write("After heating " + ftemp +"c\tCurrent is "+current + "\n");
- ftemp = ftemp - DyeHeadTemp[5];
- if ((current<1.6)|| (current>2.1)||(ftemp<5)||(ftemp>40))
- Units_status[11,1]="Fail";
- else
- Units_status[11,1]="Pass";
- }
- return 0;
-}
-//------------------------------------------------
- int test_pt100_dyehead()
- {
- float ftemp=0;
- int temp=0;
- int j=0;
- for (int i = 0; i < 6; i++)
- {
- if (i==5)
- j=11;
- else
- j=i+1;
- DyeHeadTemp[i]=Read_pt100(j);
- ftemp=DyeHeadTemp[i];
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[i,1]="Fail";
- }
- else
- {
- Units_status[i,1]="Pass";
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
- }
- return 0;
- }
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
deleted file mode 100644
index a90acd902..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
+++ /dev/null
@@ -1,1032 +0,0 @@
-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 "Tango_define.cs"
-include "MidTank_Jig.cs"
-include "DyeHead_Jig.cs"
-include "LTFU_Jig.cs"
-include "RTFU_Jig.cs"
-include "Winder_Jig.cs"
-include "Dryer_Jig.cs"
-include "Mixer_Jig.cs"
-include "Location.cs"
-include "New_DyeHead_Jig.cs"
-include "New_Mixer_Jig.cs"
-
-//bool _click = false;
-System.Timers.Timer timer;
-
-
-string [,] Units_status = new string[50,2];
-
-string File_Name2;
-string File_Name1 ;
-string Status;
-
-
-const int Winder =0 ;
-const int LTFU =1 ;
-
-string path;
-string path1="C:\\Jig_Log\\";;
-
-bool BlinkOn = false;
-bool timer_started = false;
-CancellationTokenSource _cancellationTokenSource;
-
-int UNIT_UNDER_TEST ;
-
-
-public void OnExecute(StubManager stubManager)
-{
- string u =System.Environment.UserName;
-
-
-
- Label Run_text = new Label ()
- {
- Width = 110,
- Height =35,
- Text = "",
- BackColor = Color.White
- };
-
- System.Windows.Forms.Label _calc_text= new Label()
- {
- Width = 350,
- Height = 125,
- Text = ""
- };
- void setLabel1TextSafe(string txt)
- {
- if (_calc_text.InvokeRequired)
- _calc_text.Invoke(new Action(() => _calc_text.Text = txt));
- else
- _calc_text.Text = txt;
- }
-
- void timer_Tick(object sender, EventArgs e)
- {
- if (BlinkOn)
- {
- Run_text.ForeColor = Color.Green;
- Run_text.BackColor = Color.White;
- }
- else
- {
- Run_text.ForeColor = Color.Red;
- Run_text.BackColor = Color.Black;
-
- }
- BlinkOn = !BlinkOn;
- }
-
- timer = new System.Timers.Timer();
- timer.Elapsed += timer_Tick;
- timer.Interval = new TimeSpan(0, 0, 0, 0, 500).TotalMilliseconds;
- //stubManager.WriteLine("OK!");
- Form form1 = new Form();
-// Set the caption bar text of the form.
- //form1.TopMost = true;
- form1.Text = "Tests";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
- form1.BackColor = Color.FromArgb(233, 245, 255);
-//start mat
-// Create buttons to Winder.
- Button Winder_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- Winder_btm.Text = "Winder";
- Winder_btm.Location = new Point (4, 70);
- Winder_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(Winder_btm);
-
-// Create buttons to LTFU.
- Button LTFU_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- LTFU_btm.Text = "LTFU";
- LTFU_btm.Location = new Point (94, 70);
- LTFU_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(LTFU_btm);
-
-// Create buttons to Dryer.
- Button Dryer_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- Dryer_btm.Text = "Dryer";
- Dryer_btm.Location = new Point (184, 70);
- Dryer_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(Dryer_btm);
-
-// Create buttons to Dye head.
- Button DyeHead_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- DyeHead_btm.Text = "Dye head";
- DyeHead_btm.Location = new Point (4, 114);
- DyeHead_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(DyeHead_btm);
-
-// Create buttons to RTFU.
- Button RTFU_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- RTFU_btm.Text = "RTFU";
- RTFU_btm.Location = new Point (94, 114);
- RTFU_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(RTFU_btm);
-
-// Create buttons to Mid Tank.
- Button MidTank_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- MidTank_btm.Text = "Mid Tank";
- MidTank_btm.Location = new Point (184, 114);
- MidTank_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(MidTank_btm);
-
-// Create buttons to WHS.
- Button WHS_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- WHS_btm.Text = "WHS";
- WHS_btm.Location = new Point (94, 158);
- WHS_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(WHS_btm);
-
-// Create buttons to Mixer.
- Button Mixer_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- Mixer_btm.Text = "Mixer";
- Mixer_btm.Location = new Point (4, 158) ;
- Mixer_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(Mixer_btm);
-
-// Create buttons to New Mixer .
- Button NewMixer_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- NewMixer_btm.Text = "New Mixer";
- NewMixer_btm.Location = new Point (4, 202);
- NewMixer_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(NewMixer_btm);
-
-// Create buttons to NewDyeHead.
- Button NewDyeHead_btm = new Button ()
- {
- Width = 80,
- Height = 40,
- };
- NewDyeHead_btm.Text = "New Dye head";
- NewDyeHead_btm.Location = new Point (184, 158);
- NewDyeHead_btm.BackColor = System.Drawing.Color.Gray;
- form1.Controls.Add(NewDyeHead_btm);
-
-//-----Create Lable to Serial Number -----------
-
- Label SN_lbl = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" S/N"
- };
- SN_lbl.Location = new Point (40, 10);
- form1.Controls.Add(SN_lbl);
- TextBox SN_TexstBox = new TextBox ()
- {
- Width = 150,
- Height = 20,
- Text =""
- };
- SN_TexstBox.Location = new Point (40, 40);
- form1.Controls.Add(SN_TexstBox);
- //-----Create Lable to Part Number -----------
-
- Label PN_lbl = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" P/N"
- };
- PN_lbl.Location = new Point (190, 10);
- form1.Controls.Add(PN_lbl);
-
- TextBox PN_TexstBox = new TextBox ()
- {
- Width = 150,
- Height = 20,
- Text =""
- };
- PN_TexstBox.Location = new Point (190, 40);
- PN_TexstBox.CharacterCasing = CharacterCasing.Upper;
-
- form1.Controls.Add(PN_TexstBox);
- //----------Create Lable to LOCATION----------
- Label Location_lbl = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
- Location_lbl.Location = new Point (440, 10);
- form1.Controls.Add(Location_lbl);
-
- TextBox Location_TexstBox = new TextBox ()
- {
- Width = 150,
- Height = 20,
- Text =Location_str
- };
- Location_TexstBox.Location = new Point (440, 40);
- form1.Controls.Add(Location_TexstBox);
-
- Run_text.Location = new System.Drawing.Point(300, 100);
- Run_text.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- Run_text.Name = "blink_Text";
- Run_text.Font = new Font("Areal", 16, System.Drawing.FontStyle.Bold);
- form1.Controls.Add(Run_text);
-//--------------------------------------------------------------------------------
- Button Open_Log_btm = new Button()
- {
- Width = 100,
- Height = 40,
- };
- Open_Log_btm.Text = "Open Log File";
- Open_Log_btm.BackColor = System.Drawing.Color.Red;
- Open_Log_btm.Location = new System.Drawing.Point(300, 286);
- Open_Log_btm.Enabled= false;
- form1.Controls.Add(Open_Log_btm);
-
-
- Open_Log_btm.Click += (_, __) =>
- {
- System.Diagnostics.Process.Start(File_Name2 );
- };
-
-
-//--------------------------------------------------------------------------------
- Button Stop_btm = new Button()
- {
- Width = 260,
- Height = 40,
- };
- Stop_btm.Text = "Stop process";
- Stop_btm.BackColor = System.Drawing.Color.Red;
- Stop_btm.Location = new System.Drawing.Point(4, 286);
- Stop_btm.Enabled= false;
-
-
-
-
- Stop_btm.Click += (_, __) =>
- {
- timer.Stop();
- timer_started = false;
- _cancellationTokenSource.Cancel();
- stubManager.WriteLine("stop ");
-
- };
-
- form1.Controls.Add(Stop_btm);
- disable_test();
- void disable_test()
- {
- Winder_btm.Enabled = false;
- LTFU_btm.Enabled = false;
- RTFU_btm.Enabled = false;
- Dryer_btm.Enabled = false;
- MidTank_btm.Enabled= false;
- DyeHead_btm.Enabled= false;
- WHS_btm.Enabled= false;
- Mixer_btm.Enabled= false;
- NewMixer_btm.Enabled= false;
- NewDyeHead_btm.Enabled= false;
- Stop_btm.Enabled= false;
- }
-
-// void enable_test()
-// {
-// Winder_btm.Enabled = true;
-// LTFU_btm.Enabled = true;
-// RTFU_btm.Enabled = true;
-// Dryer_btm.Enabled = true;
-// MidTank_btm.Enabled= true;
-// DyeHead_btm.Enabled= true;
-// WHS_btm.Enabled= true;
-// Mixer_btm.Enabled= true;
-// NewMixer_btm.Enabled= true;
-// NewDyeHead_btm.Enabled= true;
-// Stop_btm.Enabled= false;
-// }
- void Timer_en()
- {
- if (timer_started == false)
- {
- timer.Start();
- timer_started = true;
- }
- }
- void Timer_dis()
- {
- if (timer_started == true)
- {
- timer.Stop();
- timer_started = false;
- }
- }
- void end_test()
- { disable_test();
- //enable_test();
-
- Timer_dis();
- Open_Log_btm.Enabled= true;
- Run_text.Text = Status;
- if (Status=="Pass")
- {
- Run_text.ForeColor = Color.White;;
- Run_text.BackColor = Color.Green;
- }
- else
- {
- Run_text.ForeColor = Color.Black;
- Run_text.BackColor = Color.Red;
-
- }
- }
-
-PN_TexstBox.TextChanged += (_,__)=>
-
- {
- string temp;
-
- if (SN_TexstBox.Text.Length!=15)
- {
- disable_test();
- return;
- }
-
- if (PN_TexstBox.Text.Contains("-"))
-
- {
- temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
- switch (temp)
- {
- case "AM00315": //DyeHead
- NewDyeHead_btm.Enabled= true;
- break;
- case "AM00103": //Winder
- Winder_btm.Enabled = true;
- break;
- case "AM00087": //MidTank
- MidTank_btm.Enabled = true;
- break;
- case "AM00031": //LTFU
- LTFU_btm.Enabled = true;
- break;
- case "AM00007": //Dryer
- Dryer_btm.Enabled = true;
- break;
- case "AM00030": //RTFU
- RTFU_btm.Enabled = true;
- break;
- case "AM00281": //New Mixer
- NewMixer_btm.Enabled= true;
- break;
- // case "AM00281": // Mixer
- // Mixer_btm.Enabled= true;
- // break;
- default:
- disable_test();
- break;
- }
- }
- else
- disable_test();
-
-
- };
- SN_TexstBox.TextChanged += (_,__)=>
-
- {
- string temp;
- if (SN_TexstBox.Text.Length!=15)
- {
- disable_test();
- return;
- }
- if (PN_TexstBox.Text.Contains("-"))
- {
-
- temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
-
- switch (temp)
- {
- case "AM00315": //DyeHead
- NewDyeHead_btm.Enabled= true;
- break;
- case "AM00103": //Winder
- Winder_btm.Enabled = true;
- break;
- case "AM00087": //MidTank
- MidTank_btm.Enabled = true;
- break;
- case "AM00031": //LTFU
- LTFU_btm.Enabled = true;
- break;
- case "AM00007": //Dryer
- Dryer_btm.Enabled = true;
- break;
- case "AM00030": //RTFU
- RTFU_btm.Enabled = true;
- break;
- case "AM00286": //New Mixer
- NewMixer_btm.Enabled= true;
- break;
- default:
- disable_test();
- break;
-// case "AM00281": // Mixer
-// Mixer_btm.Enabled= true;
-// break;
- }
- }
- else
- disable_test();
- };
-//-----------------------------------------
- Winder_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Winder ");
-// path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
- // disable_test();
- Winder_btm.Enabled = false;
- Stop_btm.Enabled= true;
- var longRunningTask = await Winder_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- LTFU_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- LTFU ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\LTFU\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- LTFU_btm.Enabled = false;
- Stop_btm.Enabled= true;
- var longRunningTask = await LTFU_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Lloading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER2_Motor, 3); //hold Lloading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
-
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- Dryer_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Dryer ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Dryer\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- Dryer_btm.Enabled = false;
- Stop_btm.Enabled= true;
- var longRunningTask = await Dryer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
-
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerMain_Motor,3); //stop motor
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DrierLoadingArm_Motor, 3);
- SetBit (F2_CTRL, 10, 0); //turn SSR1 off
- SetBit (F2_CTRL, 9, 0); //turn SSR2 off
-
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- DyeHead_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- DyeHead ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\DyeHead\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- DyeHead_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await DyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MAGNET_Driver,3); //stop magnet
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- SetBit (F2_CTRL, 3, 0);
- SetBit (F2_CTRL, 4, 0);
- SetBit (F2_CTRL, 5, 0);
- SetBit (F2_CTRL, 6, 0);
- SetBit (F1_gpo_01, 2, 0);
- SetBit (F3_GPO_01_bus, 4, 0);
-
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- NewDyeHead_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- New DyeHead ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\NewDyeHead\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- NewDyeHead_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await NewDyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MAGNET_Driver,3); //stop magnet
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- for (Int32 i = 0; i < 12; i++) //???MF
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F000 + i*0x100); // turn all heaters OFF
- Thread.Sleep(10);
- }
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- RTFU_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- RTFU ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\RTFU\\" ;
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- RTFU_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await RTFU_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//-----------------------------------------
- MidTank_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- MidTank ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\MidTank\\" ;
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- MidTank_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await MidTank_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0); //close all valve
-
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//---------------------------Mixer--------------
- Mixer_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- Mixer ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- Mixer_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- SetBit (F1_gpo_01, 7, 0); //clear bit F1_VALVE_MIXCHIP_WASTECH
- SetBit (F2_CTRL, 7, 0); //clear bit mixer SSR
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-//---------------------------new Mixer--------------
- NewMixer_btm.Click += async(_,__) =>
- {
- Open_Log_btm.Enabled= false;
- Run_text.Text = "Run";
- stubManager.WriteLine("DUT- New Mixer ");
- path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
-
- Timer_en();
- _cancellationTokenSource = new CancellationTokenSource();
- try
- {
-// disable_test();
- NewMixer_btm.Enabled= false;
- Stop_btm.Enabled= true;
- var longRunningTask = await New_Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
- }
- catch (OperationCanceledException)
- {
- disable_test();
- Status="Cancel";
- // SetBit (F1_gpo_01, 7, 0); ????????????//clear bit F1_VALVE_MIXCHIP_WASTECH
- // SetBit (F2_CTRL, 7, 0); //????????????clear bit mixer SSR
- stubManager.WriteLine("Task was cancelled");
- }
- finally
- {
- _cancellationTokenSource.Dispose();
- }
- end_test();
- };
-
-//---------------------------WHS--------------
-
-//----------------------------------------
- _calc_text.Location = new System.Drawing.Point(300, 150);
- _calc_text.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
- _calc_text.Name = "";
- _calc_text.Font = new Font("Areal", 16, System.Drawing.FontStyle.Bold);
- form1.Controls.Add(_calc_text);
-// stubManager.WriteLine("Start dialog!");
- form1.ShowDialog();
- return ;
-
-
-}
- //---------------------------------------------------------------------------------------------------------------------
-string write_to_file(string s_n,string loocation,int unit_nm,string DUT)
-
-{
-string Stemp="Pass";
-string Stemp1="P";
-
-int i;
-
- for ( i=0;i<unit_nm;i++)
- {
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- { Stemp="Fail";
- Stemp1="F";
- }
- }
-
-if (!Directory.Exists(path))
- {
- if (!Directory.Exists(path1))
- Directory.CreateDirectory(path1);
- path=path1;
- }
-
-
-
- File_Name2=Environment.ExpandEnvironmentVariables(path +Stemp1+"_"+ s_n +"_"+DUT +"_"+ DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" );
-
-stubManager.Write(File_Name2 +"\n");
-
-stubManager.WriteToFile(File_Name2,DateTime.Now +" " );
-stubManager.Write(DateTime.Now +"\n" );
-
-stubManager.AppendToFile(File_Name2,DUT + " Test Report" );
-stubManager.Write(DUT + " Test Report\n" );
-
-stubManager.AppendToFile(File_Name2,DUT + " S/N: \t" + s_n );
-stubManager.Write(DUT + " S/N: \t" + s_n+"\n" );
-
-
-stubManager.AppendToFile(File_Name2,"Location:\t" + loocation +"\n" );
-stubManager.Write("Location:" + loocation+"\n\n" );
-
- for ( i=0;i<unit_nm;i++)
- {
- stubManager.AppendToFile(File_Name2,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name2,"-------------"+DUT+ " Fail ------------ ");
- stubManager.Write("-------------"+DUT+ " Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name2,"-------------"+DUT+ " Pass ------------ ");
- stubManager.Write("-------------"+DUT+ " Pass ------------ ");
- }
- return Stemp;
-}
-
-//-------------------------------------------------------------------------------------
-void copy_table(int testing_nm,string [,]Units_status_DUT)
-{
- for (int i=0;i<testing_nm;i++)
- {
-/// Units_status[i,0]=Units_status_Winder[i,0];
-// Units_status[i,1]=Units_status_Winder[i,1];
- Units_status[i,0]=Units_status_DUT[i,0];
- Units_status[i,1]=Units_status_DUT[i,1];
-
- }
-}
-
-public int delay(Int32 ms_delay)
- {
-int i;
- for (i=0 ;i<ms_delay;i=i+10)
- {
- Thread.Sleep(10);
- if (_cancellationTokenSource.Token.IsCancellationRequested)
- {
- _cancellationTokenSource.Token.ThrowIfCancellationRequested();
- throw new TaskCanceledException();
- return 0;
- }
- }
- return 0;
-
- }
-
-
-Int32 GetBit(Int32 Adr, Int32 BitNo)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- BitMask = 0x1 << BitNo;
- if ( ( (Int32) RetVal.Value & BitMask) == BitMask )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-
-}
-
-public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
-{
- Int32 BitMask;
- var RetVal = Fpga_Read_Reg(Adr);
- Int32 RV = (Int32) RetVal.Value;
-
- if (Bit == 0x1)
- {
- BitMask = 0x1 << BitNo;
- RV = RV | BitMask;
- Fpga_Write_Reg( Adr, RV );
- }
- else if (Bit == 0x0)
- {
- BitMask = ~(0x1 << BitNo);
- RV = RV & BitMask;
- Fpga_Write_Reg(Adr, RV );
- }
- return 1;
-}
-
-
-int Fpga_Write_Reg(Int32 Addr, Int32 Data)
-{
- var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
-
- return 1;
-}
-
-
-
-StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
-{
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
- response.Value = response.Value & 0xffff;
-
- return response;
-}
-
-float Read_pt100(int i)
-{
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" ,i); //
-
- float ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- return (ftemp);
-}
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
-
-//--------------------------------
-int adc_configuration(uint I2C_Slave_Add,uint channel )
-{
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID2;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 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_ID2;
- stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-//--------------------------------
-
-uint adc_read_ch(uint I2C_Slave_Add)
-{
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID2;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- uint templ=0;
- uint temp;
- temph=response1.ReadBytes[0];
- templ=response1.ReadBytes[1];
- temp = (temph << 8) | templ;
- temp=temp & 0x0fff;
-
- return temp;
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx
deleted file mode 100644
index f7aa53997..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx
deleted file mode 100644
index 948efd86b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
deleted file mode 100644
index 7d954e8b1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
+++ /dev/null
@@ -1,496 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int LTFU_UNDER_TEST=12;
-//---------------------------
-
-string [,] Units_status_LTFU = new string[LTFU_UNDER_TEST,2] {
- {"LS_LLOADMOTOR_Up","Not Test"}, //0
- {"LS_LLOADMOTOR_DOWN","Not Test"}, //1
- {"LLOADING_Motor","Not Test"}, //2
- {"LDRIVING_Motor","Not Test"}, //3
- {"LS_LDANCER_Left_DOWN","Not Test"}, //4
- {"LS_LDANCER_Left_UP","Not Test"}, //5
- {"LDANCER_Left_Motor","Not Test"}, //6
- {"LDANCER_Left_ROTENC","Not Test"}, //7
- {"LDANCER_Right_ROTENC","Not Test"}, //8
- {"LS_LDANCER_Right_DOWN","Not Test"}, //9
- {"LS_LDANCER_Right_UP","Not Test"}, //10
- {"LDANCER_Right_Motor","Not Test"}, //11
-
- };
-//-----------------------------------------------------
-//--------------------------------------------------------------------------------
-
-
-public Task<decimal> LTFU_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- int no_of_test=12;
-
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
-
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (no_of_test,Units_status_LTFU);
-
- settext("Test LLOADING LTFU");
- Test_LLOADING_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
- delay(100);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- settext("Test LDRIVING LTFU");
- Test_LDRIVING_LTFU();
-
- settext("Test DANCER LTFU");
-
-no_of_test=Test_DANCER_LTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Lloading high z
-
- Status=write_to_file(SN,Location,no_of_test,"LTFU");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-
- //------------------------------------
-int Test_LLOADING_LTFU()
-{
- int temp=1;
- int counter;
-
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
- delay(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Rloading down
- delay(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Rloading high z
- delay(1000);
-//------------------------------------------ check F1_LS_LLOADMOTOR_UP------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LLOADMOTOR_UP) !=F1_LS_LLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did LLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LLOADMOTOR\tFail\n");
- return 0;
- }
- }
-//----------------------------------------- mov LLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor,true,300); //move Lloading up
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_UP) != F1_LS_LLOADMOTOR_UP )
- counter=250;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- if (counter == 200)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_LLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LLOADMOTOR_DN) !=F1_LS_LLOADMOTOR_DN ) //if LS_LLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov LLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,300); //move Lloading down
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_LLOADMOTOR_DN) != F1_LS_LLOADMOTOR_DN )
- counter=250;
-
- delay(100);
- }
-
- if (counter == 200)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- DialogResult result4 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result4 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_LLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("LLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LLOADING_Motor, false,200); //move Lloading down
- delay(4000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold Lloading high z
-
- return 1 ;
-
-}
-
-
-Int32 ReadEncoder(int i)
-{
- Int32 temp;
-
- if (i==1) //LDANCER1_ROTENC == LTFU Danser Right
- {
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER1_ROTENC_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_LSB);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER1_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
- }
- //LDANCER2_ROTENC == LTFU Danser Left
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_LDANCER2_ROTENC_TX, 0x0000); //triggers a TX transmission
- var response2 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_LSB);
- var response3 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LDANCER2_ROTENC_MSB);
-
- temp = Convert.ToInt32 (((((response3.Value <<16) + response2.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_LTFU()
-{
- int counter;
- Int32 temp_left_before;
- Int32 temp_left_after;
- Int32 temp_right_before;
- Int32 temp_right_after;
-
-
-//------------------------------------------ check F1_LS_LDANCER1_DN ------------------------------------------------
- MessageBox.Show("Make sure LDANCERs Down");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LDANCER1_UP) !=F1_LS_LDANCER1_UP ) //if F1_LS_LDANCER1_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_UP\tFail\n");
- return 12;
- }
-//----------------------------------------- check F1_LS_LDANCER1_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER1_Motor,false,450); //move Lloading up
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LDANCER1_UP is up then move down
- if ((response.Value & F1_LS_LDANCER1_UP) != F1_LS_LDANCER1_UP )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Ldancer high z
- if (counter == 300)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_UP\tFail\n");
- return 12;
- }
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LDANCER1_DN) !=F1_LS_LDANCER1_DN ) //if F1_LS_LDANCER1_DN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_DN\tFail\n");
- return 12;
- }
-
- DialogResult result5= MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result5== DialogResult.No)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_UP Not calibrate\n");
- return 12;
- }
-
- Units_status[5,1]="Pass";
- stubManager.Write("LS_LDANCER_Left_UP\tPass\n");
-
-//----------------------------------------- mov LDANCER1_Motor down and check Ldancer encoder -------------------------------------------------
- temp_left_before= ReadEncoder(0);
- delay(10);
-
- temp_right_before= ReadEncoder(1);
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER1_Motor,true,450); //move Rloading down
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if LS_LDANCER1_DN is dn then move stop
- if ((response.Value & F1_LS_LDANCER1_DN) != F1_LS_LDANCER1_DN )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Rloading high z
- // if (counter == 300)
-// {
-// Units_status[4,1]="Fail";
-// stubManager.Write("LS_LDANCER_Left_DN\tFail\n");
-// return 12;
-// }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result2 == DialogResult.No)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_LDANCER_Left_DN Not calibrate\n");
- return 12;
- }
- else
- {
- Units_status[4,1]="Pass";
- stubManager.Write("LS_LDANCER_Left_DN\tPass\n");
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LDANCER_Left_Motor\tPass\n");
-
- temp_left_after= ReadEncoder(0);
- delay(10);
- temp_right_after= ReadEncoder(1);
- delay(10);
-
- stubManager.Write("temp_left_before="+temp_left_before + "\ttemp_left_after="+temp_left_after +"\n");
- delay(10);
-
- stubManager.Write("temp_right_before="+temp_right_before + "\ttemp_right_after="+temp_right_after +"\n");
- delay(10);
-
- DialogResult result = MessageBox.Show("SSI Dancer Left led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER_Left_SSI\tFail\n");
- return 9;
-
- }
-
- if (temp_left_after>temp_left_before)
- temp_left_before=temp_left_before+0x4000;
- temp_left_before=temp_left_before-temp_left_after;
- if ((temp_left_before> 5000) || (temp_left_before <200))
- {
- Units_status[7,1]="Fail";
- stubManager.Write("LDANCER_Left_SSI\tFail\n");
- return 9;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("LDANCER_Left_SSI\tPass\n");
-
-
- DialogResult result3 = MessageBox.Show("SSI Dancer_Right_led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER_Right_SSI\tFail\n");
- return 12;
- }
-
-
- if (temp_right_after<temp_right_before)
- temp_right_after=temp_right_after+0x4000;
- temp_right_before=temp_right_after-temp_right_before;
- if ((temp_right_before< 5000) && (temp_right_before >200))
- {
- Units_status[8,1]="Pass";
- stubManager.Write("LDANCER_Right_SSI\tPass\n");
- return 9;
- }
-
-//------------------------------------------ check F1_LS_LSPARE2 ------------------------------------------------
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
-
- if ((response.Value & F1_LS_LSPARE2) !=F1_LS_LSPARE2 ) //if F1_LS_LSPARE2 is up then error
- {
- Units_status[10,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_UP\tFail\n");
- return 12;
- }
-//----------------------------------------- check F1_LS_LDANCER2_UP -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER2_Motor,false,450); //move Lloading up
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE2 is up then move down
- if ((response.Value & F1_LS_LSPARE2) != F1_LS_LSPARE2 )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER2_Motor, 3); //hold Ldancer high z
- if (counter == 300)
- {
- Units_status[10,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_UP\tFail\n");
- return 12;
- }
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //read LS
- if ((response.Value & F1_LS_LSPARE1) !=F1_LS_LSPARE1 ) //if F1_LS_LSPARE1 is up then error
- {
- Units_status[9,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_DN\tFail\n");
- return 12;
- }
-
- DialogResult result7= MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result7== DialogResult.No)
- {
- Units_status[10,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_UP Not calibrate\n");
- return 12;
- }
-
- Units_status[10,1]="Pass";
- stubManager.Write("LS_LDANCER_Right_UP\tPass\n");
-
-//----------------------------------------- mov LDANCER2_Motor down and check Ldancer encoder -------------------------------------------------
- temp_right_before= ReadEncoder(1);
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDANCER2_Motor,true,450); //move Rloading down
- counter =0;
- while ( counter < 300)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_02_Direct); //if F1_LS_LSPARE1 is dn then move stop
- if ((response.Value & F1_LS_LSPARE1) != F1_LS_LSPARE1 )
- counter=350;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER2_Motor, 3); //hold Rloading high z
- if (counter == 300)
- {
- Units_status[9,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_DN\tFail\n");
- return 12;
- }
- DialogResult result8 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
-
- if(result8 == DialogResult.No)
- {
- Units_status[9,1]="Fail";
- stubManager.Write("LS_LDANCER_Right_DN Not calibrate\n");
- return 12;
- }
-
- Units_status[9,1]="Pass";
- stubManager.Write("LS_LDANCER_Right_DN\tPass\n");
-
- Units_status[11,1]="Pass";
- stubManager.Write("LDANCER_Right_Motor\tPass\n");
-
- temp_right_after= ReadEncoder(1);
-
- stubManager.Write("temp_right_before="+temp_right_before + "\ttemp_right_after="+temp_right_after +"\n");
-
-
- if (temp_right_after<temp_right_before)
- temp_right_after=temp_right_after+0x4000;
- temp_right_before=temp_right_after-temp_right_before;
- if ((temp_right_before< 5000) && (temp_right_before >200))
- {
- Units_status[8,1]="Pass";
- stubManager.Write("LDANCER_Right_SSI\tPass\n");
- return 12;
- }
- Units_status[8,1]="Fail";
- stubManager.Write("LDANCER_Right_SSI\tFail\n");
-
-
- return 12;
-}
-//-------------------------------------------------------------
-int Test_LDRIVING_LTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,LDRIVING_Motor, true,200); //move Ldriving clockwise
- stubManager.Write("LDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are LDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("LDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
deleted file mode 100644
index 16139df2c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
+++ /dev/null
@@ -1,201 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 System.Timers;
-
-const int MidTank_UNDER_TEST =24;
-int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
-uint [,] ADC_Add_Chnl = new uint [8,2] {
- {0x44,0x20},
- {0x44,0x08},
- {0x46,0x80},
- {0x46,0x20},
- {0x44,0x10},
- {0x44,0x04},
- {0x46,0x40},
- {0x46,0x10},
- };
-
-
-string [,] Units_status_MidTank = new string[MidTank_UNDER_TEST,2] {
- {"Midtank1_Valve_Air","Not Test"}, //0
- {"Midtank1_Valve_Ink","Not Test"}, //1
- {"Midtank1_Pressure_Sensor","Not Test"}, //2
- {"Midtank2_Valve_Air","Not Test"}, //3
- {"Midtank2_Valve_Ink","Not Test"}, //4
- {"Midtank2_Pressure_Sensor","Not Test"}, //5
- {"Midtank3_Valve_Air","Not Test"}, //6
- {"Midtank3_Valve_Ink","Not Test"}, //7
- {"Midtank3_Pressure_Sensor","Not Test"}, //8
- {"Midtank4_Valve_Air","Not Test"}, //9
- {"Midtank4_Valve_Ink","Not Test"}, //10
- {"Midtank4_Pressure_Sensor","Not Test"}, //11
- {"Midtank5_Valve_Air","Not Test"}, //12
- {"Midtank5_Valve_Ink","Not Test"}, //13
- {"Midtank5_Pressure_Sensor","Not Test"}, //14
- {"Midtank6_Valve_Air","Not Test"}, //15
- {"Midtank6_Valve_Ink","Not Test"}, //16
- {"Midtank6_Pressure_Sensor","Not Test"}, //17
- {"Midtank7_Valve_Air","Not Test"}, //18
- {"Midtank7_Valve_Ink","Not Test"}, //19
- {"Midtank7_Pressure_Sensor","Not Test"}, //20
- {"Midtank8_Valve_Air","Not Test"}, //21
- {"Midtank8_Valve_Ink","Not Test"}, //22
- {"Midtank8_Pressure_Sensor","Not Test"}, //23
- };
-//--------------------------------------------------------------------------------
-
-public Task<decimal> MidTank_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
-
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
- stubManager.Write("-----------------------\n");
-
- copy_table (MidTank_UNDER_TEST,Units_status_MidTank);
- stubManager.Write("+++++++++++++++++++\n");
-
- settext("Test MidTank");
- Test_MIDTANK();
-
- Status=write_to_file(SN,Location,MidTank_UNDER_TEST,"MidTank");
- settext("End Test");
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
- //------------------------------------
-int Test_MIDTANK()
-{
- double Pressur_Volt;
- double temp;
- for (Int32 i=1;i<9;i++)
- {
- open_valve(i,1,1) ; //open Air valve
- open_valve(i,0,1) ; //open Ink valve
- delay(2000);
- Pressur_Volt=read_pressuere_sense(i);
- if ((Pressur_Volt>3 )||(Pressur_Volt<2))
- {
- Units_status[(i-1)*3+2,1]="Fail";
- stubManager.Write("pressuere_sense of midtank" + i +"\tFail\n");
- }
- else
- {
- close_valve(i,0,0) ; //close Ink valve
- DialogResult result = MessageBox.Show("ADD 20cc air thru Ink valve of Midtank"+ i, "Warning");
- close_valve(i,1,0) ; //close Air valve
- delay(2000);
-
- temp=read_pressuere_sense(i);
- temp=temp-Pressur_Volt;
- if ((temp>0.5) && ( temp <2))
- Units_status[(i-1)*3+2,1]="Pass";
- else
- Units_status[(i-1)*3+2,1]="Fail";
- }
-
- close_valve(i,0,0) ; //close Air valve
- close_valve(i,1,0) ; //close Ink valve
- }
- return 1;
-}
-
-double read_pressuere_sense(Int32 Midtank_Nm)
-{
-double Pressur_Volt;
-double calc;
-uint temp;
-
- adc_configuration((ADC_Add_Chnl[Midtank_Nm-1,0]),(ADC_Add_Chnl[Midtank_Nm-1,1]) ); //configure address and channel of midtank
- adc_set_for_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
- temp =adc_read_ch(ADC_Add_Chnl[Midtank_Nm-1,0]);
- calc= (double)temp *2.5 / 4096.0;
- Pressur_Volt = (1.96- calc) * 4.64 + 1.96;
- stubManager.Write("pressure sense of midtank " + Midtank_Nm + "is " + Pressur_Volt+ "Volt\n");
- return Pressur_Volt;
-}
-
-
-//--------------------------------
-int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
-{
- int temp1=Convert_Midtank_No[valve_nm-1] ;
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
-
- if (check_valve!=0)
- {
- temp="Air ";
- if (valve_type==1)
- temp="Ink ";
-
- DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tOpen\n");
- return 1;
- }
-
- }
- return 1;
-
-}
-//--------------------------------
-int close_valve (int valve_nm,int valve_type,int check_valve)
-{
- int temp1=Convert_Midtank_No[valve_nm-1];
-
- string temp;
- SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
- if (check_valve!=0)
- {
- temp="Air";
- if (valve_type==1)
- temp="Ink";
-
- DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
- stubManager.Write(temp +"Valve\tFail\n");
- return 0;
- }
- else
- {
- Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
- stubManager.Write(temp +"Valve\tclose\n");
- return 1;
- }
- }
- return 1;
-
-
-
-
-}
-//--------------------------------
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs
deleted file mode 100644
index c5d14855e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Mixer_Jig.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int Mixer_UNDER_TEST=3;
-
-float MixerTemp ;
-
-string [,] Units_status_Mixer = new string[Mixer_UNDER_TEST,2] {
- {"Pt100_Mixer","Not Test"},
- {"Heater_Mixer","Not Test"},
- {"VALVE_Mixer","Not Test"},
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> Mixer_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (Mixer_UNDER_TEST,Units_status_Mixer);
-
-
-//------------------------------- start test -----------
- settext("Test heaters & pt100");
- Test_Mixer_heaters_pt100 ();
- settext("Test VALVE Mixer");
- Test_VALVE_Mixer ();
-
- Status=write_to_file(SN,Location,Mixer_UNDER_TEST,"Mixer");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//--------------------------------------------
- int Test_VALVE_Mixer ()
- {
- SetBit (F1_gpo_01, 7, 1); //set bit F1_VALVE_MIXCHIP_WASTECH
-
- DialogResult result = MessageBox.Show("MixCHIP Valve Open ?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not open\n");
- return 0;
- }
- SetBit (F1_gpo_01, 7, 0); //clear bit F1_VALVE_MIXCHIP_WASTECH
-
- DialogResult result1 = MessageBox.Show("MixCHIP Valve close ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not close\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- return 0;
- }
-
-//------------------------------------
-public int Test_Mixer_heaters_pt100()
-{
-
-// uint utemp=0;
- uint temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
-
- stubManager.Write("\nTemp Befor heating \n");
-
- ftemp=Read_pt100(0);
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[0,1]="Fail";
- return 0;
- }
- stubManager.Write("Temp Befor heating is"+ ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-
-
-
- //Write F2_GPO_MIXCHIP_SSR4_CTRL SSR/SSR no. 4
- SetBit (F2_CTRL, 7, 1);
- stubManager.Write("Testing SSR no. 4\tMIXCHIP \t");
- delay(10000);
- adc_configuration(0x46,0x08); //a2d_address 0x46 channel 4
- adc_set_for_read_ch(0x46);
- temp=adc_read_ch(0x46);
- current= (float)(temp);
- current=( float) (0.001221) * current;
- SetBit (F2_CTRL, 7, 0);
-
- ftemp1=Read_pt100(0);
- stubManager.Write("After heating " + ftemp1 +"c\tCurrent is "+ current + "\n");
- ftemp = ftemp1 - ftemp;
-
- if ((current>2.5)|| (current<1.5)||(ftemp<5)||(ftemp>25))
- {
- Units_status[0,1]="Fail";
- Units_status[1,1]="Fail";
- }
- else
- {
- Units_status[0,1]="Pass";
- Units_status[1,1]="Pass";
- }
- return 0;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs
deleted file mode 100644
index 22cf14f3e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_DyeHead_Jig.cs
+++ /dev/null
@@ -1,583 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int New_DyeHead_UNDER_TEST=48;
-
-const Int32 MGNET_OPEN=0x42F801;
-const Int32 MGNET_EN=0x42F701;
-const Int32 MGNET_CLOSE=0x42F800;
-const Int32 MGNET_DIS=0x42F700;
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-
-
-string EEPROM_Header="Header_1 "; //16 characters
-
-int Head_Mux_Channel_ID = 4; //Head MUX channel
- char[] characters = new char[16];
-
-
-//float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status_New_DyeHead = new string[New_DyeHead_UNDER_TEST,2] {
- {"Pt100_Zone_1","Pass"}, //0
- {"Pt100_Zone_2","Pass"}, //1
- {"Pt100_Zone_3","Pass"}, //2
- {"Pt100_Zone_4","Pass"}, //3
- {"Pt100_Zone_5","Pass"}, //4
- {"Pt100_Zone_6","Pass"}, //5
- {"Pt100_Zone_7","Pass"}, //6
- {"Pt100_Zone_8","Pass"}, //7
- {"Pt100_Zone_9","Pass"}, //8
- {"Pt100_Zone_10","Pass"}, //9
- {"Pt100_Zone_11","Pass"}, //10
- {"Pt100_Zone_12","Pass"}, //11
-
- {"Current_Zone_1","Pass"}, //12
- {"Current_Zone_2","Pass"}, //13
- {"Current_Zone_3","Pass"}, //14
- {"Current_Zone_4","Pass"}, //15
- {"Current_Zone_5","Pass"}, //16
- {"Current_Zone_6","Pass"}, //17
- {"Current_Zone_7","Pass"}, //18
- {"Current_Zone_8","Pass"}, //19
- {"Current_Zone_9","Pass"}, //20
- {"Current_Zone_10","Pass"}, //21
- {"Current_Zone_11","Pass"}, //22
- {"Current_Zone_12","Pass"}, //23
-
- {"Break_Zone_1","Pass"}, //24
- {"Break_Zone_2","Pass"}, //25
- {"Break_Zone_3","Pass"}, //26
- {"Break_Zone_4","Pass"}, //27
- {"Break_Zone_5","Pass"}, //28
- {"Break_Zone_6","Pass"}, //29
- {"Break_Zone_7","Pass"}, //30
- {"Break_Zone_8","Pass"}, //31
- {"Break_Zone_9","Pass"}, //32
- {"Break_Zone_10","Pass"}, //33
- {"Break_Zone_11","Pass"}, //34
- {"Break_Zone_12","Pass"}, //35
-
- {"Magnet ","Not Test"}, //36
- {"LS_REAR","Not Test"}, //37
- {"LS_FRONT","Not Test"}, //38
- {"DH_LID_Motor","Not Test"}, //39
-
- {"EEPROM ","Pass"}, //40
-
- {"ACTUATOR_IN","Not Test"}, //41
- {"LS_IN_UP","Not Test"}, //42
- {"LS_IN_DN","Not Test"}, //43
- {"ACTUATOR_OUT","Not Test"}, //44
- {"LS_OUT_UP","Not Test"}, //45
- {"LS_OUT_DN","Not Test"}, //46
-
- {"LS_MAGNET_DN","Not Test"}, //47
-
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> NewDyeHead_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (New_DyeHead_UNDER_TEST,Units_status_New_DyeHead);
- DialogResult result1 = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return 0 ;
- }
- else
- {
-
-//------------------------------- start test -----------
- settext("Test Magnet Motor LS");
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC3,0); // disable i2c
- Test_Magnet_Motor_LS_New_DyeHead();
- delay(2000);
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC3,1); // enable i2c
- delay(2000);
-
-
- settext("Test heaters &pt100");
- Test_new_heaters_pt100 ();
- settext("Test Head EEPROM");
- Test_Head_EEPROM(SN); //pass
- settext("Test Actuator In");
- Test_Actuator_in(); //pass
- settext("Test Actuator Out");
- Test_Actuator_out(); //pass
- Status=write_to_file(SN,Location,New_DyeHead_UNDER_TEST,"Dyehead");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//-------------------------------------------------------------
- int Test_Actuator_in()
-{
- Int32 temp;
- int i=0;
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN Dn
- delay(2000);
-
-
-// DialogResult result = MessageBox.Show("Is ACTUATOR-IN on Upper Limit Swtich?", "Warning",MessageBoxButtons.YesNo);
-// if(result == DialogResult.Yes)
-// {
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
-//
-// delay(2000);
-// DialogResult result2 = MessageBox.Show("Is ACTUATOR-IN Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
-// if(result2 != DialogResult.Yes)
-// {
-// Units_status[43,1]="Fail";
-// return 0;
-// }
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
-// delay(2000);
-// DialogResult result3 = MessageBox.Show("Is ACTUATOR-IN Move to Upper Limit Switch?", "Warning",MessageBoxButtons.YesNo);
-// if(result3 != DialogResult.Yes)
-// {
-// Units_status[42,1]="Fail";
-// return 0;
-// }
-// Units_status[41,1]="Pass";
-// Units_status[42,1]="Pass";
-// Units_status[43,1]="Pass";
-// return 0;
-// }
-// else
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
- delay(2000);
- DialogResult result4 = MessageBox.Show("Is ACTUATOR-IN Move to Upper Limit Switch ?", "Warning",MessageBoxButtons.YesNo);
- if(result4 != DialogResult.Yes)
- {
- Units_status[42,1]="Fail";
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
- delay(2000);
- DialogResult result6 = MessageBox.Show("Is ACTUATOR-IN Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result6 != DialogResult.Yes)
- {
- Units_status[43,1]="Fail";
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
- Units_status[43,1]="Pass";
- return 0;
-}
-
-
-
-//-------------------------------------------------------------
- int Test_Actuator_out()
-{
- Int32 temp;
- int i=0;
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
- delay(2000);
-
-// DialogResult result = MessageBox.Show("Is ACTUATOR-OUT on Upper Limit swtich?", "Warning",MessageBoxButtons.YesNo);
-// if(result == DialogResult.Yes)
-// {
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100);
-//
-//
-// delay(2000);
-// DialogResult result1 = MessageBox.Show("Is ACTUATOR-OUT Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
-// if(result1 != DialogResult.Yes)
-// {
-// Units_status[46,1]="Fail";
-// return 0;
-// }
-//
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
-// delay(2000);
-// DialogResult result3 = MessageBox.Show("Is ACTUATOR-OUT Move to Upper Limit Switch?", "Warning",MessageBoxButtons.YesNo);
-// if(result3 != DialogResult.Yes)
-// {
-// Units_status[45,1]="Fail";
-// return 0;
-// }
-// Units_status[44,1]="Pass";
-// Units_status[45,1]="Pass";
-// Units_status[46,1]="Pass";
-// return 0;
-// }
-// else
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
- delay(2000);
- DialogResult result4 = MessageBox.Show("Is ACTUATOR-OUT Move to Upper Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result4 != DialogResult.Yes)
- {
- Units_status[45,1]="Fail";
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
- delay(2000);
- DialogResult result6 = MessageBox.Show("Is ACTUATOR-OUT Move to Lower Limit Switch?", "Warning",MessageBoxButtons.YesNo);
- if(result6 != DialogResult.Yes)
- {
- Units_status[46,1]="Fail";
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
- Units_status[46,1]="Pass";
- return 0;
- }
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_DyeHead()
-{
- Int32 temp;
- int i=0;
-
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- delay(100);
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- delay(100);
-
- stubManager.Write("Magnet is Open\n");
- delay(1000);
-//---------------------- chekc Magnet is open ----------------------------
- DialogResult result = MessageBox.Show("Make shure, Magnet is open and DyeHead cover on front.", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp != 0)
- {
- Units_status[47,1]="Fail";
- stubManager.Write("LS_UPPER of Magnet is close\n");
- }
-
-
-//---------------------- Move DyeingHead Lid Motor rear----------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("*** Open Lid Head ********* \n");
-
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_REAR); // read LS_REAR
- delay(50);
-
- i++;
- }
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No || i==200)
- {
- Units_status[37,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- }
- else
- Units_status[37,1]="Pass";
-//---------------------- Move DyeingHead Lid Motor front----------------------------
- stubManager.Write("*** Close Lid Head \n");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_FRONT); // read LS_FRONT
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No || i==200)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- }
- else
- {
- Units_status[39,1]="Pass";
- Units_status[38,1]="Pass";
- }
-//---------------------- Close Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
- delay(2000);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
-
- stubManager.Write("Magnet is Close\n");
- delay(1000);
-//---------------------- chekc Magnet is close ----------------------------
-
- DialogResult result4 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.YesNo);
- if(result4 == DialogResult.No)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- Units_status[36,1]="Pass";
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp == 0)
- {
- Units_status[47,1]="Fail";
- stubManager.Write("LS_UPPER of Magnet is open\n");
- return 0;
- }
- Units_status[47,1]="Pass";
- stubManager.Write("LS_UPPER of Magnet is close\n");
- return 0;
- }
-//------------------------------------
-public int Test_new_heaters_pt100()
-{
-
-// uint utemp=0;
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Double current_sense;
-
- for (Int32 i = 0; i < 12; i++) //12
- {
- Int32 tdly=20000;
-//---------------------- get tempurature of heaters----------------------------
- temp= 12+i/2+(i%2)*8; //HZone_1=12
- //HZone_2=20
- //HZone_3=13
- //HZone_4=21
- //HZone_5=14
- //HZone_6=22
- //HZone_7=15
- //HZone_8=23
- //HZone_9=16
- //HZone_10=24
- //HZone_11=17
- //HZone_11=25
-
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , temp); //get temperature from the buffer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
-
- if ((ftemp>50)|| (ftemp<15))
- {
- Units_status[i,1]="Fail";
- tdly=2000;
-
- }
- stubManager.Write("Zone-"+(i+1)+ "-\t" + ftemp.ToString("F2")+"°C\n");
-//---------------------- get current of heaters ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current zone -" +(i+1)+ " is \t-" + current_sense +"\n");
-//---------------------- get Break of heaters ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +(i/8)*0x100+(1<<(i&7))); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & (1<<(i&7))) ==0) //if break ok
- {
- Units_status[i+24,1]="Fail";
- stubManager.Write("Break Zone "+(i+1)+ "\t is on\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
- }
-//---------------------- turn heater on ----------------------------
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400200 +(i/8)*0x100+(1<<(i&7))); // turn heater on
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F001 + i*0x100); // turn heater on
-
- stubManager.Write("Heater- "+(i+1)+ "\t is On\n");
- delay(tdly); //delay 10 second
-//---------------------- get current of heaters ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response3.Pressure;
- if ((current_sense<1.0) ||(current_sense>1.5) ) //if current not 1.25A
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current zone -" +(i+1)+ " is \t-" + current_sense +"\n");
-//---------------------- get Break of heaters ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +(i/8)*0x100+(1<<(i&7))); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & (1<<(i&7))) ==0) //if break ok
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is On\n");
- Units_status[i+24,1]="Fail";
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
-
- }
- temp= 12+i/2+(i%2)*8;
- var response5 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , temp); //get temperature from the buffer
- ftemp1 = (float)response5.TemperatureCMultBy100;
- ftemp1 = ftemp1 / 100;
-
- if (((ftemp1-ftemp)<10)|| ((ftemp1-ftemp)>45))
- {
- Units_status[i,1]="Fail";
- }
- stubManager.Write("Zone-"+(i+1)+ " after heating is \t" + ftemp1.ToString("F2")+"°C\n");
-//---------------------- turn heater off ----------------------------
-// stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400200 +(i/8)*0x100); // turn heater off
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F000 + i*0x100); // turn heater OFF
-
- stubManager.Write("Heater - "+(i+1)+ "\t is Off\n");
-
- }
- return 0;
-}
-
-Int32 read_pio(Int32 i2c_input)
-{
- Int32 temp=0;
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
-
- temp = (Int32) (response.Progress);
- temp =temp & (i2c_input& 0xff); //if break ok
-
- return temp;
-}
-//end mati
-
- //enable_all_channel();
-public int Test_Head_EEPROM(string s_n)
-{
-
- enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
-
- Write_EEPROM(0xA0,s_n);
- delay(200); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
-//------------ go to address 0 on eeprom --------------
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = 0xA0;
-
- UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
- stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- //Thread.Sleep(1); //Sleep for 10 milli.
- Read_EEPROM(0xA0);
-
- delay(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
- return 0;
-
-}
-
-int enable_channel(int Channel_ID)
-{
- uint Const_temp = 0x01;
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
-
- Const_temp = Const_temp << Channel_ID;
- stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Write_EEPROM (uint I2C_Slave_Add,string s_n )
-{
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- 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
-
- //--------------------------------------------------------------
- characters = EEPROM_Header.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add header
- // characters[i]=0x20;
- }
- characters = s_n.ToCharArray();
-
- for (int i=0;i<characters.Length ;i++)
- {
-
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add s/n
-
- }
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Read_EEPROM(uint I2C_Slave_Add)
-{
- char temp;
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID3;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 16; // Number of header bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- char[] characters = EEPROM_Header.ToCharArray();
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- temp = Convert.ToChar(response1.ReadBytes[i]);
-
-
- }
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs
deleted file mode 100644
index 076f4ce68..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/New_Mixer_Jig.cs
+++ /dev/null
@@ -1,170 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int New_Mixer_UNDER_TEST=4;
-
-const Int32 Valve_EN=0x42F501;
-const Int32 Valve_DIS=0x42F500;
-const Int32 Mixer_ON=0x42F401;
-const Int32 Mixer_OFF=0x42F400;
-
-float NewMixerTemp ;
-
-string [,] Units_status_New_Mixer = new string[New_Mixer_UNDER_TEST,2] {
- {"Pt100_Mixer","Pass"}, //0
- {"Heater_Mixer","Pass"}, //1
- {"Break_Mixer","Pass"}, //2
- {"VALVE_Mixer","Not Test"}, //3
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> New_Mixer_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (New_Mixer_UNDER_TEST,Units_status_New_Mixer);
-
-
-//------------------------------- start test -----------
- settext("Test heater & pt100");
- Test_New_Mixer_heater_pt100 ();
- settext("Test VALVE Mixer");
- Test_VALVE_New_Mixer ();
-
- Status=write_to_file(SN,Location,New_Mixer_UNDER_TEST,"Mixer");
-
- settext("End Test");
-
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//--------------------------------------------
- int Test_VALVE_New_Mixer ()
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Valve_EN); // Valve enable
-
- DialogResult result = MessageBox.Show("MixCHIP Valve Open ?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not open\n");
- return 0;
- }
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Valve_DIS); // Valve enable
-
- DialogResult result1 = MessageBox.Show("MixCHIP Valve close ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("VALVE_MIXCHIP_WASTECH Not close\n");
- return 0;
- }
- Units_status[3,1]="Pass";
- return 0;
- }
-
-//------------------------------------
-public int Test_New_Mixer_heater_pt100()
-{
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Int32 tdly=15000;
- Double current_sense;
-
-//---------------------- get tempurature of mixer----------------------------
-
-// stubManager.Write("\nTemp Befor heating \n");
-
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 19); //get temperature from mixer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
- if ((ftemp>100)|| (ftemp<10))
- {
- Units_status[0,1]="Fail";
- tdly=1000;
- }
- stubManager.Write("Temp Befor heating is"+ ftemp.ToString("F2"));
- stubManager.Write("°C\n");
-//---------------------- get current of mixer ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + 20); // get current mixer
- current_sense=response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[1,1]="Fail";
- }
- stubManager.Write("current is " + current_sense +"\n");
-//---------------------- get Break of Mixer ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x460000 +0x10); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & 0x10 )==0) //if break ok
- {
- Units_status[2,1]="Fail";
- stubManager.Write("Break Mixer is On\n");
- }
- else
- {
- stubManager.Write("Break Mixer is off\n");
- }
-//---------------------- turn Mixer on ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Mixer_ON); // turn mixer on
- stubManager.Write("Mixer On\n");
- delay(tdly); //delay 20 second
-//---------------------- get current of mixer ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + 20); // get current
- current_sense=response3.Pressure;
- if ((current_sense<2) ||(current_sense>3) ) //if current not 2.5A
- {
- Units_status[3,1]="Fail";
- }
- stubManager.Write("current in Mixer is " + current_sense +"\n");
-//---------------------- get Break of Mixer ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x460000 +0x10); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & 0x10 )==0) //if break ok
- {
- Units_status[2,1]="Fail";
- stubManager.Write("Break Mixer is On\n");
- }
- else
- {
- stubManager.Write("Break Mixer is Off\n");
- }
-//---------------------- get tempurature of mixer----------------------------
- var response5 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 19); //get temperature from the mixer
- ftemp1 = (float)response5.TemperatureCMultBy100;
- ftemp1 = ftemp1 / 100;
-
- if (((ftemp1-ftemp)<5)|| ((ftemp1-ftemp)>50))
- {
- Units_status[0,1]="Fail";
- }
- stubManager.Write("Mixer after heating is \t" + ftemp1.ToString("F2")+"°C\n");
-//---------------------- turn Mixer off ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,Mixer_OFF); // turn mixer off
- stubManager.Write("Mixer is Off\n");
- return 0;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
deleted file mode 100644
index 4e1223328..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
+++ /dev/null
@@ -1,367 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int RTFU_UNDER_TEST=9;
-
-string [,] Units_status_RTFU = new string[RTFU_UNDER_TEST,2] {
- {"LS_RLOADMOTOR_Up","Not Test"}, //0
- {"LS_RLOADMOTOR_DOWN","Not Test"}, //1
- {"RLOADING_Motor","Not Test"}, //2
- {"DRIVING_Motor","Not Test"}, //3
- {"LS_RDANCER_DOWN","Not Test"}, //4
- {"LS_RDANCER_UP","Not Test"}, //5
- {"LS_RLOADRAM_DOWN","Not Test"}, //6
- {"RDANCER_Motor","Not Test"}, //7
- {"RDANCER_ROTENC","Not Test"}, //8
- };
-
-
-
-//-----------------------------------------------------
-
-public Task<decimal> RTFU_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
-
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (RTFU_UNDER_TEST,Units_status_RTFU);
-
- settext("Test RLOADING RTFU");
- Test_RLOADING_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- delay(100);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- settext("Test RDRIVING RTFU");
- Test_RDRIVING_RTFU();
-
- settext("Test DANCER RTFU");
-
- Test_DANCER_RTFU();
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file(SN,Location,RTFU_UNDER_TEST,"RTFU");
-
- settext("End Test");
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-
- //------------------------------------
-int Test_RLOADING_RTFU()
-{
- int temp=1;
- int counter;
-
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x40- 1.9A
- delay(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- delay(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- delay(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,300); //move Rloading up
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- delay(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 200)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,300); //move Rloading down
- counter =0;
- while ( counter < 200)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- delay(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- delay(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Down");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- delay(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(Not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs
deleted file mode 100644
index a66fa5fa1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Tango_define.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-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 F1_LS_01_Direct = 0x60000020 ;
-const Int32 F1_LS_02_Direct = 0x60000030 ;
-const Int32 F1_LS_03_Direct = 0x60000040 ;
-
-const Int32 F1_gpo_01 = 0x600003D2 ;
-
-
-const Int32 F2_CTRL = 0x600004E2 ;
-
-const Int32 F3_GPO_01_bus = 0x600008C2;
-
-const Int32 TCA9548A_address = 0xE2;
-
-
-const Int32 I2C_ID2 = 2;
-const Int32 I2C_ID3 = 3;
-
-
-
-const Int32 F1_SCREW_ROTENC_lsb = 0x60000100;
-const Int32 F1_SCREW_ROTENC_msb = 0x60000102;
-
-
-
-
-
-
-
-
-
-
-const Int32 F3_VALVE_OUT = 0x600008e2;
-
-
-const Int32 F1_Tacho_reg8 = 0x600001e0 ;
-
-
-
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_RLOADING_TX1 = 0x60000202;
-const Int32 F1_MOTO_RLOADING_TX0 = 0x60000200;
-const Int32 F1_MOTO_RLOADING_RX1 = 0x60000206;
-const Int32 F1_MOTO_RLOADING_RX0 = 0x60000204;
-
-//-------------------DEFINE Limit Switch---------------
-
-const Int32 F1_LS_RLOADMOTOR_UP = 0x0040 ;
-const Int32 F1_LS_RLOADMOTOR_DN = 0x0080 ;
-const Int32 F1_LS_RDANCER_UP = 0x0100;
-const Int32 F1_LS_RDANCER_DOWN = 0x0200;
-const Int32 F1_LS_RLOADRAM_DOWN = 0x0020;
-
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_lsb = 0x600001a0;
-const Int32 F1_RDANCER_ROTENC_DATA_p_RX_msb = 0x600001a2;
-const Int32 F1_RDANCER_ROTENC_DATA_p_TX = 0x600001ae;
-
-
-
-const Int32 F2_Prescaler1_reg11 = 0x60000512 ;
-const Int32 F2_BLOWER_PWM_LOW = 0x600007EC ;
-const Int32 F2_BLOWER_PWM_HIGH = 0x600007EE ;
-
-
-//-------------------DEFINE Motors------------------
-const Int32 CleaningHead_Motor = 0;
-const Int32 CleaningMechanisim_Motor= 1;
-const Int32 DyeingHeadLid_Motor = 2;
-const Int32 DryerMain_Motor = 3;
-const Int32 DryerLid_Motor = 4;
-const Int32 DrierLoadingArm_Motor = 5;
-
-const Int32 SCREW = 14;
-const Int32 WINDER_Motor = 15;
-
-const Int32 LDANCER1_Motor = 16;
-const Int32 LDANCER2_Motor = 17;
-const Int32 LDRIVING_Motor = 18;
-const Int32 LLOADING_Motor = 19;
-
-const Int32 RDANCER_Motor = 21;
-const Int32 RDRIVING_Motor = 22;
-const Int32 MAGNET_Driver = 23; //replace RLOADARM
-const Int32 RLOADING_Motor = 24;
-
-
-//-------------------DEFINE Motors Parameters------------------
-
-const Int32 F1_MOTO_LLOADING_TX1 = 0x60000232;
-const Int32 F1_MOTO_LLOADING_TX0 = 0x60000230;
-
-const Int32 F1_LS_LLOADMOTOR_UP = 0x0100 ;
-const Int32 F1_LS_LLOADMOTOR_DN = 0x0200 ;
-const Int32 F1_LS_LDANCER1_UP = 0x1000;
-const Int32 F1_LS_LDANCER1_DN = 0x2000;
-const Int32 F1_LS_LDANCER2_UP = 0x0400;
-const Int32 F1_LS_LDANCER2_DN = 0x0800;
-const Int32 F1_LS_LLOADRAM_LF = 0x0080;
-const Int32 F1_LS_LLOADRAM_RT = 0x0040;
-const Int32 F1_LS_LSPARE1 = 0x0008; //dn
-const Int32 F1_LS_LSPARE2 = 0x0004; //up
-
-
-const Int32 F1_LDANCER1_ROTENC_MSB = 0x600001c2;
-const Int32 F1_LDANCER1_ROTENC_LSB = 0x600001c0;
-const Int32 F1_LDANCER1_ROTENC_TX = 0x600001ce;
-
-const Int32 F1_LDANCER2_ROTENC_MSB = 0x600001b2;
-const Int32 F1_LDANCER2_ROTENC_LSB = 0x600001b0;
-const Int32 F1_LDANCER2_ROTENC_TX = 0x600001be;
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs
deleted file mode 100644
index 3ad16cb5e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Winder_Jig.cs
+++ /dev/null
@@ -1,189 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int Winder_UNDER_TEST=6;
-
-string [,] Units_status_Winder = new string[Winder_UNDER_TEST,2] {
- {"Winder_Motor","Not Test"},
- {"Screw_Motor","Not Test"},
- {"LS_Screw_Right","Not Test"},
- {"LS_Screw_Left","Not Test"},
- {"Screw_Encoder","Not Test"},
- {"SW_Spool_Exist","Not Test"},
- };
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> Winder_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
-
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (Winder_UNDER_TEST,Units_status_Winder);
- DialogResult result2 = MessageBox.Show("Insert Spool");
-
- settext("Test_Winder_motor");
- Test_Winder_motor();
- settext("Test_Screw_LS_Motor_Encoder");
- Test_Screw_LS_Motor_Encoder ();
- settext("Test_Pooler_Exis");
- Test_Pooler_Exist ();
-
- Status=write_to_file(SN,Location,Winder_UNDER_TEST,"Winder");
- settext("End Test");
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//------------------------------------------
-public int Test_Winder_motor ()
-
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,WINDER_Motor, true, 500); //rotate Winder Motor.
- stubManager.Write("Winder Motor rotate \n");
- DialogResult result = MessageBox.Show("Are Winder Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if (_cancellationTokenSource.Token.IsCancellationRequested)
- {
- _cancellationTokenSource.Token.ThrowIfCancellationRequested();
- throw new TaskCanceledException();
- return 0;
- }
- if(result == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("Winder Motor not rotate\n");
- }
- else
- {
- Units_status[0,1]="Pass";
- stubManager.Write("Winder Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
-
- return 0;
-}
-
-
-//--------------------------------------------
- int Test_Screw_LS_Motor_Encoder()
-{
- UInt32 temp ;
- Int32 Bit = 1;
-
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,SCREW, false, 250); //rotate screw Motor out.
- delay(1000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- DialogResult result2 = MessageBox.Show("Did screw Motor move ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("Screw Motor not move\n");
- return 0;
- }
- Units_status[1,1]="Pass";
-
- stubManager.Write("Screw Motor rotate \n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,SCREW, true, 250);
- stubManager.Write("Move screw in\n");
-
- Bit = 1;
- int i=0;
- while ((Bit != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_03_Direct,0);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[2,1]="Fail";
- stubManager.Write("LS_SCREW_RIGHT Not calibrate\n");
- return 0;
- }
- Units_status[2,1]="Pass";
- stubManager.Write("Move screw out\n");
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_SCREW_ROTENC_lsb, 0x0000); //clear encoder
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_SCREW_ROTENC_msb, 0x0000); //clear encoder
-
- Bit = 1;
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,SCREW, false, 250);
- i=0;
- while ((Bit != 0x0) && (i<200)) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- Bit = GetBit(F1_LS_03_Direct,1);
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result3 == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("LS_SCREW_LEFT Not calibrate\n");
- return 0;
- }
- Units_status[3,1]="Pass";
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_SCREW_ROTENC_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_SCREW_ROTENC_msb);
-
- temp=(response.Value & 0xffff )+((response1.Value & 0xffff )<<16);
- temp=temp&0x0fffffff;
- temp= 0x4000000-temp;
- stubManager.Write("Encoder positio:" +temp+"\n");
-
- if ((temp>20000) && temp<28000)
- Units_status[4,1]="Pass";
- else
- Units_status[4,1]="Fail";//
-
- return 1;
-}
- //---------------------------------------
-int Test_Pooler_Exist()
-{
- if ( (GetBit(F1_LS_03_Direct,11))==0)
- {
- Units_status[5,1]="Fail";
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Remove Spool");
- if ( (GetBit(F1_LS_03_Direct,11))!=0)
- Units_status[5,1]="Fail"; //
- else
- Units_status[5,1]="Pass";
-
- return 0 ;
-
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs
deleted file mode 100644
index 11bf6556a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/location.cs
+++ /dev/null
@@ -1 +0,0 @@
-string Location_str = "Hameshabev"; \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs
deleted file mode 100644
index 1b31dbb4e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/span.cs
+++ /dev/null
@@ -1,615 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int New_DyeHead_UNDER_TEST=47;
-const Int32 MGNET_OPEN=0x420301;
-const Int32 MGNET_EN=0x420280;
-const Int32 MGNET_CLOSE=0x420300;
-const Int32 MGNET_DIS=0x420200;
-const Int32 ACTDIR_ON=0x460280;
-const Int32 ACTDIR_OFF=0x460200;
-
-const Int32 ACTIN_ON=0x460308;
-const Int32 ACTOUT_ON=0x460304;
-
-const Int32 ACTIN_OFF=0x46030C;
-const Int32 ACTOUT_OFF=0x46030C;
-
-
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-const Int32 ACTIN_EN=0X460101;
-const Int32 ACTOUT_EN=0X460102;
-
-
-
-string EEPROM_Header="Header_1 "; //16 characters
-
-int Head_Mux_Channel_ID = 4; //Head MUX channel
-
-
-//float [] DyeHeadTemp = new float[6] ;
-
-string [,] Units_status_New_DyeHead = new string[New_DyeHead_UNDER_TEST,2] {
- {"Pt100_Zone_1","Pass"}, //0
- {"Pt100_Zone_2","Pass"}, //1
- {"Pt100_Zone_3","Pass"}, //2
- {"Pt100_Zone_4","Pass"}, //3
- {"Pt100_Zone_5","Pass"}, //4
- {"Pt100_Zone_6","Pass"}, //5
- {"Pt100_Zone_7","Pass"}, //6
- {"Pt100_Zone_8","Pass"}, //7
- {"Pt100_Zone_9","Pass"}, //8
- {"Pt100_Zone_10","Pass"}, //9
- {"Pt100_Zone_11","Pass"}, //10
- {"Pt100_Zone_12","Pass"}, //11
-
- {"Current_Zone_1","Pass"}, //12
- {"Current_Zone_2","Pass"}, //13
- {"Current_Zone_3","Pass"}, //14
- {"Current_Zone_4","Pass"}, //15
- {"Current_Zone_5","Pass"}, //16
- {"Current_Zone_6","Pass"}, //17
- {"Current_Zone_7","Pass"}, //18
- {"Current_Zone_8","Pass"}, //19
- {"Current_Zone_9","Pass"}, //20
- {"Current_Zone_10","Pass"}, //21
- {"Current_Zone_11","Pass"}, //22
- {"Current_Zone_12","Pass"}, //23
-
- {"Break_Zone_1","Pass"}, //24
- {"Break_Zone_2","Pass"}, //25
- {"Break_Zone_3","Pass"}, //26
- {"Break_Zone_4","Pass"}, //27
- {"Break_Zone_5","Pass"}, //28
- {"Break_Zone_6","Pass"}, //29
- {"Break_Zone_7","Pass"}, //30
- {"Break_Zone_8","Pass"}, //31
- {"Break_Zone_9","Pass"}, //32
- {"Break_Zone_10","Pass"}, //33
- {"Break_Zone_11","Pass"}, //34
- {"Break_Zone_12","Pass"}, //35
-
- {"Magnet ","Not Test"}, //36
- {"LS_REAR","Not Test"}, //37
- {"LS_FRONT","Not Test"}, //38
- {"DH_LID_Motor","Not Test"}, //39
-
- {"EEPROM ","Pass"}, //40
-
- {"ACTUATOR_IN","Not Test"}, //41
- {"LS_IN_UP","Not Test"}, //42
- {"LS_IN_DN","Not Test"}, //43
- {"ACTUATOR_OUT","Not Test"}, //44
- {"LS_OUT_UP","Not Test"}, //45
- {"LS_OUT_DN","Not Test"}, //46
-
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> NewDyeHead_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (New_DyeHead_UNDER_TEST,Units_status_New_DyeHead);
-
- DialogResult result1 = MessageBox.Show("Make shure, Dyehead is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Dyehead is too hot \tFail");
- stubManager.Write("Dyehead is too hot \tFail\n");
- return 0 ;
- }
- else
- {
-
-//------------------------------- start test -----------
- settext("Test Magnet Motor LS");
- Test_Magnet_Motor_LS_New_DyeHead();
- settext("Test heaters &pt100");
- Test_heaters_pt100 ();
- settext("Test Head EEPROM");
- Test_Head_EEPROM(SN);
- settext("Test Actuator In");
- Test_Actuator_in();
- settext("Test Actuator Out");
- Test_Actuator_out();
- Status=write_to_file(SN,Location,DyeHead_UNDER_TEST,"Dyehead");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//-------------------------------------------------------------
- int Test_Actuator_in()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-IN is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("ACTUATOR-IN is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-IN Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[42,1]="Fail";
- stubManager.Write("LS_IN_UP Not calibrate\n");
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
-//---------------------- move ACTUATOR-IN Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[43,1]="Fail";
- stubManager.Write("LS_IN_Down Not calibrate\n");
- return 0;
- }
- Units_status[43,1]="Pass";
- return 0;
-
-}
-//-------------------------------------------------------------
- int Test_Actuator_out()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-OUT is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("ACTUATOR-OUT is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-OUT Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_OUT enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_OUT disable
- stubManager.Write("ACTUATOR-OUT moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[45,1]="Fail";
- stubManager.Write("LS_OUT_UP Not calibrate\n");
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
-//---------------------- move ACTUATOR-OUT Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_out enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_out disable
- stubManager.Write("ACTUATOR-OUT moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[46,1]="Fail";
- stubManager.Write("LS_OUT_Down Not calibrate\n");
- return 0;
- }
- Units_status[46,1]="Pass";
- return 0;
-
-}
-
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_DyeHead()
-{
- Int32 temp;
- int i=0;
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- stubManager.Write("Magnet is Open\n");
- delay(1000);
-//---------------------- chekc Magnet is open ----------------------------
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp != 0)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
-//---------------------- Move DyeingHead Lid Motor rear----------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("*** Open Lid Head \n");
-
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_REAR); // read LS_REAR
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i == 200)
- {
- Units_status[37,1]="Fail";
- Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[37,1]="Fail";
- Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- Units_status[37,1]="Pass";
-//---------------------- Move DyeingHead Lid Motor front----------------------------
- stubManager.Write("*** Close Lid Head \n");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_FRONT); // read LS_FRONT
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i == 200)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 0;
- }
- Units_status[37,1]="Pass";
- Units_status[38,1]="Pass";
-//---------------------- Close Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
- delay(2000);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
-
- stubManager.Write("Magnet is Close\n");
- delay(1000);
-//---------------------- chekc Magnet is close ----------------------------
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp == 0)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- DialogResult result4 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result4 == DialogResult.Cancel)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- Units_status[36,1]="Pass";
- stubManager.Write("Magnet is close\n");
- return 0;
-}
-
-
-//------------------------------------
-public int Test_new_heaters_pt100()
-{
-
-// uint utemp=0;
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Double current_sense;
-
- for (Int32 i = 0; i < 12; i++)
- {
- Int32 tdly=10000;
-//---------------------- get tempurature of heaters----------------------------
- temp= 12+i/2+(i%2)*8; //HZone_1=12
- //HZone_2=20
- //HZone_3=13
- //HZone_4=21
- //HZone_5=14
- //HZone_6=22
- //HZone_7=15
- //HZone_8=23
- //HZone_9=16
- //HZone_10=24
- //HZone_11=17
- //HZone_11=25
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , temp); //get temperature from the buffer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
-
- if ((ftemp>50)|| (ftemp<15))
- {
- Units_status[i,1]="Fail";
- tdly=1000;
-
- }
- stubManager.Write("Zone-"+(i+1)+ "\t" + ftemp.ToString("F2")+"°C\n");
-//---------------------- get current of heaters ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current is "+(i+1)+ "\t" + current_sense +"\n");
-//---------------------- get Break of heaters ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +(i/8)*0x100+(1<<(i&7))); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & (1<<(i&7))) !=0) //if break ok
- {
- Units_status[i+24,1]="Fail";
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
- }
-//---------------------- turn heater on ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400200 +(i/8)*0x100+(1<<(i&7))); // turn heater on
- stubManager.Write("Heater - "+(i+1)+ "\t is On\n");
- delay(2000); //delay 20 second
-//---------------------- get current of heaters ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + i); // get current
- current_sense=response3.Pressure;
- if ((current_sense<1.1) ||(current_sense>1.4) ) //if current not 1.25A
- {
- Units_status[i+12,1]="Fail";
- }
- stubManager.Write("current is "+(i+1)+ "\t" + current_sense +"\n");
-//---------------------- get Break of heaters ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +(i/8)*0x100+(1<<(i&7))); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & (1<<(i&7))) !=0) //if break ok
- {
- Units_status[i+24,1]="Fail";
- stubManager.Write("Break Zone "+(i+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i+1)+ "\t is On\n");
- }
- delay(tdly); //delay 20 second
- temp= 12+i/2+(i%2)*8;
- var response5 = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , temp); //get temperature from the buffer
- ftemp1 = (float)response5.TemperatureCMultBy100;
- ftemp1 = ftemp1 / 100;
-
- if (((ftemp1-ftemp)<5)|| ((ftemp1-ftemp)>35))
- {
- Units_status[i,1]="Fail";
- }
- stubManager.Write("Zone-"+(i+1)+ "after heating is \t" + ftemp1.ToString("F2")+"°C\n");
-//---------------------- turn heater off ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400200 +(i/8)*0x100); // turn heater off
- stubManager.Write("Heater - "+(i+1)+ "\t is Off\n");
-
- }
- return 0;
-}
-
-Int32 read_pio(Int32 i2c_input)
-{
- Int32 temp=0;
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
- temp = (Int32) (response.Progress);
- temp =temp & (i2c_input& 0xff); //if break ok
- return temp;
-}
-//end mati
-
- //enable_all_channel();
-public int Test_Head_EEPROM(string s_n)
-{
-
- enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
-
- Write_EEPROM(0xA0,s_n);
- delay(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- adc_set_for_read_ch(0xA0);
- //Thread.Sleep(1); //Sleep for 10 milli.
- Read_EEPROM(0xA0);
-
- delay(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
- return 0;
-
-}
-
-
-
-int enable_channel(int Channel_ID)
-{
- uint Const_temp = 0x01;
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
-
- Const_temp = Const_temp << Channel_ID;
- stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Write_EEPROM (uint I2C_Slave_Add,string s_n )
-{
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- 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
- //--------------------------------------------------------------
- char[] characters = EEPROM_Header.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add header
- }
- characters = s_n.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add s/n
- }
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Read_EEPROM(uint I2C_Slave_Add)
-{
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID3;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 16; // Number of header bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- char[] characters = EEPROM_Header.ToCharArray();
-
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- if (characters[i]!=response1.ReadBytes[i]);
- Units_status[40,1]="Fail";
- }
- stubManager.Write("EEprom "+ Units_status[40,1]+"\n");
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs
deleted file mode 100644
index 656786ad7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/stapele_span.cs
+++ /dev/null
@@ -1,631 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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 int New_Stapele_Span_UNDER_TEST=47;
-const Int32 MGNET_OPEN=0x420301;
-const Int32 MGNET_EN=0x420280;
-const Int32 MGNET_CLOSE=0x420300;
-const Int32 MGNET_DIS=0x420200;
-const Int32 ACTDIR_ON=0x460280;
-const Int32 ACTDIR_OFF=0x460200;
-
-const Int32 ACTIN_ON=0x460308;
-const Int32 ACTOUT_ON=0x460304;
-
-const Int32 ACTIN_OFF=0x46030C;
-const Int32 ACTOUT_OFF=0x46030C;
-
-
-
-const Int32 LS_FRONT=0X460110;
-const Int32 LS_REAR=0X460120;
-const Int32 LS_UPPER=0X460140;
-const Int32 LS_SPARE=0X460180;
-const Int32 ACTIN_EN=0X460101;
-const Int32 ACTOUT_EN=0X460102;
-
-
-
-string EEPROM_Header="Header_1 "; //16 characters
-
-int Head_Mux_Channel_ID = 4; //Head MUX channel
-
-
-//float [] Stapele_SpanTemp = new float[6] ;
-
-string [,] Units_status_New_Stapele_Span = new string[New_Stapele_Span_UNDER_TEST,2] {
- {"Pt100_HTIN","Pass"}, //0
- {"Pt100_HTOUT","Pass"}, //1
-
- {"Current_HTIN1","Pass"}, //2
- {"Current_HTIN2","Pass"}, //3
- {"Current_HTIN3","Pass"}, //4
- {"Current_HTIN4","Pass"}, //5
- {"Current_HTOUT1","Pass"}, //6
- {"Current_HTOUT2","Pass"}, //7
- {"Current_HTOUT3","Pass"}, //8
- {"Current_HTOUT4","Pass"}, //9
-
- {"Break_HTIN1","Pass"}, //10
- {"Break_HTIN2","Pass"}, //11
- {"Break_HTIN3","Pass"}, //12
- {"Break_HTIN4","Pass"}, //13
- {"Break_HTOUT1","Pass"}, //14
- {"Break_HTOUT2","Pass"}, //15
- {"Break_HTOUT3","Pass"}, //16
- {"Break_HTOUT4","Pass"}, //17
-
- {"Fan_in","Not Test"}, //18
- {"Fan_out","Not Test"}, //19
-
-
-
- {"Magnet ","Not Test"}, //18
- {"LS_REAR","Not Test"}, //19
- {"LS_FRONT","Not Test"}, //2
- {"DH_LID_Motor","Not Test"}, //39
-
- {"EEPROM ","Pass"}, //40
-
- {"ACTUATOR_IN","Not Test"}, //41
- {"LS_IN_UP","Not Test"}, //42
- {"LS_IN_DN","Not Test"}, //43
- {"ACTUATOR_OUT","Not Test"}, //44
- {"LS_OUT_UP","Not Test"}, //45
- {"LS_OUT_DN","Not Test"}, //46
-
-
- };
-
-
-
-//--------------------------------------------------------------------------------
-
-public Task<decimal> NewStapele_Span_test( Action<string> settext, CancellationToken cancellationToken, string SN, string Location)
-{
- Task<decimal> task = null;
- // Start a task and return it
- task = Task.Run(() =>
- {
- stubManager.Write("S/N:" +SN+ "\n");
- stubManager.Write("Location:" +Location+ "\n");
-
- copy_table (New_Stapele_Span_UNDER_TEST,Units_status_New_Stapele_Span);
-
- DialogResult result1 = MessageBox.Show("Make shure, Stapele_Span is not hot", "Warning",MessageBoxButtons.OKCancel);
- if(result1 == DialogResult.Cancel)
- {
- stubManager.AppendToFile(File_Name1,"Stapele_Span is too hot \tFail");
- stubManager.Write("Stapele_Span is too hot \tFail\n");
- return 0 ;
- }
- else
- {
-
-//------------------------------- start test -----------
- settext("Test Magnet Motor LS");
- Test_Magnet_Motor_LS_New_Stapele_Span();
- settext("Test blowers &pt100");
- Test_blowers_pt100 ();
- settext("Test Head EEPROM");
- Test_Head_EEPROM(SN);
- settext("Test Actuator In");
- Test_Actuator_in();
- settext("Test Actuator Out");
- Test_Actuator_out();
- Status=write_to_file(SN,Location,Stapele_Span_UNDER_TEST,"Stapele_Span");
-
- settext("End Test");
- }
- decimal result = 0;
-
- return result;
- });
- return task;
-}
-
-//-------------------------------------------------------------
- int Test_Actuator_in()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-IN is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("ACTUATOR-IN is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-IN Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[42,1]="Fail";
- stubManager.Write("LS_IN_UP Not calibrate\n");
- return 0;
- }
- Units_status[41,1]="Pass";
- Units_status[42,1]="Pass";
-//---------------------- move ACTUATOR-IN Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_ON); // act_in enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTIN_OFF); // act_in disable
- stubManager.Write("ACTUATOR-IN moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTIN_EN); // read ACTIN_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[41,1]="Fail";
- stubManager.Write("CTUATOR-IN is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[43,1]="Fail";
- stubManager.Write("LS_IN_Down Not calibrate\n");
- return 0;
- }
- Units_status[43,1]="Pass";
- return 0;
-
-}
-//-------------------------------------------------------------
- int Test_Actuator_out()
-{
- Int32 temp;
- int i=0;
-
- DialogResult result = MessageBox.Show("Make shure, ACTUATOR-OUT is down", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("ACTUATOR-OUT is Up\n");
- return 0;
- }
-//---------------------- move ACTUATOR-OUT Up ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_ON); // DIR=1
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_OUT enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_OUT disable
- stubManager.Write("ACTUATOR-OUT moving Up\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Up\n");
- return 0;
- }
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[45,1]="Fail";
- stubManager.Write("LS_OUT_UP Not calibrate\n");
- return 0;
- }
- Units_status[44,1]="Pass";
- Units_status[45,1]="Pass";
-//---------------------- move ACTUATOR-OUT Dn ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTDIR_OFF); // DIR=0
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_ON); // act_out enable
- delay(10);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,ACTOUT_OFF); // act_out disable
- stubManager.Write("ACTUATOR-OUT moving Dn\n");
-
- temp = 1;
- i=0;
- while ((temp != 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (ACTOUT_EN); // read ACTOUT_EN
- delay(50);
- i++;
- }
-
- if(i == 200)
- {
- Units_status[44,1]="Fail";
- stubManager.Write("CTUATOR-OUT is not moving Down\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[46,1]="Fail";
- stubManager.Write("LS_OUT_Down Not calibrate\n");
- return 0;
- }
- Units_status[46,1]="Pass";
- return 0;
-
-}
-
-
-
-//--------------------------------------------
- int Test_Magnet_Motor_LS_New_Stapele_Span()
-{
- Int32 temp;
- int i=0;
-//---------------------- open Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
- stubManager.Write("Magnet is Open\n");
- delay(1000);
-//---------------------- chekc Magnet is open ----------------------------
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp != 0)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
- DialogResult result = MessageBox.Show("Make shure, Magnet is open", "Warning",MessageBoxButtons.OKCancel);
- if(result == DialogResult.Cancel)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is close\n");
- return 0;
- }
-//---------------------- Move DyeingHead Lid Motor rear----------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
- stubManager.Write("*** Open Lid Head \n");
-
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_REAR); // read LS_REAR
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i == 200)
- {
- Units_status[37,1]="Fail";
- Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result2 == DialogResult.Cancel)
- {
- Units_status[37,1]="Fail";
- Units_status[39,1]="Fail";
- stubManager.Write("LS_REAR Not calibrate\n");
- return 0;
- }
- Units_status[37,1]="Pass";
-//---------------------- Move DyeingHead Lid Motor front----------------------------
- stubManager.Write("*** Close Lid Head \n");
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
- temp = 0;
- i=0;
- while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
- {
- temp=read_pio (LS_FRONT); // read LS_FRONT
- delay(50);
- i++;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
- if(i == 200)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 0;
- }
-
- DialogResult result3 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.OKCancel);
- if(result3 == DialogResult.Cancel)
- {
- Units_status[38,1]="Fail";
- stubManager.Write("LS_FRONT Not calibrate\n");
- return 0;
- }
- Units_status[37,1]="Pass";
- Units_status[38,1]="Pass";
-//---------------------- Close Magnet ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
- delay(2000);
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
-
- stubManager.Write("Magnet is Close\n");
- delay(1000);
-//---------------------- chekc Magnet is close ----------------------------
- temp=read_pio (LS_UPPER); // read LS_UPPER
- if (temp == 0)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- DialogResult result4 = MessageBox.Show("Make shure, Magnet is close", "Warning",MessageBoxButtons.OKCancel);
- if(result4 == DialogResult.Cancel)
- {
- Units_status[36,1]="Fail";
- stubManager.Write("Magnet is open\n");
- return 0;
- }
- Units_status[36,1]="Pass";
- stubManager.Write("Magnet is close\n");
- return 0;
-}
-
-
-//------------------------------------
-public int Test_blowers_pt100_fan()
-{
-
-// uint utemp=0;
- Int32 temp=0;
- float ftemp=0;
- float ftemp1=0;
- float current=0;
- Double current_sense;
-
- for (Int32 i = 0; i < 2; i++)
- {
- //---------------------- check fans----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0xff);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- delay(2000); //delay 2 second
-
- var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0xff);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- temp = (Int32) (response.Progress);
- temp =temp & (response.Progress & 0xffff); //
- if (temp>0xEC0)
- {
- Units_status[18+i,1]="Fail";
- return 0;
- }
- Units_status[18+i,1]="Pass";
-
- //---------------------- get tempurature of heaters----------------------------
- if (i==0)
- temp=18;
- else
- temp=16;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 0x8000 +temp); //get temperature from the buffer
- ftemp = (float)response.TemperatureCMultBy100;
- ftemp = ftemp / 100;
-
- if ((ftemp>50)|| (ftemp<15))
- {
- Units_status[i,1]="Fail";
- tdly=1000;
-
- }
- stubManager.Write("Hit-"+(i+1)+ "\t" + ftemp.ToString("F2")+"°C\n");
-
- for (Int32 j = 0; j < 4; j++)
- {
- Int32 tdly=10000;
- //---------------------- get current of heaters ----------------------------
- var response1 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 +12 + 4*i +j); // get current
- current_sense=2*response1.Pressure;
- if (current_sense>0.1)
- {
- Units_status[2+j+4*i,1]="Fail";
- }
- stubManager.Write("current is "+(j+1+4*i )+ "\t" + current_sense +"\n");
- //---------------------- get Break of heaters ----------------------------
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +0x20000*i +(1-i)*0x100); // read break
- temp = (Int32) (response2.Progress);
- if ((temp & (1<<((1-i)*4+j))) !=0) //if break ok
- {
- Units_status[10+j+4*i,1]="Fail";
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is On\n");
- }
- //---------------------- turn heater on ----------------------------
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400300 +0x1fff00*i +(1<<((1-i)*4+j))); // turn heater on
- stubManager.Write("Heater - "+(i*4+j+1)+ "\t is On\n");
- delay(2000); //delay 2 second
- //---------------------- get current of heaters ----------------------------
- var response3 = stubManager.Run<StubMidTankPressureSensorResponse>("StubMidTankPressureSensorRequest" ,0x8000 + +12 + 4*i +j); // get current
- current_sense=2*response3.Pressure;
- if ((current_sense<1.1) ||(current_sense>1.4) ) //if current not 2.5A
- {
- Units_status[2+j+4*i,1]="Fail";
- }
- stubManager.Write("current is "+(j+1+4*i )+"\t" + current_sense +"\n");
- //---------------------- get Break of heaters ----------------------------
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x440000 +0x20000*i +(1-i)*0x100); // read break
- temp = (Int32) (response4.Progress);
- if ((temp & (1<<((1-i)*4+j))) !=0) //if break ok
- {
- Units_status[10+j+4*i,1]="Fail";
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is Off\n");
- }
- else
- {
- stubManager.Write("Break Zone "+(i*4+j+1)+ "\t is On\n");
- }
-
- delay(tdly); //delay 20 second
- //---------------------- turn heater off ----------------------------
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x400300 +0x1fff00*i ); // turn heater on
- stubManager.Write("Heater - "+(i*4+j+1)+ "\t is Off\n");
- }
- //---------------------- get tempurature of heaters----------------------------
- if (i==0)
- temp=18;
- else
- temp=16;
- var response = stubManager.Run<StubTempSensorResponse>("StubTempSensorRequest" , 0x8000 +temp); //get temperature from the buffer
- ftemp1 = (float)response.TemperatureCMultBy100;
- ftemp1 = ftemp1 / 100;
-
- if (((ftemp1-ftemp)<5)|| ((ftemp1-ftemp)>35))
- {
- Units_status[i,1]="Fail";
- }
- stubManager.Write("Zone-"+(i+1)+ "after heating is \t" + ftemp1.ToString("F2")+"°C\n");
-
- //---------------------- check fan off----------------------------
-
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- delay(2000); //delay 2 second
- var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfac0+i, 0);//Fan Click Head Card , Fan 1 Setting - 0xFF Full PWM 0x80 = 50% FF = 100% 0 - STOP
- temp = (Int32) (response6.Progress);
- temp =temp & (response.Progress & 0xffff); //
- if (temp<0x0xFF00)
- {
- Units_status[18+i,1]="Fail";
- return 0;
- }
-
- }
- return 0;
-}
-
-Int32 read_pio(Int32 i2c_input)
-{
- Int32 temp=0;
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
- temp = (Int32) (response.Progress);
- temp =temp & (i2c_input& 0xff); //if break ok
- return temp;
-}
-//end mati
-
- //enable_all_channel();
-public int Test_Head_EEPROM(string s_n)
-{
-
- enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
-
- Write_EEPROM(0xA0,s_n);
- delay(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- adc_set_for_read_ch(0xA0);
- //Thread.Sleep(1); //Sleep for 10 milli.
- Read_EEPROM(0xA0);
-
- delay(20); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
- return 0;
-
-}
-
-
-
-int enable_channel(int Channel_ID)
-{
- uint Const_temp = 0x01;
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
-
- Const_temp = Const_temp << Channel_ID;
- stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
-
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Write_EEPROM (uint I2C_Slave_Add,string s_n )
-{
-
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID3;
- 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
- //--------------------------------------------------------------
- char[] characters = EEPROM_Header.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add header
- }
- characters = s_n.ToCharArray();
-
- for (int i=0;i<16;i++)
- {
- stubI2CWriteBytesRequest.BytesTWrite.Add(characters[i]); //add s/n
- }
- var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
-
- return 1;
-}
-
-int Read_EEPROM(uint I2C_Slave_Add)
-{
- StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
- stubI2CReadBytesRequest.I2CId = I2C_ID3;
- stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
- stubI2CReadBytesRequest.NumberOfBytesToRead = 16; // Number of header bytes to read
-
- var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
- uint temph=0;
- char[] characters = EEPROM_Header.ToCharArray();
-
- for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
- {
- if (characters[i]!=response1.ReadBytes[i]);
- Units_status[40,1]="Fail";
- }
- stubManager.Write("EEprom "+ Units_status[40,1]+"\n");
-
- return 1;
-}
diff --git a/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs b/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs
deleted file mode 100644
index 3db075678..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-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)
-{
-
-//"Set WFCF Value
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD9;
-progressRequest.Delay = 0;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj b/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj
deleted file mode 100644
index ce80c8a70..000000000
--- a/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"MidTank Calibration","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Windows.Forms;\r\nusing Tango.PMR.EmbeddedParameters;\r\n\r\npublic class Program\r\n{\r\nconst double\tMIN_SLOP=0.7;\r\nconst double\tMAX_SLOP=1.4;\r\nconst double\tERROR_SLOP=-1;\r\nconst double\tMIN_50cc_on_volt=2.3;\r\nconst double\tMAX_50cc_on_volt=3.2;\r\nconst double\tERROR_50cc_on_volt=-1;\r\n\r\nint [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};\r\nuint [,] ADC_Add_Chnl = new uint [8,2]\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x20},\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x08},\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x80},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x20},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x10},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x04},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x40},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x10},\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\r\n\r\nconst Int32\tF3_VALVE_OUT\t=\t0x600008E2\t;\r\nstring Machine_SN\t;\r\nprivate const string FILE_PATH = @\"C:\\MidTankLog\\\";\r\nstring File_name;\r\ndouble Full_Cartridge=1000;\t// on CC \r\ndouble \tSlop=0.92;\r\n//----------------------\r\nconst Int32 I2C_ID = 2;\r\n//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46\r\n//----------------------\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n\r\n\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\r\n\tInt32 Timout ;\r\n\tInt32 Interval;\r\n\tInt32 midtankno = 0;\r\n\tdouble Full_Point=0;\t\t\t//on Voltage\r\n\tdouble resualt;\r\n\tdouble Sum=0 ;\r\n\tdouble Old_Sum=0 ;\r\n\tdouble Start_Point=0;\r\n\t\r\n\r\n\tif (!Directory.Exists(FILE_PATH))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(FILE_PATH);\r\n\t\t}\t\t\t\r\n\r\n\r\n\r\n var response =context.RequestUserInputFor<String>(\"Enter Midtank S/N: \", \"\");\r\n\tcontext.Write(\"\\n\");\r\n\tMachine_SN = response;\r\n\tcontext.WriteLine(Machine_SN);\r\n\tFile_name= FILE_PATH +Machine_SN + DateTime.Now.ToString(\"MM_dd_yyyy_HH_mm_ss\")+\".csv\";\r\n\tcontext.Write(File_name);\r\n \tcontext.WriteToFile(File_name,\"MidTank S/N:,\" + Machine_SN);\r\n\t\r\n\r\n var response1 =context.RequestUserInputFor<String>(\"Enter Midtank number to calibrate (1-8):\", \"\");\r\n context.WriteLine(response1);\r\n\tmidtankno = Int32.Parse(response1);\r\n \tcontext.AppendToFile(File_name,\"MidTank Number:\\t\" + response1);\r\n\tif (midtankno==8)\r\n\t{\r\n\t\tSlop=1;\r\n\t\tTimout=60;\t\t//60 minutes\r\n\t\tInterval=60;\t//60 second\r\n\t}\r\n\telse\r\n\t{\r\n\t\tSlop=0.92;\r\n\t\tTimout=10*2;\t\t//10 minutes\r\n\t\tInterval=30;\t//30 second\r\n\r\n\t}\r\n var response10 =context.RequestUserInputFor<String>(\"Enter Cartridge Valume on CC (500-1500):\", \"\");\r\n context.WriteLine(response10);\r\n\tFull_Cartridge = double.Parse(response10);\r\n \tcontext.AppendToFile(File_name,\"Cartridge Valume:\\t\" + response10);\r\n \tcontext.AppendToFile(File_name,\"Slop value:\\t\" + Slop);\r\n\r\n\r\n\tDialogResult result = MessageBox.Show(\"Are you sure to calibrate Midtank No: \"+ midtankno + \" with \"+ Full_Cartridge +\" CC\" , \"Warning\",MessageBoxButtons.YesNo);\r\n\tif(result == DialogResult.Yes)\r\n\t{\r\n\r\n\r\n\r\n\t\tstring box_msg = \"Please Insert cartridge \";\r\n\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\topen_valve(midtankno,1,1)\t\t;\t//open Air valve\r\n\t\topen_valve(midtankno,0,1)\t\t;\t//open Ink valve\r\n\t\tInt32 i=0; \r\n\t\twhile (i<Timout)\t\t\t\t\t//check for 15 minitus \r\n\t\t{\r\n\t\t\tSum=0;\r\n\t\t\tfor (Int32 j=0;j<Interval;j++)\r\n\t\t\t{\r\n\t\t\t\tresualt=read_pressure_sensor(midtankno);\r\n\t\t\t\tcontext.AppendToFile(File_name,resualt+\",V\");\r\n\t\t\t\tSum=Sum+resualt;\r\n\t\t\t\tThread.Sleep(1000);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\tif (i==0) \r\n\t\t\t\tStart_Point=Sum/Interval;\r\n\t\t\t\r\n\t\t\tif (Sum>Old_Sum)\r\n\t\t\t\tOld_Sum=Sum-Old_Sum;\r\n\t\t\telse\r\n\t\t\t\tOld_Sum=Old_Sum-Sum;\r\n\t\t\r\n \r\n\t\t\tif ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))\r\n\t\t\t{\r\n\t\t\t\ti++;\r\n\t\t\t\tif ( Old_Sum <0.02)\t\r\n\t\t\t\t\ti=Timout+1;\t\t//end \r\n\t\t\t\tOld_Sum=Sum;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\topen_valve(midtankno,1,0)\t\t;\t//open Air valve\r\n\t\t\topen_valve(midtankno,0,0)\t\t;\t//open Ink valve\r\n\t\t\tOld_Sum=0;\r\n\t\t\t\r\n\t\t\t}\t\r\n\t\t}\r\n\t\tFull_Point=Sum/Interval;\r\n\t\t\r\n\r\n\t\tclose_valve(midtankno,1,1)\t\t;\t//close Air valve\r\n\t\tclose_valve(midtankno,0,1)\t\t;\t//close Ink valve\r\n\r\n\t\t\t\r\n\t\tif (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)\r\n\t\t{\r\n\t\t\t\tbox_msg =\"Turn Power Off and On to finish the calibration.\";\r\n\t\t\t\tMessageBox.Show(box_msg);\r\n\r\n\r\n \tcontext.AddResult(ResultType.Passed, \"Test passed\", \"Test passed.\");\r\n\t\t\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t\tbox_msg =\"Calibration error\";\r\n\t\t\t\tMessageBox.Show(box_msg);\r\n\r\n\r\n \tcontext.AddResult(ResultType.Failed, \"Test Fail\", \"Test Fail.\");\r\n\t\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n\r\n\tint\tinsert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)\r\n{\r\n//\tcontext.Write(\"\\n \");\r\n\r\n\t\tStartPoint=FullPoint-StartPoint;\r\n\t\tStartPoint=StartPoint/Full_Cartridge;\r\n\t\tif ((StartPoint>0.7 ) && (StartPoint>1.3 ))\r\n\t\t{\r\n\t\t\tMidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();\r\n\r\n\t\t\tMidTankData midTankData = new MidTankData();\r\n\t\t\tmidTankData.MidTankId = Convert.ToUInt32 (midtankno-1);\r\n\t\t\tmidTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;\r\n\t\t\tmidTankData.SlopeB = Slop;\r\n\t\t\t\r\n\t\t\tcontext.Write(\"\\nMidtank No:\" + midtankno + \"=\\tVoltage Zero is =\"+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+\"\\tSlop=\"+ Slop);\r\n\t\t\tcontext.AppendToFile(File_name,\"\\nMidtank No:\" + midtankno + \"=\\tVoltage Zero is =\"+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+\"\\tSlop=\"+ Slop);\r\n\r\n\t\t\t\r\n\t\t\tmidTankDataSetupRequest.MidTankInfo.Add(midTankData);\r\n\t\t\r\n\r\n\t\t\tvar response =context.Send<MidTankDataSetupResponse>(midTankDataSetupRequest);\r\n\r\n\t\t\treturn\t0;\r\n\t\t}\r\n\t\telse\r\n\t\t\tcontext.Write(\"\\nError\");\r\n\t\t\tcontext.AppendToFile(File_name,\"\\n Slop Error\");\r\n\t\t\treturn\t1;\r\n\t\r\n\r\n }\r\n\r\n\r\n\r\nint adc_configuration(uint I2C_Slave_Add,uint channel ) \r\n\t{\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write\r\n\t\r\n\tvar response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n\t}\r\n\r\n\r\nint adc_set_for_read_ch(uint I2C_Slave_Add) \r\n\t{\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write\r\n\r\n\tvar response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n\t}\r\n\r\n\r\n\r\n\r\ndouble adc_read_ch(uint I2C_Slave_Add) \r\n\t{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read\r\n\r\n\tvar response1 =context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\tuint temph=0;\r\n\tuint templ=0;\r\n\tuint temp;\r\n\tdouble calc;\r\n\tdouble calc1;\r\n\tdouble calc2;\r\n\t\t\ttemph=response1.ReadBytes[0];\r\n\t\t\ttempl=response1.ReadBytes[1];\r\n\t\t\ttemp = (temph << 8) | templ;\r\n\t\t\ttemp=temp & 0x0fff;\r\n\t\t\t\t\r\n\t\t\tcalc = (double)temp *2.5 / 4096.0;\r\n\t\t\r\n\t\t\tcalc1 = (1.96- calc) * 4.64 + 1.96;\r\n\t\t\tcontext.Write(\"Vsensor [volts]:\\t\");\r\n\t\t\tcontext.Write(calc1 + \"\\n\");\r\n\r\n\t\r\n\treturn calc1;\r\n\t}\r\n\r\ndouble\t\tread_pressure_sensor(Int32 i )\r\n\t{\r\ndouble resualt =0 ;\r\n\t\t switch (i)\r\n {\r\n case 1:\r\n\t\t\tadc_configuration(0x44,0x20);\t\t//a2d_address 0x44 channel channel 2\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 2:\r\n\t\t\tadc_configuration(0x44,0x08);\t\t//a2d_address 0x44 channel channel 4\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 3:\r\n\t\t\tadc_configuration(0x46,0x80);\t\t//a2d_address 0x46 channel channel 0\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\tadc_configuration(0x46,0x20);\t\t//a2d_address 0x46 channel channel 2\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 5:\r\n\t\t\tadc_configuration(0x44,0x10);\t\t//a2d_address 0x44 channel channel 3\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 6:\r\n\t\t\tadc_configuration(0x44,0x04);\t\t//a2d_address 0x44 channel channel 5\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 7:\r\n\t\t\tadc_configuration(0x46,0x40);\t\t//a2d_address 0x46 channel channel 1\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 8:\r\n\t\t\tadc_configuration(0x46,0x10);\t\t//a2d_address 0x46 channel channel 3\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n default:\r\n context.Write(\"Error\");\r\n\r\n break;\r\n\t }\t\r\n\t\t\r\n\t\treturn resualt;\r\n\t}\t\r\n\r\n\r\n//--------------------------------\r\nint open_valve (int valve_nm,int valve_type,int check_valve)\t\t//valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak\r\n{\r\n\tint temp1=Convert_Midtank_No[valve_nm-1]\t;\r\n\r\n\tstring temp;\r\n\tSetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);\t\r\n\t\r\n\t\tif (check_valve!=0)\r\n\t\t{\r\n\t\t\ttemp=\"Air\";\r\n\t\t\tif (valve_type==1)\r\n\t\t\ttemp=\"Ink\";\r\n\t\t\t\t\r\n\t\t\tDialogResult result = MessageBox.Show(\"Did \" + temp + \"Valve of Midtank \" + valve_nm +\" open?\", \"Warning\",MessageBoxButtons.YesNo);\r\n\t\t\tif(result == DialogResult.No)\r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Fail\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tFail\\n\");\t\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\telse \r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Pass\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tOpen\\n\");\t\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_valve (int valve_nm,int valve_type,int check_valve)\r\n{\r\n\tint temp1=Convert_Midtank_No[valve_nm-1];\t\r\n\r\n\tstring temp;\r\n\tSetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);\r\n\tif (check_valve!=0)\r\n\t\t{\r\n\t\t\ttemp=\"Air\";\r\n\t\t\tif (valve_type==1)\r\n\t\t\ttemp=\"Ink\";\r\n\t\t\t\t\r\n\t\t\tDialogResult result = MessageBox.Show(\"Did \" + temp +\" Valve of Midtank \" + valve_nm +\" close?\", \"Warning\",MessageBoxButtons.YesNo);\r\n\t\t\tif(result == DialogResult.No)\r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Fail\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tFail\\n\");\t\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\telse \r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Pass\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tclose\\n\");\t\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\t\t\t\r\n\t\t}\r\n\treturn 1;\r\n\r\n}\r\n\r\npublic Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\tInt32 RetVal;\r\n\tRetVal = Fpga_Read_Reg(Adr);\r\n\tInt32 RV = RetVal ;\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tFpga_Write_Reg( Adr, RV );\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tFpga_Write_Reg(Adr, RV );\t\r\n\t}\r\n\treturn 1;\r\n}\r\n\r\nint Fpga_Write_Reg(Int32 Addr, Int32 Data)\r\n{\r\n\tvar response =context.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,Addr, Data);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\nInt32 check_valve (Int32 valve_nm,int valve_type)\r\n{\r\n\tInt32 temp1=Convert_Midtank_No[valve_nm-1];\t\r\n\t\r\n var response =context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F3_VALVE_OUT);\r\n\tInt32 RV =(Int32) response.Value & 0xffff ;\r\n\tRV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));\r\n\treturn RV;\r\n\r\n}\r\n\r\n\r\nInt32 Fpga_Read_Reg(Int32 Addr)\r\n{\r\n \r\ncontext.Write(\"123\");\r\n\r\n\tvar response =context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,Addr);\r\n\tcontext.Write(\"456\");\r\n\r\n\tInt32 RV= (Int32) response.Value & 0xffff;\r\n\tcontext.Write(\"789\");\r\n\r\n\treturn RV;\r\n} \r\n \r\n \r\n \r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"e2c3c81d-1914-4d45-b031-d054af33a18e","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exe b/Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exe
deleted file mode 100644
index 428ce300b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Moshe Copy Files.exe
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 6221ff388..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing.cs
+++ /dev/null
@@ -1,118 +0,0 @@
-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;
-
-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("MoTor\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\n");
- stubManager.Write("------\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("\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);
- stubManager.Write("\n\n");
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs
deleted file mode 100644
index 6221ff388..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing1.cs
+++ /dev/null
@@ -1,118 +0,0 @@
-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;
-
-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("MoTor\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\n");
- stubManager.Write("------\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("\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);
- stubManager.Write("\n\n");
-
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs
deleted file mode 100644
index 09d22dea9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing2.cs
+++ /dev/null
@@ -1,233 +0,0 @@
-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)
-{
-
-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++)
- {
-
- 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 > 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");
- 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/Motor_Get_Param_Horizontal_Printing3.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs
deleted file mode 100644
index 73042af54..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing3.cs
+++ /dev/null
@@ -1,261 +0,0 @@
-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)
-{
-
-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++)
- {
-
- 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 > 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");
- 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");
-
-
-
- }
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 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/Motor_Get_Param_Horizontal_Printing4.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs
deleted file mode 100644
index 5d6259cb4..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing4.cs
+++ /dev/null
@@ -1,265 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-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)
-{
-
-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++)
- {
-
- 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 > 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");
- 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");
-
-
-
- }
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 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/Motor_Get_Param_Horizontal_Printing_powerstep01.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs
deleted file mode 100644
index b02a6072c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01.cs
+++ /dev/null
@@ -1,266 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-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)
-{
-
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- 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 > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- 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");
-
-
-
- }
-
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 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/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs b/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs
deleted file mode 100644
index b02a6072c..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Motor_Get_Param_Horizontal_Printing_powerstep01_rev10.cs
+++ /dev/null
@@ -1,266 +0,0 @@
-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_POWERSTEP01_CONFIG = 0x1A;
-const Int32 x_POWERSTEP01_STATUS = 0x1B;
-const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
-const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
-
-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)
-{
-
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
-//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
-
-
-
-
-
-
-
-
-
-
-
- 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 > 0x15 && response.RecivedData < 0x1c )
- stubManager.Write("\t\tDual_Driver");
- else if ( response.RecivedData > 0x0b && response.RecivedData < 0x12 )
- stubManager.Write("\t\tVolage_Driver");
- else if ( response.RecivedData > 8 && response.RecivedData < 0x0a)
- 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");
-
-
-
- }
-
-
- stubManager.Write("--------------- New Driver POWERSTEP01 ---------------\n\n");
- stubManager.Write("MoTor\tPS01_CONFIG\t\tPS01_STATUS\t\tPS01_GATECFG1\t\tPS01_GATECFG2\n");
- stubManager.Write("-----\t------------\t\t-----------\t\t-------------\t\t------------\n");
-
- for (i = 6; i < 14; i++)//Dispensers only
- //for (i = 25; i < 29; i++)//Dispensers only
- {
- stubManager.Write(i);
- stubManager.Write("\t");
-
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
- stubManager.WriteHex(response.RecivedData,4);
- stubManager.Write("\t\t\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 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
deleted file mode 100644
index 02f8384bc..000000000
--- a/Software/Stubs Collection/stubs/Scripts/NewSpeedSensor.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-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/POPUP example for mati.cs b/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs
deleted file mode 100644
index f0c8cb1af..000000000
--- a/Software/Stubs Collection/stubs/Scripts/POPUP example for mati.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-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)
-{
- DialogResult d;
- d=MessageBox.Show("Is it what you need?","Example for Mati", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
- if(d==DialogResult.Yes)
- {
- stubManager.WriteLine("Yes");
- }
- else
- {
- stubManager.WriteLine("No");
- }
-/*
-see https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.messagebox.show?view=netcore-3.1
-*/
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Priming.pproj b/Software/Stubs Collection/stubs/Scripts/Priming.pproj
deleted file mode 100644
index 309dae73e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Priming.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"Priming","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Diagnostics;\r\nusing System.Windows.Forms;\r\n\r\n\r\npublic class Program\r\n{\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n//---------------------Start Command ----------------\r\nconst Int32\tCMD_RUN\t=\t0;\t\t//Run on Pulse Per Secound .positive run Up and negative run Down b\r\nconst Int32\tCMD_STOP=\t1;\t\t//0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz\r\nconst Int32\tCMD_VALVE=\t2;\t\t//0-to Midtank ,1-to head \r\nconst Int32\tCMD_DLY\t=\t3;\t\t//delay in Seconds .\r\nconst Int32\tCMD_TIME=\t4;\t\t//Print Time .\r\nconst Int32\tCMD_PRESS=\t5;\t\t//return from Delay loop when pressure is high (on mBAR) .\r\nconst Int32 CMD_LOOP_NM=6;\t\t//NUMBER OF counter\r\nconst Int32 CMD_LOOP=\t7;\t\t//jump up(+) or down(-) command u\r\nconst Int32 CMD_MTV_OPEN =\t8;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_MTV_CLOSE=\t9;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_LBL=\t10;\t//label for user \r\nconst Int32 CMD_SMP=\t11; //sample rate ,defualt 100msec (1); for 1 second is 10.\r\nconst Int32 CMD_PRESL=\t12; //return from Delay loop when pressure is low (on mBAR) .\r\n\r\nconst Int32\tCMD_END\t=\t13;\t//end loop .\r\n \r\n\r\nInt32[] BuildUp_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\r\n\tCMD_LOOP_NM,3,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_RUN,1068,\r\n\tCMD_PRESS,1000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,150, \t\t\r\n\tCMD_LBL,1,\r\n\tCMD_PRESS,2000,\t//mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,60, \t\t\r\n\tCMD_LBL,2,\r\n\tCMD_PRESS,3000,\r\n\tCMD_DLY,60, // to limit\r\n\tCMD_STOP,0,\r\n\tCMD_VALVE,1,\r\n\tCMD_END,3,\r\n};\r\n\t\r\n\r\nInt32[] Up_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\t\r\n\tCMD_PRESS,3000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,534, // 100%\r\n\tCMD_DLY,120,\r\n\tCMD_STOP,0,\r\n\tCMD_END,3,\r\n};\r\nInt32 Dispenser_sample_rate= 1; \r\n\r\n\tstring path = @\"C:\\Dispenser_setup\\Log\\\"; \t\r\n//----------------------\r\nconst UInt32 I2C_ID \t\t\t= \t4;\t\t\t\t\t//MCU_I2C4 \r\nconst UInt32 TCA9548A_address \t=\t0xE2;\t \t\r\nconst UInt32 I2C_Slave_Low_Add \t= \t0xA0;\t\t\t\t//eeprom address - 64k low \r\nconst UInt32 I2C_Slave_High_Add = \t0xA2;\t\t\t\t//eeprom address - 64k High\r\n//----------------------\r\nbyte [] EEPROM_Data = new byte [128];\r\n\r\n\r\n//---------------------End Command ----------------\r\n\r\nconst Int32\tDispenser_Motor1\t=\t6;\t\t \r\nconst Int32\tDispenser_Motor2\t=\t7;\t\t \r\nconst Int32\tDispenser_Motor3\t=\t8;\t\t \r\nconst Int32\tDispenser_Motor4\t=\t9;\t\t \r\nconst Int32\tDispenser_Motor5\t=\t10;\t\t \r\nconst Int32\tDispenser_Motor6\t=\t11;\t\t \r\nconst Int32\tDispenser_Motor7\t=\t12;\t\t \r\nconst Int32\tDispenser_Motor8\t=\t13;\t\t \r\n\r\nconst Int32 AN_IDS_PRESSENS_1\t=\t2;\r\nconst Int32 AN_IDS_PRESSENS_2\t=\t3;\r\nconst Int32 AN_IDS_PRESSENS_3\t=\t4;\r\nconst Int32 AN_IDS_PRESSENS_4\t=\t5;\r\nconst Int32 AN_IDS_PRESSENS_5\t=\t6;\r\nconst Int32 AN_IDS_PRESSENS_6\t=\t7;\r\nconst Int32 AN_IDS_PRESSENS_7\t=\t8;\r\nconst Int32 AN_IDS_PRESSENS_8\t=\t9;\r\n\r\nconst Int32\tF2_LS_01_Direct\t=\t0x60000420\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_2\tF2_LS_DISPENSER_25_2\tF2_LS_DISPENSER_75_2\tF2_LS_DISPENSER_DOWN_2 \tF2_LS_DISPENSER_50_2\tF2_LS_DISPENSER_SPARE_2\tF2_LS_DISPENSER_UP_1\tF2_LS_DISPENSER_25_1 \tF2_LS_DISPENSER_75_1\tF2_LS_DISPENSER_DOWN_1\tF2_LS_DISPENSER_50_1\tF2_LS_DISPENSER_SPARE_1\t\t\t\r\nconst Int32\tF2_LS_02_Direct\t=\t0x60000430\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_4\tF2_LS_DISPENSER_25_4\tF2_LS_DISPENSER_75_4\tF2_LS_DISPENSER_DOWN_4\tF2_LS_DISPENSER_50_4\tF2_LS_DISPENSER_SPARE_4\tF2_LS_DISPENSER_UP_3\tF2_LS_DISPENSER_25_3 \tF2_LS_DISPENSER_75_3\tF2_LS_DISPENSER_DOWN_3\tF2_LS_DISPENSER_50_3\tF2_LS_DISPENSER_SPARE_3\t\t\t\r\nconst Int32\tF2_LS_03_Direct\t=\t0x60000440\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_6 \tF2_LS_DISPENSER_25_6 \tF2_LS_DISPENSER_75_6 \tF2_LS_DISPENSER_DOWN_6\tF2_LS_DISPENSER_50_6\tF2_LS_DISPENSER_SPARE_6\tF2_LS_DISPENSER_UP_5\tF2_LS_DISPENSER_25_5 \tF2_LS_DISPENSER_75_5\tF2_LS_DISPENSER_DOWN_5\tF2_LS_DISPENSER_50_5\tF2_LS_DISPENSER_SPARE_5\t\t\t\r\nconst Int32\tF2_LS_04_Direct =\t0x60000480\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_8\tF2_LS_DISPENSER_25_8\tF2_LS_DISPENSER_75_8\tF2_LS_DISPENSER_DOWN_8\tF2_LS_DISPENSER_50_8\tF2_LS_DISPENSER_SPARE_8\tF2_LS_DISPENSER_UP_7\tF2_LS_DISPENSER_25_7 \tF2_LS_DISPENSER_75_7\tF2_LS_DISPENSER_DOWN_7\tF2_LS_DISPENSER_50_7\tF2_LS_DISPENSER_SPARE_7\t\t\t\r\n\r\nconst Int32 Dispenser_Valve1\t=\t0;\r\nconst Int32 Dispenser_Valve2\t=\t1;\r\nconst Int32 Dispenser_Valve3\t=\t2;\r\nconst Int32 Dispenser_Valve4\t=\t3;\r\nconst Int32 Dispenser_Valve5\t=\t4;\r\nconst Int32 Dispenser_Valve6\t=\t5;\r\nconst Int32 Dispenser_Valve7\t=\t6;\r\nconst Int32 Dispenser_Valve8\t=\t7;\r\n\r\nconst ushort MinPress_Mbar_Add =0x5c ;\r\nconst ushort MaxPress_Mbar_Add =0x60 ;\r\n\r\nconst Int32 F3_VALVE_OUT\t= 0x600000e2;\t\t\r\n\r\n//string path = \"C:\\\\Dispenser_setup\\\\Log\\\\\"; \r\n\r\n\r\n//Int32[] Start_Table;\r\n\r\nInt32[] Start_Table = new Int32 [10000];\r\n\r\nUInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};\r\n\r\nstring Dispenser_Fname ;\r\n\r\nInt32 Dispenser_ptr =-1;\r\n\r\nInt32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 max_pressure_level = 20000;\r\nInt32 min_pressure_level = -20000;\r\n\t\r\nInt32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 Loop_cnt= 1;\r\nInt32 Loop_length=1;\r\n\r\nInt32 PressureSensorType= 1;\t\t//1- new -1up +10 . 0-old 0 to +10\r\nInt32\tTemp_Delay=0;\r\n\r\n\r\nUInt32 RD_LS_01_Direct;\r\nUInt32 RD_LS_02_Direct;\r\nUInt32 RD_LS_03_Direct;\r\nUInt32 RD_LS_04_Direct;\r\n\r\nlong Lebel1_time;\r\nlong Lebel2_time;\r\n\r\nlong time_Table;\r\n\r\nInt32 msec_index=0;\r\n\r\nInt32 MaxPress_Mbar;\r\nInt32 MinPress_Mbar;\r\nstring state;\r\n\r\n\tpublic Int32 OnExecute(IProcedureContext context)\r\n {\r\n\t\tlong Max_PBU;\r\n\t\tInt32 Index=0;\r\n\t\tInt32 speed=0;\r\n\t\tInt32 Dispenser_Nm;\r\n\t\tthis.context = context;\r\n\t\r\n\t\tstring box_msg = \"Make sure Mixer Hot \";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tvar response1 = context.RequestUserInputFor<String>(\"Dispenser Number\", \"Enter Dispenser number to make priming (1-8):\");\r\n\t\tcontext.WriteLine(response1);\r\n\t\tDispenser_Nm = Int32.Parse(response1);\r\n\t\t\r\n\t\tcheck_Min_Max_Mbar(Dispenser_Nm);\r\n\t\r\n\t\tif (Dispenser_Nm==8)\r\n\t\t\tMax_PBU=6000;\r\n\t\telse\r\n\t\t\tMax_PBU=4000;\r\n\t\t\t\r\n\t\r\n\tif (!Directory.Exists(path))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(path);\r\n\t\t}\t\r\n\t\t\tcontext.WriteLine(path);\r\n\t\t\t\r\n\tcontext.Send<ProgressResponse>(\"ProgressRequest\" ,0xe0, 1);\r\n\r\n\tDispenser_Fname=path + \"Dispenser_Nm_\" + Dispenser_Nm+\"_\" + DateTime.Now.ToString(\"MM-dd-yy hh-mm\")+ \".csv\" ;\r\n\r\n\tcontext.WriteLine(Dispenser_Fname);\r\n\r\n\tcontext.WriteToFile(Dispenser_Fname,\"Dispenser Nm,\" + Dispenser_Nm + \"\\n\" );\r\n\tcontext.AppendToFile(Dispenser_Fname,\"Pressure,Command,Value,DateTime,Remark\\n\" ); \r\n\t\tfor(int j=0; j<2;j++)\r\n\t\t{\r\n\t\t\tfor(int i=0; i<4;i++)\r\n\t\t\t{\r\n\t\t\t\tstate=\"PBU No. \"+ (4*j+i+1 );\r\n\t\t\t\tStart_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tif (time_Table>300000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"PBU\", \"PBU No.\"+ (4*j+i+1 ) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\",\"PBU No.\"+ (4*j+i+1 ) + \" Pass\");\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\t\t\tstate=\"Flow No.\"+ (j+1 ) ;\r\n\t\t\tStart_Table=Up_Table;\r\n\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\tif (time_Table<115000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.WriteLine(\"time_Table= \" +time_Table);\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"Flow\", \"Flow No.\"+ (j+1) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"Flow\",\"Flow No.\"+ (j+1 ) + \" Pass\");\r\n\t\t\t\t\t\t\r\n\t\t}\r\n\t\t\t\t state=\"Last PBU \" ;\r\n\t\t\t\tStart_Table=BuildUp_Table; \r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tlong Time=Lebel2_time-Lebel1_time;\r\n\t\t\t\tif (Time>Max_PBU)\r\n\t\t\t\t { \r\n\t\t\t\t context.AddResult(ResultType.Failed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tFail\";\r\n\t\t\t\t }\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tPass\";\r\n\t\t\t\t}\t\r\n\t\treturn 0;\r\n\t\t\r\n }\r\n\r\n/////////////////////////////////////////////\r\nvoid \t\tcheck_Min_Max_Mbar(Int32 i )\r\n{\r\n\tint k;\r\n\tstring s ;\r\n\ti--;\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write Enable Channel ------------\");\t//debug\r\n\t\tenable_channel(i); // Chanel 0-7 => Disp0enser 0-7 \r\n\t\t\t\t\tcontext.WriteLine(\"-------------- Read_header ------------\");\t//debug\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write_address_eeprom ------------\");\t//debug\r\n\t\twrite_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add);\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- read_data_from_eeprom ------------\");\t//debug\r\n\t\tread_data_from_eeprom (I2C_Slave_Low_Add,1);\r\n\t\tif \t(EEPROM_Data[0]==0\t)\r\n\t\t{\tPressureSensorType=0;\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=0\" );\t//debug\r\n\t\t}\r\n\t\telse\t\r\n\t\t{\t\r\n\t\t\tPressureSensorType=1;\t\t\t\t\t\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=1\" );\t//debug\r\n\t\t}\r\n\t\r\n}\t\r\n//----------------write address eeprom -------------------------\r\npublic void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add)\r\n{\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8));\t//Byte High add to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff));\t\t\t//Byte Low add to write\r\n\t\t\t\t\tcontext.WriteLine( (Eeprom_Add & 0xff00) >>8) ;\t//debug\r\n\t\t\t\t\tcontext.WriteLine( Eeprom_Add & 0xff);\t//debug\r\n\r\n\tcontext.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\t\r\n}\r\n//------------------- read Data from EEprom--------------------------\r\n\r\npublic void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt )\r\n{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1);\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read\r\n\r\n\tvar response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\r\n\tfor(int i=0; i<cnt;i++)\r\n\t\t{\r\n\t\t\tEEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]);\r\n\t\t\tcontext.WriteLine(EEPROM_Data[i] );\t//debug\r\n\r\n\t\t}\t\t\r\n}\t\r\n\r\n\r\n///////////////////////////////////////////////\r\n//----------- enable I2c channel --------------\r\npublic int enable_channel(Int32 Channel_ID) \r\n{\r\n\tuint Const_temp = 0x01;\t\r\n\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\t\r\n\tConst_temp = Const_temp << Channel_ID;\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1\r\n\r\n\tvar response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\n////////////////////////////////////////////////////////////// \r\nInt32 Table_Run(Int32 Dispenser )\r\n\r\n{\r\n\tInt32 COMMAND=0;\r\n\tInt32 Data=0;\r\n\tInt32 count=0;\r\n\t\r\n\tDispenser--;\t\t//check from 0-7\r\n\t\r\n\tint j=0;\r\n\tvar stopwatch = new Stopwatch();\r\n\t\tstopwatch.Start();\r\n\t\r\n\t\tlong elapsed_time = stopwatch.ElapsedMilliseconds;\r\n\t\tcontext.WriteLine(elapsed_time);\r\n\t\t\r\n\twhile (count!=-1) \r\n\t{\r\n\tmsec_index=msec_index+1;\r\n\t\t\r\n\t\tif (Dispenser<2) \r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tRD_LS_01_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<4) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tRD_LS_02_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<6) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_03_Direct);\r\n\t\t\t\tRD_LS_03_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_04_Direct);\r\n\t\t\t\tRD_LS_04_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\tif (Dispenser<4) \r\n\t\t\t{\r\n\t\t\tvar response2 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_1);\r\n\t\t\t\tA2D_Dispenser[0]=(response2.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\tvar\tresponse3 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_5);\r\n\t\t\t\tA2D_Dispenser[4] =(response3.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tCOMMAND=Start_Table[count];\r\n\t\t\tData=Start_Table[(count+1)];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Index=Index+2;\r\n\t\t\tswitch (COMMAND)\r\n\t\t\t\t{\r\n\t\t\t\tcase CMD_RUN:\r\n\t\t\t\t\tMotor_Run(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_VALVE:\r\n\t\t\t\t\tValve_3W(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_STOP:\r\n\t\t\t\t\tMotor_Stop(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_DLY:\r\n\t\t\t\t\tDelay_on_second(Data,Dispenser);\r\n\t\t\t\t\tif (Temp_Delay ==0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmax_pressure_level=20000;\t\r\n\t\t\t\t\t\tmin_pressure_level=-20000;\t\r\n\t\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_TIME:\r\n\t\t\t\t\tPrint_Time();\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESS:\r\n\t\t\t\t\tmax_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Max_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESL:\r\n\t\t\t\t\tmin_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Min_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_LBL:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Label,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tif(Data==1)\r\n\t\t\t\t\t\tLebel1_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tif(Data==2)\r\n\t\t\t\t\t\tLebel2_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_SMP:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",SampleRate,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tDispenser_sample_rate =Data;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_END:\r\n\t\t\t\t\tcount=-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End testing,,\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_MTV_OPEN:\r\n\t\t\t\t\topen_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",OPEN MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_MTV_CLOSE:\r\n\t\t\t\t\tclose_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",CLOSE MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_LOOP_NM:\r\n\t\t\t\t\r\n\t\t\t\t\tLoop_cnt=Data-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Counter Loop,\"+ Data+\",\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\tcount = count+2;\t\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_LOOP:\r\n\t\t\t\t\r\n\t\t\t\t\tif (Loop_cnt!=0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\"Counter Loop,\"+ Loop_cnt+\",\"+DateTime.Now+\"\\n\" );\r\n\t\t\t\t\t\tcount = count+2*Data;\r\n\t\t\t\t\t\tLoop_cnt--;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End loop,,\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\t\tcount = count+2;\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t\tlong elapsed_time1 = stopwatch.ElapsedMilliseconds;\r\n\t\t\tlong elapsed_time2= elapsed_time1-elapsed_time;\r\n\t\t\tif (elapsed_time2>95)\r\n\t\t\telapsed_time2=95;\t\t//minimum time\r\n\t\t\t\tThread.Sleep(100-(int )(elapsed_time2));\r\n\r\n\t\t\telapsed_time = stopwatch.ElapsedMilliseconds;\t\t\r\n\r\n\r\n\t\t\tj++;\r\n\t\t\t\tif (j==10)\r\n\t\t\t\t{\r\n\t\t\t\t\tj=0;\r\n\t\t\t\t\tcontext.WriteLine(Dispenser_press[Dispenser]+ \" mBar\\t\"+state + \"\\tTime-\" + (elapsed_time/1000));\r\n\t\t\t\t}\r\n\t}\r\n\ttime_Table=elapsed_time;\r\n\treturn 0;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////\t\r\nInt32 Motor_Run(Int32 speed,Int32 Dispenser)\r\n\r\n{\r\n\r\n\tswitch (Dispenser)\r\n\t\t{\r\n\t\tcase 0:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[0]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[0]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 1:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[1]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[1]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 2:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[2]=2;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[2]=1;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 3:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[3]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[3]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[4]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[4]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 5:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[5]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[5]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 6:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[6]=2;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[6]=1;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 7:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[7]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[7]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n \tcontext.AppendToFile(Dispenser_Fname,\",Run,\" +speed+\",\"+DateTime.Now +\"\\n\" ); \r\n\r\n\treturn 1;\r\n} \r\n \r\n \t\r\n Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser)\r\n{\r\n\tif ( Valve_Value==1)\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, true);\t//3 3Way\r\n\telse\t\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way\r\n \r\n\tcontext.AppendToFile(Dispenser_Fname,\",Dispenser Valve position is, \" + Valve_Value+\",\"+DateTime.Now +\"\\n\" );\r\n\r\n\treturn 1;\t\r\n}\t\r\n//--------------------------------------- \r\n\r\n Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser )\r\n{\r\n\tcontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+Dispenser, Stop_Value);\r\n\t\r\n\tcontext.AppendToFile(Dispenser_Fname,\",Motor Stop,\" + Stop_Value+\",\"+DateTime.Now +\"\\n\");\r\n\tMotor_Dir[Dispenser]=0;\r\n\treturn 1;\t\r\n}\r\n\r\n//--------------------------------------- \r\n\r\n Int32 Delay_on_second(Int32 Delay,Int32 Dispenser )\r\n{\r\n//Int32 temp1;\r\nInt32 pressure_om_mBAR=0;\r\n\tif \t(Temp_Delay ==0)\r\n\t{\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",DLY, \" + Delay +\",\"+DateTime.Now+\"\\n\");\r\n\t\tTemp_Delay = Delay *10 -1;\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"A\");\t\t//debug\r\n\t}\r\n\telse\t\r\n\t\t\tTemp_Delay--;\r\n\t\t\t\r\n\tif ( LimitSW_Dispenser(Dispenser)==0)\r\n \t {\t\r\n \t \tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+\",Warning Motor on Limit\\n\");\r\n\t\t\tMotorStop(Dispenser);\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"C\");\t\t//debug\r\n\r\n\t\t\treturn 0 ;\r\n \t }\r\n\t\t\t\t\t\r\n\tpressure_om_mBAR=Calc_mBAR(Dispenser,true);\r\n \tif (pressure_om_mBAR > max_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too high\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n \tif (pressure_om_mBAR < min_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too low\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n \treturn 1;\r\n}\t\r\n \t \t\r\nInt32 LimitSW_Dispenser(Int32 Dispenser) \r\n{\r\n\r\n\tif (Dispenser==0)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==1)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==2)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==3)\r\n\t\t\r\n\t\t{\r\n\t\t\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\tif (Dispenser==4)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==5)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==6)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==7)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\treturn 0;\r\n}\t\t\r\n\t\t\r\n\t \t\r\nInt32 Print_Time() \r\n{\t\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",Time is\\t,,\"+ DateTime.Now +\"\\n\" ); \r\n\r\n\t\treturn 1;\r\n}\t\r\n\r\n\r\n\r\nInt32 Calc_mBAR(Int32 Dispenser, bool save_press)\r\n{\t\t\r\nInt32 Data;\r\nInt32 Sense1;\r\nInt32 temp=0;\r\n\r\n\t\tData =A2D_Dispenser[Dispenser];\r\n\t\tif (Data<100)\r\n\t\t\ttemp=-1;\r\n\t\tData=Data-710;\r\n\t\tif (Data<0)\r\n\t\tData=0;\r\n\r\n\t\tData=Data*(10000+PressureSensorType*1000)/2840;\t//\tfor -1 to 10 bar Press_Sensor_Type=1 else 0\r\n\t\tData=Data-1000*PressureSensorType; \t\t\t// for -1 to 10 bar\r\n\r\n\t\tif (temp==-1)\t\t\t\t\t\t//if SamplingInBits <100 then No pressure sensor exist\r\n\t\tSense1=-9999\t;\r\n\t\telse\t\r\n\t\tSense1=Data\t;\r\n\t\tif (\t((msec_index) % (Dispenser_sample_rate)) == 0)\r\n\t\t{\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\"\" + Sense1+\"\\n\");\r\n\t\t}\r\n\t\tDispenser_press[Dispenser]=Sense1;\r\n\treturn Sense1;\r\n\t\t\t\r\n } \t\r\n\r\n \r\n//--------------------------------\r\nint open_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1);\r\n\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0);\r\n\treturn 1;\r\n}\r\n//--------------------------------\r\nInt32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\r\n var response = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" , F3_VALVE_OUT);\r\n\tInt32 RV = (Int32) response.Value & 0xffff;\r\n\t\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\treturn 1;\r\n}\r\n//---------------------------------- \r\n void MotorStop(Int32 i)\r\n{\r\n \r\ncontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+i, 2);\r\nMotor_Dir[i]=0;\t//0 stop 1- up 2-dn\r\n\r\n}\r\n \r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[{"$id":"7","Name":null,"Value":null}]},"ReferenceAssemblies":{"$id":"8","$values":[{"$id":"9","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"19","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"20","$values":[]},"Dialogs":{"$id":"21","$values":[]},"ID":"b5924fbd-808a-41e3-99fb-980cd8df910c","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Priming1.pproj b/Software/Stubs Collection/stubs/Scripts/Priming1.pproj
deleted file mode 100644
index 4a7f5fcc3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Priming1.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Visibility":"Public","Inputs":{"$id":"2","$values":[]},"Variables":{"$id":"3","$values":[]},"Resources":{"$id":"4","$values":[]},"Dialogs":{"$id":"5","$values":[]},"ID":"eb73dbd4-1e1e-4f5d-adc8-5f159edab802","Name":"Priming1","Description":"Used for a dispenser priming","ApartmentState":"STA","ReferenceAssemblies":{"$id":"6","$values":[{"$id":"7","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"8","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"17","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Scripts":{"$id":"18","$values":[{"$id":"19","Name":"Program.csx","IsEntryPoint":true,"Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Diagnostics;\r\nusing System.Windows.Forms;\r\n\r\n\r\npublic class Program\r\n{\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n//---------------------Start Command ----------------\r\nconst Int32\tCMD_RUN\t=\t0;\t\t//Run on Pulse Per Secound .positive run Up and negative run Down b\r\nconst Int32\tCMD_STOP=\t1;\t\t//0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz\r\nconst Int32\tCMD_VALVE=\t2;\t\t//0-to Midtank ,1-to head \r\nconst Int32\tCMD_DLY\t=\t3;\t\t//delay in Seconds .\r\nconst Int32\tCMD_TIME=\t4;\t\t//Print Time .\r\nconst Int32\tCMD_PRESS=\t5;\t\t//return from Delay loop when pressure is high (on mBAR) .\r\nconst Int32 CMD_LOOP_NM=6;\t\t//NUMBER OF counter\r\nconst Int32 CMD_LOOP=\t7;\t\t//jump up(+) or down(-) command u\r\nconst Int32 CMD_MTV_OPEN =\t8;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_MTV_CLOSE=\t9;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_LBL=\t10;\t//label for user \r\nconst Int32 CMD_SMP=\t11; //sample rate ,defualt 100msec (1); for 1 second is 10.\r\nconst Int32 CMD_PRESL=\t12; //return from Delay loop when pressure is low (on mBAR) .\r\n\r\nconst Int32\tCMD_END\t=\t13;\t//end loop .\r\n \r\n\r\nInt32[] BuildUp_Table = new int []\r\n{\r\n\tCMD_LOOP_NM,3,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,800,\r\n\tCMD_DLY,60, \r\n\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_PRESS,1000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,1068,\r\n\tCMD_DLY,150, \t\t\r\n\tCMD_LBL,1,\r\n\tCMD_PRESS,2000,\t//mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,60, \t\t\r\n\tCMD_LBL,2,\r\n\tCMD_PRESS,3000,\r\n\tCMD_DLY,60, // to limit\r\n\tCMD_STOP,0,\r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\r\n\t\r\n\tCMD_END,3,\r\n};\r\n\t\r\n\r\nInt32[] Up_Table = new int []\r\n{\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,800,\r\n\tCMD_DLY,60, \r\n\t\r\n\tCMD_PRESS,3000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,534, // 100%\r\n\tCMD_DLY,120,\r\n\tCMD_STOP,0,\r\n\tCMD_END,3,\r\n};\r\nInt32 Dispenser_sample_rate= 1; \r\n\r\n\tstring path = @\"C:\\Dispenser_setup\\Log\\\"; \t\r\n//----------------------\r\nconst UInt32 I2C_ID \t\t\t= \t4;\t\t\t\t\t//MCU_I2C4 \r\nconst UInt32 TCA9548A_address \t=\t0xE2;\t \t\r\nconst UInt32 I2C_Slave_Low_Add \t= \t0xA0;\t\t\t\t//eeprom address - 64k low \r\nconst UInt32 I2C_Slave_High_Add = \t0xA2;\t\t\t\t//eeprom address - 64k High\r\n//----------------------\r\nbyte [] EEPROM_Data = new byte [128];\r\n\r\n\r\n//---------------------End Command ----------------\r\n\r\nconst Int32\tDispenser_Motor1\t=\t6;\t\t \r\nconst Int32\tDispenser_Motor2\t=\t7;\t\t \r\nconst Int32\tDispenser_Motor3\t=\t8;\t\t \r\nconst Int32\tDispenser_Motor4\t=\t9;\t\t \r\nconst Int32\tDispenser_Motor5\t=\t10;\t\t \r\nconst Int32\tDispenser_Motor6\t=\t11;\t\t \r\nconst Int32\tDispenser_Motor7\t=\t12;\t\t \r\nconst Int32\tDispenser_Motor8\t=\t13;\t\t \r\n\r\nconst Int32 AN_IDS_PRESSENS_1\t=\t2;\r\nconst Int32 AN_IDS_PRESSENS_2\t=\t3;\r\nconst Int32 AN_IDS_PRESSENS_3\t=\t4;\r\nconst Int32 AN_IDS_PRESSENS_4\t=\t5;\r\nconst Int32 AN_IDS_PRESSENS_5\t=\t6;\r\nconst Int32 AN_IDS_PRESSENS_6\t=\t7;\r\nconst Int32 AN_IDS_PRESSENS_7\t=\t8;\r\nconst Int32 AN_IDS_PRESSENS_8\t=\t9;\r\n\r\nconst Int32\tF2_LS_01_Direct\t=\t0x60000420\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_2\tF2_LS_DISPENSER_25_2\tF2_LS_DISPENSER_75_2\tF2_LS_DISPENSER_DOWN_2 \tF2_LS_DISPENSER_50_2\tF2_LS_DISPENSER_SPARE_2\tF2_LS_DISPENSER_UP_1\tF2_LS_DISPENSER_25_1 \tF2_LS_DISPENSER_75_1\tF2_LS_DISPENSER_DOWN_1\tF2_LS_DISPENSER_50_1\tF2_LS_DISPENSER_SPARE_1\t\t\t\r\nconst Int32\tF2_LS_02_Direct\t=\t0x60000430\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_4\tF2_LS_DISPENSER_25_4\tF2_LS_DISPENSER_75_4\tF2_LS_DISPENSER_DOWN_4\tF2_LS_DISPENSER_50_4\tF2_LS_DISPENSER_SPARE_4\tF2_LS_DISPENSER_UP_3\tF2_LS_DISPENSER_25_3 \tF2_LS_DISPENSER_75_3\tF2_LS_DISPENSER_DOWN_3\tF2_LS_DISPENSER_50_3\tF2_LS_DISPENSER_SPARE_3\t\t\t\r\nconst Int32\tF2_LS_03_Direct\t=\t0x60000440\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_6 \tF2_LS_DISPENSER_25_6 \tF2_LS_DISPENSER_75_6 \tF2_LS_DISPENSER_DOWN_6\tF2_LS_DISPENSER_50_6\tF2_LS_DISPENSER_SPARE_6\tF2_LS_DISPENSER_UP_5\tF2_LS_DISPENSER_25_5 \tF2_LS_DISPENSER_75_5\tF2_LS_DISPENSER_DOWN_5\tF2_LS_DISPENSER_50_5\tF2_LS_DISPENSER_SPARE_5\t\t\t\r\nconst Int32\tF2_LS_04_Direct =\t0x60000480\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_8\tF2_LS_DISPENSER_25_8\tF2_LS_DISPENSER_75_8\tF2_LS_DISPENSER_DOWN_8\tF2_LS_DISPENSER_50_8\tF2_LS_DISPENSER_SPARE_8\tF2_LS_DISPENSER_UP_7\tF2_LS_DISPENSER_25_7 \tF2_LS_DISPENSER_75_7\tF2_LS_DISPENSER_DOWN_7\tF2_LS_DISPENSER_50_7\tF2_LS_DISPENSER_SPARE_7\t\t\t\r\n\r\nconst Int32 Dispenser_Valve1\t=\t0;\r\nconst Int32 Dispenser_Valve2\t=\t1;\r\nconst Int32 Dispenser_Valve3\t=\t2;\r\nconst Int32 Dispenser_Valve4\t=\t3;\r\nconst Int32 Dispenser_Valve5\t=\t4;\r\nconst Int32 Dispenser_Valve6\t=\t5;\r\nconst Int32 Dispenser_Valve7\t=\t6;\r\nconst Int32 Dispenser_Valve8\t=\t7;\r\n\r\nconst ushort MinPress_Mbar_Add =0x5c ;\r\nconst ushort MaxPress_Mbar_Add =0x60 ;\r\n\r\nconst Int32 F3_VALVE_OUT\t= 0x600000e2;\t\t\r\n\r\n//string path = \"C:\\\\Dispenser_setup\\\\Log\\\\\"; \r\n\r\n\r\n//Int32[] Start_Table;\r\n\r\nInt32[] Start_Table = new Int32 [10000];\r\n\r\nUInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};\r\n\r\nstring Dispenser_Fname ;\r\n\r\nInt32 Dispenser_ptr =-1;\r\n\r\nInt32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 max_pressure_level = 20000;\r\nInt32 min_pressure_level = -20000;\r\n\t\r\nInt32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 Loop_cnt= 1;\r\nInt32 Loop_length=1;\r\n\r\nInt32 PressureSensorType= 1;\t\t//1- new -1up +10 . 0-old 0 to +10\r\nInt32\tTemp_Delay=0;\r\n\r\nInt32\tFirst_Delay=0;\r\n\r\n\r\nUInt32 RD_LS_01_Direct;\r\nUInt32 RD_LS_02_Direct;\r\nUInt32 RD_LS_03_Direct;\r\nUInt32 RD_LS_04_Direct;\r\n\r\nlong Lebel1_time;\r\nlong Lebel2_time;\r\nlong End_Time=0;\r\n\r\nlong elapsed_time =0;\r\n\r\nlong time_Table;\r\n\r\nInt32 msec_index=0;\r\n\r\nInt32 MaxPress_Mbar;\r\nInt32 MinPress_Mbar;\r\nstring state;\r\n\r\n\tpublic Int32 OnExecute(IProcedureContext context)\r\n {\r\n\t\tlong Max_PBU;\r\n\t\tInt32 Index=0;\r\n\t\tInt32 speed=0;\r\n\t\tInt32 Dispenser_Nm;\r\n\t\tthis.context = context;\r\n\t\tint Test_Index=0;\r\n \t\t\r\n \r\n\r\n\t\t\r\n\t\tstring box_msg = \"Make sure Mixer Hot \";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tvar response1 = context.RequestUserInputFor<String>(\"Dispenser Number\", \"Enter Dispenser number to make priming (1-8):\");\r\n\t\tcontext.WriteLine(response1);\r\n\t\tDispenser_Nm = Int32.Parse(response1);\r\n\t\t\r\n\t\tcheck_Min_Max_Mbar(Dispenser_Nm);\r\n\t\r\n\t\tif (Dispenser_Nm==8)\r\n\t\t\tMax_PBU=8000;\r\n\t\telse\r\n\t\t\tMax_PBU=6000;\r\n\t\t\t\r\n\t\r\n\tif (!Directory.Exists(path))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(path);\r\n\t\t}\t\r\n\t\t\tcontext.WriteLine(path);\r\n\t\t\t\r\n\tcontext.Send<ProgressResponse>(\"ProgressRequest\" ,0xe0, 1);\r\n\r\n\tDispenser_Fname=path + \"Dispenser_Nm_\" + Dispenser_Nm+\"_\" + DateTime.Now.ToString(\"MM-dd-yy hh-mm\")+ \".csv\" ;\r\n\r\n\tcontext.WriteLine(Dispenser_Fname);\r\n\r\n\tcontext.WriteToFile(Dispenser_Fname,\"Dispenser Nm,\" + Dispenser_Nm + \"\\n\" );\r\n\tcontext.AppendToFile(Dispenser_Fname,\"Pressure,Command,Value,DateTime,Remark\\n\" ); \r\n\t\r\n\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\r\n\tfor(int j=0; j<2;j++)\r\n\t\t{\r\n\t\t\tfor(int i=0; i<4;i++)\r\n\t\t\t{\r\n\t\t\t\tstate=\"PBU No. \"+ (4*j+i+1 );\r\n\t\t\t\tStart_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tif (time_Table>300000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"PBU\", \"PBU No.\"+ (4*j+i+1 ) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\",\"PBU No.\"+ (4*j+i+1 ) + \" Pass\");\r\n \r\n\t\t\tTest_Index++;\r\n \t\t\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\t\t\tstate=\"Flow No.\"+ (j+1 ) ;\r\n\t\t\tStart_Table=Up_Table;\r\n\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\tif (time_Table<115000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.WriteLine(\"time_Table= \" +time_Table);\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"Flow\", \"Flow No.\"+ (j+1) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"Flow\",\"Flow No.\"+ (j+1 ) + \" Pass\");\r\n\t\t\t\t \tTest_Index++;\r\n \t\t\t\t\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\t\t\r\n\t\t}\r\n\t\t\t\t state=\"Last PBU \" ;\r\n\t\t\t\t Start_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\t\tTest_Index++;\r\n \t\t\t\t\tcontext.UpdateProgress(\"Priming\",false,Test_Index,10);\r\n\r\n\t\t\t\tlong Time=Lebel2_time-Lebel1_time;\r\n\t\t\t\tif (Time>Max_PBU)\r\n\t\t\t\t { \r\n\t\t\t\t context.AddResult(ResultType.Failed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tFail\";\r\n\t\t\t\t }\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tPass\";\r\n\t\t\t\t}\t\r\n\t\treturn 0;\r\n\t\t\r\n }\r\n\r\n/////////////////////////////////////////////\r\nvoid \t\tcheck_Min_Max_Mbar(Int32 i )\r\n{\r\n\tint k;\r\n\tstring s ;\r\n\ti--;\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write Enable Channel ------------\");\t//debug\r\n\t\tenable_channel(i); // Chanel 0-7 => Disp0enser 0-7 \r\n\t\t\t\t\tcontext.WriteLine(\"-------------- Read_header ------------\");\t//debug\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write_address_eeprom ------------\");\t//debug\r\n\t\twrite_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add);\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- read_data_from_eeprom ------------\");\t//debug\r\n\t\tread_data_from_eeprom (I2C_Slave_Low_Add,1);\r\n\t\tif \t(EEPROM_Data[0]==0\t)\r\n\t\t{\tPressureSensorType=0;\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=0\" );\t//debug\r\n\t\t}\r\n\t\telse\t\r\n\t\t{\t\r\n\t\t\tPressureSensorType=1;\t\t\t\t\t\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=1\" );\t//debug\r\n\t\t}\r\n\t\r\n}\t\r\n//----------------write address eeprom -------------------------\r\npublic void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add)\r\n{\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8));\t//Byte High add to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff));\t\t\t//Byte Low add to write\r\n\t\t\t\t\tcontext.WriteLine( (Eeprom_Add & 0xff00) >>8) ;\t//debug\r\n\t\t\t\t\tcontext.WriteLine( Eeprom_Add & 0xff);\t//debug\r\n\r\n\tcontext.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\t\r\n}\r\n//------------------- read Data from EEprom--------------------------\r\n\r\npublic void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt )\r\n{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1);\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read\r\n\r\n\tvar response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\r\n\tfor(int i=0; i<cnt;i++)\r\n\t\t{\r\n\t\t\tEEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]);\r\n\t\t\tcontext.WriteLine(EEPROM_Data[i] );\t//debug\r\n\r\n\t\t}\t\t\r\n}\t\r\n\r\n\r\n///////////////////////////////////////////////\r\n//----------- enable I2c channel --------------\r\npublic int enable_channel(Int32 Channel_ID) \r\n{\r\n\tuint Const_temp = 0x01;\t\r\n\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\t\r\n\tConst_temp = Const_temp << Channel_ID;\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1\r\n\r\n\tvar response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\n////////////////////////////////////////////////////////////// \r\nInt32 Table_Run(Int32 Dispenser )\r\n\r\n{\r\n\tInt32 COMMAND=0;\r\n\tInt32 Data=0;\r\n\tInt32 count=0;\r\n\t\r\n\tDispenser--;\t\t//check from 0-7\r\n\t\r\n\tint j=0;\r\n\t\tvar stopwatch = new Stopwatch();\r\n\r\n\t\tstopwatch.Start();\r\n\t\r\n\t\t elapsed_time = stopwatch.ElapsedMilliseconds;\r\n\t\tcontext.WriteLine(elapsed_time);\r\n\t\t\r\n\twhile (count!=-1) \r\n\t{\r\n\tmsec_index=msec_index+1;\r\n\t\t\r\n\t\tif (Dispenser<2) \r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tRD_LS_01_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<4) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tRD_LS_02_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<6) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_03_Direct);\r\n\t\t\t\tRD_LS_03_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_04_Direct);\r\n\t\t\t\tRD_LS_04_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\tif (Dispenser<4) \r\n\t\t\t{\r\n\t\t\tvar response2 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_1);\r\n\t\t\t\tA2D_Dispenser[0]=(response2.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\tvar\tresponse3 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_5);\r\n\t\t\t\tA2D_Dispenser[4] =(response3.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tCOMMAND=Start_Table[count];\r\n\t\t\tData=Start_Table[(count+1)];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Index=Index+2;\r\n\t\t\tswitch (COMMAND)\r\n\t\t\t\t{\r\n\t\t\t\tcase CMD_RUN:\r\n\t\t\t\t\tMotor_Run(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_VALVE:\r\n\t\t\t\t\tValve_3W(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_STOP:\r\n\t\t\t\t\tMotor_Stop(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_DLY:\r\n\t\t\t\t\tDelay_on_second(Data,Dispenser,elapsed_time);\r\n\t\t\t\t\tif (Temp_Delay <1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmax_pressure_level=20000;\t\r\n\t\t\t\t\t\tmin_pressure_level=-20000;\t\r\n\t\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_TIME:\r\n\t\t\t\t\tPrint_Time();\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESS:\r\n\t\t\t\t\tmax_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Max_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESL:\r\n\t\t\t\t\tmin_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Min_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_LBL:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Label,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tif(Data==1)\r\n\t\t\t\t\t\tLebel1_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tif(Data==2)\r\n\t\t\t\t\t\tLebel2_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_SMP:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",SampleRate,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tDispenser_sample_rate =Data;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_END:\r\n\t\t\t\t\tcount=-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End testing,,\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_MTV_OPEN:\r\n\t\t\t\t\topen_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",OPEN MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_MTV_CLOSE:\r\n\t\t\t\t\tclose_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",CLOSE MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_LOOP_NM:\r\n\t\t\t\t\r\n\t\t\t\t\tLoop_cnt=Data-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Counter Loop,\"+ Data+\",\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\tcount = count+2;\t\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_LOOP:\r\n\t\t\t\t\r\n\t\t\t\t\tif (Loop_cnt!=0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\"Counter Loop,\"+ Loop_cnt+\",\"+DateTime.Now+\"\\n\" );\r\n\t\t\t\t\t\tcount = count+2*Data;\r\n\t\t\t\t\t\tLoop_cnt--;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End loop,,\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\t\tcount = count+2;\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t\tlong elapsed_time1 = stopwatch.ElapsedMilliseconds;\r\n\t\t\tlong elapsed_time2= elapsed_time1-elapsed_time;\r\n\t\t\tif (elapsed_time2>95)\r\n\t\t\telapsed_time2=95;\t\t//minimum time\r\n\t\t\t\tThread.Sleep(100-(int )(elapsed_time2));\r\n\r\n\t\t\telapsed_time = stopwatch.ElapsedMilliseconds;\t\t\r\n\r\n\r\n\t\t\tj++;\r\n\t\t\t\tif (j==10)\r\n\t\t\t\t{\r\n\t\t\t\t\tj=0;\r\n\t\t\t\t\tcontext.WriteLine(Dispenser_press[Dispenser]+ \" mBar\\t\"+state + \"\\tTime-\" + (elapsed_time/1000));\r\n\t\t\t\t}\r\n\t}\r\n\ttime_Table=elapsed_time;\r\n\treturn 0;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////\t\r\nInt32 Motor_Run(Int32 speed,Int32 Dispenser)\r\n\r\n{\r\n\r\n\tswitch (Dispenser)\r\n\t\t{\r\n\t\tcase 0:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[0]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[0]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 1:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[1]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[1]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 2:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[2]=2;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[2]=1;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 3:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[3]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[3]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[4]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[4]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 5:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[5]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[5]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 6:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[6]=2;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[6]=1;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 7:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[7]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[7]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n \tcontext.AppendToFile(Dispenser_Fname,\",Run,\" +speed+\",\"+DateTime.Now +\"\\n\" ); \r\n\r\n\treturn 1;\r\n} \r\n \r\n \t\r\n Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser)\r\n{\r\n\tif ( Valve_Value==1)\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, true);\t//3 3Way\r\n\telse\t\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way\r\n \r\n\tcontext.AppendToFile(Dispenser_Fname,\",Dispenser Valve position is, \" + Valve_Value+\",\"+DateTime.Now +\"\\n\" );\r\n\r\n\treturn 1;\t\r\n}\t\r\n//--------------------------------------- \r\n\r\n Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser )\r\n{\r\n\tcontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+Dispenser, Stop_Value);\r\n\t\r\n\tcontext.AppendToFile(Dispenser_Fname,\",Motor Stop,\" + Stop_Value+\",\"+DateTime.Now +\"\\n\");\r\n\tMotor_Dir[Dispenser]=0;\r\n\treturn 1;\t\r\n}\r\n\r\n//--------------------------------------- \r\n\r\n Int32 Delay_on_second(Int32 Delay,Int32 Dispenser ,long time)\r\n{\r\n//Int32 temp1;\r\nInt32 pressure_om_mBAR=0;\r\n\tif \t(Temp_Delay ==0)\r\n\t{\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",DLY, \" + Delay +\",\"+DateTime.Now+\"\\n\");\r\n\t\tEnd_Time=time+Delay*1000-1;\r\n\r\n\t\tTemp_Delay = 1;\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"A\");\t\t//debug\r\n\t}\r\n\telse\t\r\nif (time>End_Time)\t\r\n\t\t{\t\t\t\t\r\n\t\tTemp_Delay=0;\r\n\t\t}\r\n\t\t\t\r\n\tif ( LimitSW_Dispenser(Dispenser)==0)\r\n \t {\t\r\n \t \tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+\",Warning Motor on Limit\\n\");\r\n\t\t\tMotorStop(Dispenser);\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"C\");\t\t//debug\r\n\r\n\t\t\treturn 0 ;\r\n \t }\r\n\t\t\t\t\t\r\n\tpressure_om_mBAR=Calc_mBAR(Dispenser,true);\r\n \tif (pressure_om_mBAR > max_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too high\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n \tif (pressure_om_mBAR < min_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too low\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n \treturn 1;\r\n}\t\r\n \t \t\r\nInt32 LimitSW_Dispenser(Int32 Dispenser) \r\n{\r\n\r\n\tif (Dispenser==0)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==1)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==2)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==3)\r\n\t\t\r\n\t\t{\r\n\t\t\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\tif (Dispenser==4)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==5)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==6)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==7)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\treturn 0;\r\n}\t\t\r\n\t\t\r\n\t \t\r\nInt32 Print_Time() \r\n{\t\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",Time is\\t,,\"+ DateTime.Now +\"\\n\" ); \r\n\r\n\t\treturn 1;\r\n}\t\r\n\r\n\r\n\r\nInt32 Calc_mBAR(Int32 Dispenser, bool save_press)\r\n{\t\t\r\nInt32 Data;\r\nInt32 Sense1;\r\nInt32 temp=0;\r\n\r\n\t\tData =A2D_Dispenser[Dispenser];\r\n\t\tif (Data<100)\r\n\t\t\ttemp=-1;\r\n\t\tData=Data-710;\r\n\t\tif (Data<0)\r\n\t\tData=0;\r\n\r\n\t\tData=Data*(10000+PressureSensorType*1000)/2840;\t//\tfor -1 to 10 bar Press_Sensor_Type=1 else 0\r\n\t\tData=Data-1000*PressureSensorType; \t\t\t// for -1 to 10 bar\r\n\r\n\t\tif (temp==-1)\t\t\t\t\t\t//if SamplingInBits <100 then No pressure sensor exist\r\n\t\tSense1=-9999\t;\r\n\t\telse\t\r\n\t\tSense1=Data\t;\r\n\t\tif (\t((msec_index) % (Dispenser_sample_rate)) == 0)\r\n\t\t{\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\"\" + Sense1+\",,,\"+ DateTime.Now+\"\\n\");\r\n\t\t}\r\n\t\tDispenser_press[Dispenser]=Sense1;\r\n\treturn Sense1;\r\n\t\t\t\r\n } \t\r\n\r\n \r\n//--------------------------------\r\nint open_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1);\r\n\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0);\r\n\treturn 1;\r\n}\r\n//--------------------------------\r\nInt32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\r\n var response = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" , F3_VALVE_OUT);\r\n\tInt32 RV = (Int32) response.Value & 0xffff;\r\n\t\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\treturn 1;\r\n}\r\n//---------------------------------- \r\n void MotorStop(Int32 i)\r\n{\r\n \r\ncontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+i, 2);\r\nMotor_Dir[i]=0;\t//0 stop 1- up 2-dn\r\n\r\n}\r\n \r\n}"},{"$id":"20","Name":"Service.csx","IsEntryPoint":false,"Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}"}]}} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs b/Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs
deleted file mode 100644
index 9d1572291..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Read Dancer new.cs
+++ /dev/null
@@ -1,138 +0,0 @@
-//-------------------------------------------
-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 "..\Defines\Tango_Defines_Motors.cs"
-
- //--------------------------------------------------------------------------------
-
-//--------------------------------------------------------------------------------
-Int32 last_14bit_position;
-Int32 position_32bit;
-
-
-public void OnExecute(StubManager stubManager)
-{
-
-
-//Create form
- Form form1 = new Form();
-
-//--------------------------------------------------------------------------------
-
-// Create buttons to use as the accept and cancel buttons.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-
- Button button2 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- Button button3 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
-//--------------------------------------------------------------------------------
-// Set the text of button
-
- button1.Text = "Left Dancer";
- button2.Text = "Center Dancer";
- button3.Text = "Right Dancer";
-
-//--------------------------------------------------------------------------------
-// Set the position of the button on the form.
-
- button1.Location = new Point (40, 40);
-
- button2.Location
- = new Point (button1.Left + button1.Width + 10, 40);
-
- button3.Location
- = new Point (button2.Left + button2.Width + 10, 40);
-
-//--------------------------------------------------------------------------------
- // Add button to the form.
-
- form1.Controls.Add(button1);
-
- form1.Controls.Add(button2);
-
- form1.Controls.Add(button3);
-
-//--------------------------------------------------------------------------------
-
-// Set the caption bar text of the form.
-
- form1.Text = "Read Dancer";
-
-//--------------------------------------------------------------------------------
-
- // Define the border style of the form to a dialog box.
-
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
-
- // Set the MaximizeBox to false to remove the maximize box.
-
- form1.MaximizeBox = false;
-
- // Set the MinimizeBox to false to remove the minimize box.
-
- form1.MinimizeBox = false;
-
- // Set the start position of the form to the center of the screen.
-
- form1.StartPosition = FormStartPosition.CenterScreen;
-
-
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-//-----------------------------------------
- button1.Click += (_,__) =>
- {
- stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,0);
- Thread.Sleep(1000);
- };
-//-----------------------------------------
- button2.Click += (_,__) =>
-
- {
- stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
- Thread.Sleep(1000);
-
- };
-//-----------------------------------------
-
- button3.Click += (_,__) =>
- {
- stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,2);
- Thread.Sleep(1000);
- };
-
-//--------------------------------------------------------------------------------
-
-// Display the form as a modal dialog box.
- form1.ShowDialog();
-
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,5, 3);
-
-
- return;
-}
-
-
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Read Dancer.cs b/Software/Stubs Collection/stubs/Scripts/Read Dancer.cs
deleted file mode 100644
index 8fcfc94b0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Read Dancer.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-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 response1 = stubManager.ShowResponseWindow("Please Enter Password:");
- if (response1=="Aa123456")
- {
- stubManager.WriteLine(response1);
-
-
- stubManager.RequestTimeout = 2000;
- //for (int i = 0; i < 100; i++)
- {
- var response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,0);
- Thread.Sleep(1000);
- response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,1);
- Thread.Sleep(1000);
- response = stubManager.Run<StubDancerPositionResponse>("StubDancerPositionRequest" ,2);
- Thread.Sleep(1000);
- }
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs b/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs
deleted file mode 100644
index 934371725..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Read Dispensers Serial Num.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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)
-{
- uint i;
- string serialnum;
-
- StubDispenserEEpromRequest dispenserEEpromRequest = new StubDispenserEEpromRequest();
- for (i = 0; i<8;i++)
- {
- dispenserEEpromRequest.DispenserId = i;
- dispenserEEpromRequest.BurnRequest = false;
- var response = stubManager.Run<StubDispenserEEpromResponse>(dispenserEEpromRequest);
- stubManager.Write("Dispenser Serial # read \t"+ (i+1) + " serial number "+ response.DispenserEEprom.DispenserSN +"\n");
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Read_Version.cs b/Software/Stubs Collection/stubs/Scripts/Read_Version.cs
index b3e3e2c1f..3bc9eb929 100644
--- a/Software/Stubs Collection/stubs/Scripts/Read_Version.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Read_Version.cs
@@ -53,6 +53,7 @@ public void OnExecute(StubManager stubManager)
stubManager.Write("\n");
+
var response_swid = stubManager.Run<StubReadEmbeddedVersionResponse>("StubReadEmbeddedVersionRequest" , true);
stubManager.Write("\nTIVA MCU SW Version (Major, Minor, Patch, Build, Version String): (");
stubManager.WriteHex(response_swid.VerMajor,4);
@@ -85,7 +86,21 @@ public void OnExecute(StubManager stubManager)
//ReadFPGATestReg(FPGA3);
stubManager.Write("\n");
-
+
+var response1 = stubManager.Run<StubReadEmbeddedVersionResponse>("StubReadEmbeddedVersionRequest" );
+
+ stubManager.Write("\nCPU Version: ");
+ stubManager.Write("\nVerMajor:");
+ stubManager.Write(response1.VerMajor);
+ stubManager.Write("\nVerMinor:");
+ stubManager.Write(response1.VerMinor);
+ stubManager.Write("\nVerMinor:");
+ stubManager.Write(response1.VerPatch);
+ stubManager.Write("\nVerPatch:");
+ stubManager.Write(response1.VerBuild);
+ stubManager.Write("\nVerBuild:");
+ stubManager.Write(response1.Version);
+
}
/* Example Script Output
diff --git a/Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs b/Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs
deleted file mode 100644
index 102029cf2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/SS Head Sensor board.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-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" ,0xb10, 0x01);//S.S Head Sensor board
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs b/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs
deleted file mode 100644
index 6f5357535..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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 = 0xAD7;
-progressRequest.Delay = 1; // 1 - active, 0 - disabled
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs b/Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs
deleted file mode 100644
index bb502309e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Set loading arm center.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-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/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsx b/Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsx
deleted file mode 100644
index 57fd92df9..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Tango_Main_PCB_ATP_sn_xxxxxxx.xlsx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/TestForVika.cs b/Software/Stubs Collection/stubs/Scripts/TestForVika.cs
deleted file mode 100644
index 7861bae7a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/TestForVika.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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;
-
- bool i = true;
-//--------------------------------------------------------------------------------
-
-public void OnExecute(StubManager stubManager)
-{
- Form form1 = new Form();
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
-
- button1.Click += (_,__) =>
-
- {
-
-
- Label5.Text="Pros"; ///???? not working
-
-
-
-
-//------------------------------- start test -----------
- Thread.Sleep(5000); //delay 10 second
-
-if (i==true)
- Label5.Text="Fail";
-else
- Label5.Text="Pass";
-
- i= !i;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
-
diff --git a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docx b/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docx
deleted file mode 100644
index f82f59d00..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test12.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docx b/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docx
deleted file mode 100644
index d56728507..000000000
--- a/Software/Stubs Collection/stubs/Scripts/Twine_Tango_Main_Test13.docx
+++ /dev/null
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs b/Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs
deleted file mode 100644
index 88de4de01..000000000
--- a/Software/Stubs Collection/stubs/Scripts/WHS_Test_EEPROM.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-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 = 0; //WHS 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/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj b/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj
deleted file mode 100644
index 5932b58a0..000000000
--- a/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tdouble V0_default_ml = 8.7433;\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\tvar response1 = context.RequestUserInputFor<String>(\"Warning - you are going to change the value of Vo in the eeprom !!!\\nPlease Enter Password to confirme:\",\"\");\r\n\tif (response1==\"Aa123456\")\r\n\t{\r\n\t\tcontext.WriteLine(response1);\r\n\t\t\r\n\t\t//Write_0_Vo_in_ml_to_eeprom\r\n\t\tcontext.WriteLine(\"\\nWrite_0_Vo_in_ml_to_eeprom\");\t\r\n\t\tStubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();\r\n\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\tStubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();\r\n\t\tstubWhsEEpromData.Orifice1Flow = 0;\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t//wait_10mSec\r\n\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\tThread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\r\n\t\t//Read_Vo_in_ml_from_eeprom\t& verify it is 0\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\t& verify it is 0\");\r\n\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response2 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\r\n\t\t//Read_Vo_in_mV\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_mV\");\r\n\t\tvar response3 = context.Send<ProgressResponse>(\"ProgressRequest\" ,0x3EC, 0x01);\r\n\t\t//Print_Vo_in_mV\r\n\t\tcontext.WriteLine(response3.Progress);\r\n\t\t\r\n\t\t//check validity\r\n\t\tcontext.WriteLine(\"\\ncheck validity\");\r\n\t\t if((response3.Progress <= 800) || (response3.Progress >=1200))\r\n\t\t {\r\n\t\t \tresponse3.Progress = 1076; //default\r\n\t\t \tcontext.Write(\"\\nERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t \t context.AddResult(ResultType.Failed , \"Error\", \"ERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t }\r\n\t\telse\r\n\t\t{\t\t\t\r\n\t\t\t//calculate_V0_in_ml\r\n\t\t\tcontext.WriteLine(\"\\ncalculate_V0_in_ml\");\r\n\t\t\tV0_default_ml = V0_default_ml * response3.Progress;\r\n\t\t\t\r\n\t\t\t//print_Vo_in_ml\r\n\t\t\tcontext.WriteLine(\"\\nprint_Vo_in_ml\");\r\n\t\t\tcontext.WriteLine(V0_default_ml);\r\n\t\t\tcontext.WriteLine(\"\");\r\n\t\t\t\r\n\t\t\t//Write_Vo_in_ml_to_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nWrite_Vo_in_ml_to_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\r\n\t\t\tstubWhsEEpromData.Orifice1Flow = V0_default_ml;\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response4 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t\t//wait_10mSec\r\n\t\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\t\t Thread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\t \t\t\r\n\t\t\t //Read_Vo_in_ml_from_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response5 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\r\n\t\t\t//Check if we read the correct value\r\n\t\t\tcontext.WriteLine(\"\\nVerify that we read the correct value of Orifice1Flow!!\");\r\n\t\t\t context.AddResult(ResultType.Passed , \"Pass\", \"Calibration Pass.\");\r\n\r\n\t\t\t}\r\n\t}\r\n\t\telse\r\n \t{\r\n\t\t\tcontext.AddResult(ResultType.Failed , \"Error\", \"Password Fail.\");\r\n\t\t}\r\n\t\tcontext.WriteLine(\"\\n -- END OF SCRIPT -- \");\r\n }\r\n}\r\n\r\n\r\n","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"605a2ef0-71a6-450d-92f7-9b6d22850ad1","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/blower_Q.cs b/Software/Stubs Collection/stubs/Scripts/blower_Q.cs
deleted file mode 100644
index f6b595873..000000000
--- a/Software/Stubs Collection/stubs/Scripts/blower_Q.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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
-//stop loop
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E8, /*Head_Q=*/2500); //
-
-//enable loop
-/*var response1 =*/ stubManager.Run<ProgressResponse>("ProgressRequest" ,/*fan1*/0x3E7, /*Head_Q=*/5); //
-//500=1F4
-//250=FA
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/change sublimation time.cs b/Software/Stubs Collection/stubs/Scripts/change sublimation time.cs
deleted file mode 100644
index 3292a3b7e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/change sublimation time.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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)
-{
-
-int SublimationDuration = 30;
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB26;
-progressRequest.Delay = SublimationDuration;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs b/Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs
deleted file mode 100644
index 8276ad449..000000000
--- a/Software/Stubs Collection/stubs/Scripts/check_kval_load_arm.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-const Int32 x_KVAL_HOLD = 0x09;
-const Int32 x_KVAL_RUN = 0x0A;
-const Int32 x_KVAL_ACC = 0x0B;
-const Int32 x_KVAL_DEC = 0x0C;
-
-const Int32 x_GET_PARAM = 0x20;
-
-
-
-public void OnExecute(StubManager stubManager)
-{
-
- while (true)
- {
- stubManager.Write("\nLeft Load KVAL \t");
- var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,19, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\n");
-
-
- stubManager.Write("Right Load KVAL \t");
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\t");
-
- response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,24, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
- stubManager.Write(response.RecivedData);
- stubManager.Write("\n");
- stubManager.Write(DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss"));
- Thread.Sleep(1000);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs b/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs
deleted file mode 100644
index fd0f7fcf7..000000000
--- a/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs
+++ /dev/null
@@ -1,118 +0,0 @@
-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
-//----------------------
-
-const Int32 SerialNum = 0x01;
-
-
-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(SerialNum);//S/N
- //stubI2CWriteBytesRequest.BytesTWrite.Add(0x03);//HEAD_TYPE_FLAT
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_ARC
-
- 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,0x00);
- Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
-
- 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/Scripts/eepromati2.c b/Software/Stubs Collection/stubs/Scripts/eepromati2.c
deleted file mode 100644
index bd0e44674..000000000
--- a/Software/Stubs Collection/stubs/Scripts/eepromati2.c
+++ /dev/null
@@ -1,458 +0,0 @@
-Read_Head_EEPROM union <unnamed> {bytes={Header=1437256755,TableLength=260,TableVersion=0,DyeHead_PN=[65 'A',77 'M',...,HeadPCB_SN=...,Buf=... 0x2002BB68
- bytes struct <unnamed> {Header=0x55AACC33,TableLength=0x00000104,TableVersion=0x00000000,DyeHead_PN=[0x41 'A',...,HeadPCB_SN=... (Hex) 0x2002BB68
- Header unsigned int 0x55AACC33 (Hex) 0x2002BB68
- TableLength unsigned int 0x00000104 (Hex) 0x2002BB6C
- TableVersion unsigned int 0x00000000 (Hex) 0x2002BB70
- DyeHead_PN unsigned char[20] [0x41 'A',0x4D 'M',0x30 '0',0x30 '0',0x32 '2'...] (Hex) 0x2002BB74
- [0] unsigned char 0x41 'A' (Hex) 0x2002BB74
- [1] unsigned char 0x4D 'M' (Hex) 0x2002BB75
- [2] unsigned char 0x30 '0' (Hex) 0x2002BB76
- [3] unsigned char 0x30 '0' (Hex) 0x2002BB77
- [4] unsigned char 0x32 '2' (Hex) 0x2002BB78
- [5] unsigned char 0x32 '2' (Hex) 0x2002BB79
- [6] unsigned char 0x32 '2' (Hex) 0x2002BB7A
- [7] unsigned char 0x33 '3' (Hex) 0x2002BB7B
- [8] unsigned char 0x2D '-' (Hex) 0x2002BB7C
- [9] unsigned char 0x30 '0' (Hex) 0x2002BB7D
- [10] unsigned char 0x30 '0' (Hex) 0x2002BB7E
- [11] unsigned char 0x00 '\x00' (Hex) 0x2002BB7F
- [12] unsigned char 0x00 '\x00' (Hex) 0x2002BB80
- [13] unsigned char 0x00 '\x00' (Hex) 0x2002BB81
- [14] unsigned char 0x00 '\x00' (Hex) 0x2002BB82
- [15] unsigned char 0x00 '\x00' (Hex) 0x2002BB83
- [16] unsigned char 0x00 '\x00' (Hex) 0x2002BB84
- [17] unsigned char 0x00 '\x00' (Hex) 0x2002BB85
- [18] unsigned char 0x00 '\x00' (Hex) 0x2002BB86
- [19] unsigned char 0x00 '\x00' (Hex) 0x2002BB87
- HeadPCB_SN unsigned char[20] [0x41 'A',0x50 'P',0x30 '0',0x30 '0',0x30 '0'...] (Hex) 0x2002BB88
- [0] unsigned char 0x41 'A' (Hex) 0x2002BB88
- [1] unsigned char 0x50 'P' (Hex) 0x2002BB89
- [2] unsigned char 0x30 '0' (Hex) 0x2002BB8A
- [3] unsigned char 0x30 '0' (Hex) 0x2002BB8B
- [4] unsigned char 0x30 '0' (Hex) 0x2002BB8C
- [5] unsigned char 0x39 '9' (Hex) 0x2002BB8D
- [6] unsigned char 0x33 '3' (Hex) 0x2002BB8E
- [7] unsigned char 0x31 '1' (Hex) 0x2002BB8F
- [8] unsigned char 0x00 '\x00' (Hex) 0x2002BB90
- [9] unsigned char 0x00 '\x00' (Hex) 0x2002BB91
- [10] unsigned char 0x00 '\x00' (Hex) 0x2002BB92
- [11] unsigned char 0x00 '\x00' (Hex) 0x2002BB93
- [12] unsigned char 0x00 '\x00' (Hex) 0x2002BB94
- [13] unsigned char 0x00 '\x00' (Hex) 0x2002BB95
- [14] unsigned char 0x00 '\x00' (Hex) 0x2002BB96
- [15] unsigned char 0x00 '\x00' (Hex) 0x2002BB97
- [16] unsigned char 0x00 '\x00' (Hex) 0x2002BB98
- [17] unsigned char 0x00 '\x00' (Hex) 0x2002BB99
- [18] unsigned char 0x00 '\x00' (Hex) 0x2002BB9A
- [19] unsigned char 0x00 '\x00' (Hex) 0x2002BB9B
- HeadPCB_PN unsigned char[20] [0x41 'A',0x50 'P',0x30 '0',0x30 '0',0x30 '0'...] (Hex) 0x2002BB9C
- [0] unsigned char 0x41 'A' (Hex) 0x2002BB9C
- [1] unsigned char 0x50 'P' (Hex) 0x2002BB9D
- [2] unsigned char 0x30 '0' (Hex) 0x2002BB9E
- [3] unsigned char 0x30 '0' (Hex) 0x2002BB9F
- [4] unsigned char 0x30 '0' (Hex) 0x2002BBA0
- [5] unsigned char 0x39 '9' (Hex) 0x2002BBA1
- [6] unsigned char 0x33 '3' (Hex) 0x2002BBA2
- [7] unsigned char 0x31 '1' (Hex) 0x2002BBA3
- [8] unsigned char 0x00 '\x00' (Hex) 0x2002BBA4
- [9] unsigned char 0x00 '\x00' (Hex) 0x2002BBA5
- [10] unsigned char 0x00 '\x00' (Hex) 0x2002BBA6
- [11] unsigned char 0x00 '\x00' (Hex) 0x2002BBA7
- [12] unsigned char 0x00 '\x00' (Hex) 0x2002BBA8
- [13] unsigned char 0x00 '\x00' (Hex) 0x2002BBA9
- [14] unsigned char 0x00 '\x00' (Hex) 0x2002BBAA
- [15] unsigned char 0x00 '\x00' (Hex) 0x2002BBAB
- [16] unsigned char 0x00 '\x00' (Hex) 0x2002BBAC
- [17] unsigned char 0x00 '\x00' (Hex) 0x2002BBAD
- [18] unsigned char 0x00 '\x00' (Hex) 0x2002BBAE
- [19] unsigned char 0x00 '\x00' (Hex) 0x2002BBAF
- DyeHead_SN unsigned char[20] [0x31 '1',0x32 '2',0x33 '3',0x34 '4',0x35 '5'...] (Hex) 0x2002BBB0
- [0] unsigned char 0x31 '1' (Hex) 0x2002BBB0
- [1] unsigned char 0x32 '2' (Hex) 0x2002BBB1
- [2] unsigned char 0x33 '3' (Hex) 0x2002BBB2
- [3] unsigned char 0x34 '4' (Hex) 0x2002BBB3
- [4] unsigned char 0x35 '5' (Hex) 0x2002BBB4
- [5] unsigned char 0x36 '6' (Hex) 0x2002BBB5
- [6] unsigned char 0x37 '7' (Hex) 0x2002BBB6
- [7] unsigned char 0x38 '8' (Hex) 0x2002BBB7
- [8] unsigned char 0x39 '9' (Hex) 0x2002BBB8
- [9] unsigned char 0x30 '0' (Hex) 0x2002BBB9
- [10] unsigned char 0x31 '1' (Hex) 0x2002BBBA
- [11] unsigned char 0x32 '2' (Hex) 0x2002BBBB
- [12] unsigned char 0x33 '3' (Hex) 0x2002BBBC
- [13] unsigned char 0x34 '4' (Hex) 0x2002BBBD
- [14] unsigned char 0x35 '5' (Hex) 0x2002BBBE
- [15] unsigned char 0x00 '\x00' (Hex) 0x2002BBBF
- [16] unsigned char 0x00 '\x00' (Hex) 0x2002BBC0
- [17] unsigned char 0x00 '\x00' (Hex) 0x2002BBC1
- [18] unsigned char 0x00 '\x00' (Hex) 0x2002BBC2
- [19] unsigned char 0x00 '\x00' (Hex) 0x2002BBC3
- HeadType unsigned int 0x00000020 (Hex) 0x2002BBC4
- BlowerRunHours1 unsigned int 0x00000000 (Hex) 0x2002BBC8
- BlowerRunHours2 unsigned int 0x00000000 (Hex) 0x2002BBCC
- FanFilterMaxLifecycle unsigned int 0x0000FFFF (Hex) 0x2002BBD0
- FansFilterUsageHours unsigned int 0x00000000 (Hex) 0x2002BBD4
- FilterSpare1 unsigned int 0x00000000 (Hex) 0x2002BBD8
- FilterSpare2 unsigned int 0x00000000 (Hex) 0x2002BBDC
- BenchTestD unsigned int 0x00000000 (Hex) 0x2002BBE0
- Spare1 unsigned int 0x00000000 (Hex) 0x2002BBE4
- Spare2 unsigned int 0x00000000 (Hex) 0x2002BBE8
- ProductionTestDate unsigned char[8] [0x32 '2',0x31 '1',0x2F '/',0x31 '1',0x30 '0'...] (Hex) 0x2002BBEC
- [0] unsigned char 0x32 '2' (Hex) 0x2002BBEC
- [1] unsigned char 0x31 '1' (Hex) 0x2002BBED
- [2] unsigned char 0x2F '/' (Hex) 0x2002BBEE
- [3] unsigned char 0x31 '1' (Hex) 0x2002BBEF
- [4] unsigned char 0x30 '0' (Hex) 0x2002BBF0
- [5] unsigned char 0x2F '/' (Hex) 0x2002BBF1
- [6] unsigned char 0x32 '2' (Hex) 0x2002BBF2
- [7] unsigned char 0x30 '0' (Hex) 0x2002BBF3
- FuncTestStatus unsigned int 0x00000046 (Hex) 0x2002BBF4
- PresSensPCB_SN unsigned char[20] [0x30 '0',0x30 '0',0x30 '0',0x31 '1',0x00 '\x00'...] (Hex) 0x2002BBF8
- [0] unsigned char 0x30 '0' (Hex) 0x2002BBF8
- [1] unsigned char 0x30 '0' (Hex) 0x2002BBF9
- [2] unsigned char 0x30 '0' (Hex) 0x2002BBFA
- [3] unsigned char 0x31 '1' (Hex) 0x2002BBFB
- [4] unsigned char 0x00 '\x00' (Hex) 0x2002BBFC
- [5] unsigned char 0x00 '\x00' (Hex) 0x2002BBFD
- [6] unsigned char 0x00 '\x00' (Hex) 0x2002BBFE
- [7] unsigned char 0x00 '\x00' (Hex) 0x2002BBFF
- [8] unsigned char 0x00 '\x00' (Hex) 0x2002BC00
- [9] unsigned char 0x00 '\x00' (Hex) 0x2002BC01
- [10] unsigned char 0x00 '\x00' (Hex) 0x2002BC02
- [11] unsigned char 0x00 '\x00' (Hex) 0x2002BC03
- [12] unsigned char 0x00 '\x00' (Hex) 0x2002BC04
- [13] unsigned char 0x00 '\x00' (Hex) 0x2002BC05
- [14] unsigned char 0x00 '\x00' (Hex) 0x2002BC06
- [15] unsigned char 0x00 '\x00' (Hex) 0x2002BC07
- [16] unsigned char 0x00 '\x00' (Hex) 0x2002BC08
- [17] unsigned char 0x00 '\x00' (Hex) 0x2002BC09
- [18] unsigned char 0x00 '\x00' (Hex) 0x2002BC0A
- [19] unsigned char 0x00 '\x00' (Hex) 0x2002BC0B
- PresSensPCB_PN unsigned char[20] [0x41 'A',0x50 'P',0x30 '0',0x30 '0',0x32 '2'...] (Hex) 0x2002BC0C
- [0] unsigned char 0x41 'A' (Hex) 0x2002BC0C
- [1] unsigned char 0x50 'P' (Hex) 0x2002BC0D
- [2] unsigned char 0x30 '0' (Hex) 0x2002BC0E
- [3] unsigned char 0x30 '0' (Hex) 0x2002BC0F
- [4] unsigned char 0x32 '2' (Hex) 0x2002BC10
- [5] unsigned char 0x32 '2' (Hex) 0x2002BC11
- [6] unsigned char 0x33 '3' (Hex) 0x2002BC12
- [7] unsigned char 0x31 '1' (Hex) 0x2002BC13
- [8] unsigned char 0x00 '\x00' (Hex) 0x2002BC14
- [9] unsigned char 0x00 '\x00' (Hex) 0x2002BC15
- [10] unsigned char 0x00 '\x00' (Hex) 0x2002BC16
- [11] unsigned char 0x00 '\x00' (Hex) 0x2002BC17
- [12] unsigned char 0x00 '\x00' (Hex) 0x2002BC18
- [13] unsigned char 0x00 '\x00' (Hex) 0x2002BC19
- [14] unsigned char 0x00 '\x00' (Hex) 0x2002BC1A
- [15] unsigned char 0x00 '\x00' (Hex) 0x2002BC1B
- [16] unsigned char 0x00 '\x00' (Hex) 0x2002BC1C
- [17] unsigned char 0x00 '\x00' (Hex) 0x2002BC1D
- [18] unsigned char 0x00 '\x00' (Hex) 0x2002BC1E
- [19] unsigned char 0x00 '\x00' (Hex) 0x2002BC1F
- PressCalibDate1 unsigned char[8] [0xFF '\xff',0xFF '\xff',0xFF '\xff',0xFF '\xff',0xFF '\xff'...] (Hex) 0x2002BC20
- [0] unsigned char 0xFF '\xff' (Hex) 0x2002BC20
- [1] unsigned char 0xFF '\xff' (Hex) 0x2002BC21
- [2] unsigned char 0xFF '\xff' (Hex) 0x2002BC22
- [3] unsigned char 0xFF '\xff' (Hex) 0x2002BC23
- [4] unsigned char 0xFF '\xff' (Hex) 0x2002BC24
- [5] unsigned char 0xFF '\xff' (Hex) 0x2002BC25
- [6] unsigned char 0xFF '\xff' (Hex) 0x2002BC26
- [7] unsigned char 0xFF '\xff' (Hex) 0x2002BC27
- PressWithoutBlower_mV1 unsigned int 0x00000002 (Hex) 0x2002BC28
- PressWithMinBlower_mV1 unsigned int 0x00000003 (Hex) 0x2002BC2C
- PressMaxPress_mV1 unsigned int 0x00000F50 (Hex) 0x2002BC30
- PressCalibDate2 unsigned char[8] [0x32 '2',0x31 '1',0x2F '/',0x31 '1',0x30 '0'...] (Hex) 0x2002BC34
- [0] unsigned char 0x32 '2' (Hex) 0x2002BC34
- [1] unsigned char 0x31 '1' (Hex) 0x2002BC35
- [2] unsigned char 0x2F '/' (Hex) 0x2002BC36
- [3] unsigned char 0x31 '1' (Hex) 0x2002BC37
- [4] unsigned char 0x30 '0' (Hex) 0x2002BC38
- [5] unsigned char 0x2F '/' (Hex) 0x2002BC39
- [6] unsigned char 0x32 '2' (Hex) 0x2002BC3A
- [7] unsigned char 0x30 '0' (Hex) 0x2002BC3B
- PressWithoutBlower_mV2 unsigned int 0x00000000 (Hex) 0x2002BC3C
- PressWithMinBlower_mV2 unsigned int 0x00000005 (Hex) 0x2002BC40
- PressMaxPress_mV2 unsigned int 0x00000F50 (Hex) 0x2002BC44
- FansMinPWM unsigned int 0x00000000 (Hex) 0x2002BC48
- FansMinRPM unsigned int 0x00000CE4 (Hex) 0x2002BC4C
- FansMaxPWM unsigned int 0x00000064 (Hex) 0x2002BC50
- FansMaxRPM unsigned int 0x0000044C (Hex) 0x2002BC54
- FansNomPWM unsigned int 0x00000046 (Hex) 0x2002BC58
- FansNomRPM unsigned int 0x00001F40 (Hex) 0x2002BC5C
- FansLimitRPM unsigned int 0x00001388 (Hex) 0x2002BC60
- FansTachoPPR unsigned int 0x00000002 (Hex) 0x2002BC64
- FansSpare1 unsigned int 0x00000000 (Hex) 0x2002BC68
- FansSpare2 unsigned int 0x00000000 (Hex) 0x2002BC6C
- CheckSum unsigned int 0x00002257 (Hex) 0x2002BC70
- Buf unsigned char[268] [51 '3',204 '\xcc',170 '\xaa',85 'U',4 '\x04'...] 0x2002BB68
- [0 ... 99]
- [0] unsigned char 51 '3' 0x2002BB68
- [1] unsigned char 204 '\xcc' 0x2002BB69
- [2] unsigned char 170 '\xaa' 0x2002BB6A
- [3] unsigned char 85 'U' 0x2002BB6B
- [4] unsigned char 4 '\x04' 0x2002BB6C
- [5] unsigned char 1 '\x01' 0x2002BB6D
- [6] unsigned char 0 '\x00' 0x2002BB6E
- [7] unsigned char 0 '\x00' 0x2002BB6F
- [8] unsigned char 0 '\x00' 0x2002BB70
- [9] unsigned char 0 '\x00' 0x2002BB71
- [10] unsigned char 0 '\x00' 0x2002BB72
- [11] unsigned char 0 '\x00' 0x2002BB73
- [12] unsigned char 65 'A' 0x2002BB74
- [13] unsigned char 77 'M' 0x2002BB75
- [14] unsigned char 48 '0' 0x2002BB76
- [15] unsigned char 48 '0' 0x2002BB77
- [16] unsigned char 50 '2' 0x2002BB78
- [17] unsigned char 50 '2' 0x2002BB79
- [18] unsigned char 50 '2' 0x2002BB7A
- [19] unsigned char 51 '3' 0x2002BB7B
- [20] unsigned char 45 '-' 0x2002BB7C
- [21] unsigned char 48 '0' 0x2002BB7D
- [22] unsigned char 48 '0' 0x2002BB7E
- [23] unsigned char 0 '\x00' 0x2002BB7F
- [24] unsigned char 0 '\x00' 0x2002BB80
- [25] unsigned char 0 '\x00' 0x2002BB81
- [26] unsigned char 0 '\x00' 0x2002BB82
- [27] unsigned char 0 '\x00' 0x2002BB83
- [28] unsigned char 0 '\x00' 0x2002BB84
- [29] unsigned char 0 '\x00' 0x2002BB85
- [30] unsigned char 0 '\x00' 0x2002BB86
- [31] unsigned char 0 '\x00' 0x2002BB87
- [32] unsigned char 65 'A' 0x2002BB88
- [33] unsigned char 80 'P' 0x2002BB89
- [34] unsigned char 48 '0' 0x2002BB8A
- [35] unsigned char 48 '0' 0x2002BB8B
- [36] unsigned char 48 '0' 0x2002BB8C
- [37] unsigned char 57 '9' 0x2002BB8D
- [38] unsigned char 51 '3' 0x2002BB8E
- [39] unsigned char 49 '1' 0x2002BB8F
- [40] unsigned char 0 '\x00' 0x2002BB90
- [41] unsigned char 0 '\x00' 0x2002BB91
- [42] unsigned char 0 '\x00' 0x2002BB92
- [43] unsigned char 0 '\x00' 0x2002BB93
- [44] unsigned char 0 '\x00' 0x2002BB94
- [45] unsigned char 0 '\x00' 0x2002BB95
- [46] unsigned char 0 '\x00' 0x2002BB96
- [47] unsigned char 0 '\x00' 0x2002BB97
- [48] unsigned char 0 '\x00' 0x2002BB98
- [49] unsigned char 0 '\x00' 0x2002BB99
- [50] unsigned char 0 '\x00' 0x2002BB9A
- [51] unsigned char 0 '\x00' 0x2002BB9B
- [52] unsigned char 65 'A' 0x2002BB9C
- [53] unsigned char 80 'P' 0x2002BB9D
- [54] unsigned char 48 '0' 0x2002BB9E
- [55] unsigned char 48 '0' 0x2002BB9F
- [56] unsigned char 48 '0' 0x2002BBA0
- [57] unsigned char 57 '9' 0x2002BBA1
- [58] unsigned char 51 '3' 0x2002BBA2
- [59] unsigned char 49 '1' 0x2002BBA3
- [60] unsigned char 0 '\x00' 0x2002BBA4
- [61] unsigned char 0 '\x00' 0x2002BBA5
- [62] unsigned char 0 '\x00' 0x2002BBA6
- [63] unsigned char 0 '\x00' 0x2002BBA7
- [64] unsigned char 0 '\x00' 0x2002BBA8
- [65] unsigned char 0 '\x00' 0x2002BBA9
- [66] unsigned char 0 '\x00' 0x2002BBAA
- [67] unsigned char 0 '\x00' 0x2002BBAB
- [68] unsigned char 0 '\x00' 0x2002BBAC
- [69] unsigned char 0 '\x00' 0x2002BBAD
- [70] unsigned char 0 '\x00' 0x2002BBAE
- [71] unsigned char 0 '\x00' 0x2002BBAF
- [72] unsigned char 49 '1' 0x2002BBB0
- [73] unsigned char 50 '2' 0x2002BBB1
- [74] unsigned char 51 '3' 0x2002BBB2
- [75] unsigned char 52 '4' 0x2002BBB3
- [76] unsigned char 53 '5' 0x2002BBB4
- [77] unsigned char 54 '6' 0x2002BBB5
- [78] unsigned char 55 '7' 0x2002BBB6
- [79] unsigned char 56 '8' 0x2002BBB7
- [80] unsigned char 57 '9' 0x2002BBB8
- [81] unsigned char 48 '0' 0x2002BBB9
- [82] unsigned char 49 '1' 0x2002BBBA
- [83] unsigned char 50 '2' 0x2002BBBB
- [84] unsigned char 51 '3' 0x2002BBBC
- [85] unsigned char 52 '4' 0x2002BBBD
- [86] unsigned char 53 '5' 0x2002BBBE
- [87] unsigned char 0 '\x00' 0x2002BBBF
- [88] unsigned char 0 '\x00' 0x2002BBC0
- [89] unsigned char 0 '\x00' 0x2002BBC1
- [90] unsigned char 0 '\x00' 0x2002BBC2
- [91] unsigned char 0 '\x00' 0x2002BBC3
- [92] unsigned char 32 ' ' 0x2002BBC4
- [93] unsigned char 0 '\x00' 0x2002BBC5
- [94] unsigned char 0 '\x00' 0x2002BBC6
- [95] unsigned char 0 '\x00' 0x2002BBC7
- [96] unsigned char 0 '\x00' 0x2002BBC8
- [97] unsigned char 0 '\x00' 0x2002BBC9
- [98] unsigned char 0 '\x00' 0x2002BBCA
- [99] unsigned char 0 '\x00' 0x2002BBCB
- [100 ... 199]
- [100] unsigned char 0 '\x00' 0x2002BBCC
- [101] unsigned char 0 '\x00' 0x2002BBCD
- [102] unsigned char 0 '\x00' 0x2002BBCE
- [103] unsigned char 0 '\x00' 0x2002BBCF
- [104] unsigned char 255 '\xff' 0x2002BBD0
- [105] unsigned char 255 '\xff' 0x2002BBD1
- [106] unsigned char 0 '\x00' 0x2002BBD2
- [107] unsigned char 0 '\x00' 0x2002BBD3
- [108] unsigned char 0 '\x00' 0x2002BBD4
- [109] unsigned char 0 '\x00' 0x2002BBD5
- [110] unsigned char 0 '\x00' 0x2002BBD6
- [111] unsigned char 0 '\x00' 0x2002BBD7
- [112] unsigned char 0 '\x00' 0x2002BBD8
- [113] unsigned char 0 '\x00' 0x2002BBD9
- [114] unsigned char 0 '\x00' 0x2002BBDA
- [115] unsigned char 0 '\x00' 0x2002BBDB
- [116] unsigned char 0 '\x00' 0x2002BBDC
- [117] unsigned char 0 '\x00' 0x2002BBDD
- [118] unsigned char 0 '\x00' 0x2002BBDE
- [119] unsigned char 0 '\x00' 0x2002BBDF
- [120] unsigned char 0 '\x00' 0x2002BBE0
- [121] unsigned char 0 '\x00' 0x2002BBE1
- [122] unsigned char 0 '\x00' 0x2002BBE2
- [123] unsigned char 0 '\x00' 0x2002BBE3
- [124] unsigned char 0 '\x00' 0x2002BBE4
- [125] unsigned char 0 '\x00' 0x2002BBE5
- [126] unsigned char 0 '\x00' 0x2002BBE6
- [127] unsigned char 0 '\x00' 0x2002BBE7
- [128] unsigned char 0 '\x00' 0x2002BBE8
- [129] unsigned char 0 '\x00' 0x2002BBE9
- [130] unsigned char 0 '\x00' 0x2002BBEA
- [131] unsigned char 0 '\x00' 0x2002BBEB
- [132] unsigned char 50 '2' 0x2002BBEC
- [133] unsigned char 49 '1' 0x2002BBED
- [134] unsigned char 47 '/' 0x2002BBEE
- [135] unsigned char 49 '1' 0x2002BBEF
- [136] unsigned char 48 '0' 0x2002BBF0
- [137] unsigned char 47 '/' 0x2002BBF1
- [138] unsigned char 50 '2' 0x2002BBF2
- [139] unsigned char 48 '0' 0x2002BBF3
- [140] unsigned char 70 'F' 0x2002BBF4
- [141] unsigned char 0 '\x00' 0x2002BBF5
- [142] unsigned char 0 '\x00' 0x2002BBF6
- [143] unsigned char 0 '\x00' 0x2002BBF7
- [144] unsigned char 48 '0' 0x2002BBF8
- [145] unsigned char 48 '0' 0x2002BBF9
- [146] unsigned char 48 '0' 0x2002BBFA
- [147] unsigned char 49 '1' 0x2002BBFB
- [148] unsigned char 0 '\x00' 0x2002BBFC
- [149] unsigned char 0 '\x00' 0x2002BBFD
- [150] unsigned char 0 '\x00' 0x2002BBFE
- [151] unsigned char 0 '\x00' 0x2002BBFF
- [152] unsigned char 0 '\x00' 0x2002BC00
- [153] unsigned char 0 '\x00' 0x2002BC01
- [154] unsigned char 0 '\x00' 0x2002BC02
- [155] unsigned char 0 '\x00' 0x2002BC03
- [156] unsigned char 0 '\x00' 0x2002BC04
- [157] unsigned char 0 '\x00' 0x2002BC05
- [158] unsigned char 0 '\x00' 0x2002BC06
- [159] unsigned char 0 '\x00' 0x2002BC07
- [160] unsigned char 0 '\x00' 0x2002BC08
- [161] unsigned char 0 '\x00' 0x2002BC09
- [162] unsigned char 0 '\x00' 0x2002BC0A
- [163] unsigned char 0 '\x00' 0x2002BC0B
- [164] unsigned char 65 'A' 0x2002BC0C
- [165] unsigned char 80 'P' 0x2002BC0D
- [166] unsigned char 48 '0' 0x2002BC0E
- [167] unsigned char 48 '0' 0x2002BC0F
- [168] unsigned char 50 '2' 0x2002BC10
- [169] unsigned char 50 '2' 0x2002BC11
- [170] unsigned char 51 '3' 0x2002BC12
- [171] unsigned char 49 '1' 0x2002BC13
- [172] unsigned char 0 '\x00' 0x2002BC14
- [173] unsigned char 0 '\x00' 0x2002BC15
- [174] unsigned char 0 '\x00' 0x2002BC16
- [175] unsigned char 0 '\x00' 0x2002BC17
- [176] unsigned char 0 '\x00' 0x2002BC18
- [177] unsigned char 0 '\x00' 0x2002BC19
- [178] unsigned char 0 '\x00' 0x2002BC1A
- [179] unsigned char 0 '\x00' 0x2002BC1B
- [180] unsigned char 0 '\x00' 0x2002BC1C
- [181] unsigned char 0 '\x00' 0x2002BC1D
- [182] unsigned char 0 '\x00' 0x2002BC1E
- [183] unsigned char 0 '\x00' 0x2002BC1F
- [184] unsigned char 255 '\xff' 0x2002BC20
- [185] unsigned char 255 '\xff' 0x2002BC21
- [186] unsigned char 255 '\xff' 0x2002BC22
- [187] unsigned char 255 '\xff' 0x2002BC23
- [188] unsigned char 255 '\xff' 0x2002BC24
- [189] unsigned char 255 '\xff' 0x2002BC25
- [190] unsigned char 255 '\xff' 0x2002BC26
- [191] unsigned char 255 '\xff' 0x2002BC27
- [192] unsigned char 2 '\x02' 0x2002BC28
- [193] unsigned char 0 '\x00' 0x2002BC29
- [194] unsigned char 0 '\x00' 0x2002BC2A
- [195] unsigned char 0 '\x00' 0x2002BC2B
- [196] unsigned char 3 '\x03' 0x2002BC2C
- [197] unsigned char 0 '\x00' 0x2002BC2D
- [198] unsigned char 0 '\x00' 0x2002BC2E
- [199] unsigned char 0 '\x00' 0x2002BC2F
- [200 ... 267]
- [200] unsigned char 80 'P' 0x2002BC30
- [201] unsigned char 15 '\x0f' 0x2002BC31
- [202] unsigned char 0 '\x00' 0x2002BC32
- [203] unsigned char 0 '\x00' 0x2002BC33
- [204] unsigned char 50 '2' 0x2002BC34
- [205] unsigned char 49 '1' 0x2002BC35
- [206] unsigned char 47 '/' 0x2002BC36
- [207] unsigned char 49 '1' 0x2002BC37
- [208] unsigned char 48 '0' 0x2002BC38
- [209] unsigned char 47 '/' 0x2002BC39
- [210] unsigned char 50 '2' 0x2002BC3A
- [211] unsigned char 48 '0' 0x2002BC3B
- [212] unsigned char 0 '\x00' 0x2002BC3C
- [213] unsigned char 0 '\x00' 0x2002BC3D
- [214] unsigned char 0 '\x00' 0x2002BC3E
- [215] unsigned char 0 '\x00' 0x2002BC3F
- [216] unsigned char 5 '\x05' 0x2002BC40
- [217] unsigned char 0 '\x00' 0x2002BC41
- [218] unsigned char 0 '\x00' 0x2002BC42
- [219] unsigned char 0 '\x00' 0x2002BC43
- [220] unsigned char 80 'P' 0x2002BC44
- [221] unsigned char 15 '\x0f' 0x2002BC45
- [222] unsigned char 0 '\x00' 0x2002BC46
- [223] unsigned char 0 '\x00' 0x2002BC47
- [224] unsigned char 0 '\x00' 0x2002BC48
- [225] unsigned char 0 '\x00' 0x2002BC49
- [226] unsigned char 0 '\x00' 0x2002BC4A
- [227] unsigned char 0 '\x00' 0x2002BC4B
- [228] unsigned char 228 '\xe4' 0x2002BC4C
- [229] unsigned char 12 '\x0c' 0x2002BC4D
- [230] unsigned char 0 '\x00' 0x2002BC4E
- [231] unsigned char 0 '\x00' 0x2002BC4F
- [232] unsigned char 100 'd' 0x2002BC50
- [233] unsigned char 0 '\x00' 0x2002BC51
- [234] unsigned char 0 '\x00' 0x2002BC52
- [235] unsigned char 0 '\x00' 0x2002BC53
- [236] unsigned char 76 'L' 0x2002BC54
- [237] unsigned char 4 '\x04' 0x2002BC55
- [238] unsigned char 0 '\x00' 0x2002BC56
- [239] unsigned char 0 '\x00' 0x2002BC57
- [240] unsigned char 70 'F' 0x2002BC58
- [241] unsigned char 0 '\x00' 0x2002BC59
- [242] unsigned char 0 '\x00' 0x2002BC5A
- [243] unsigned char 0 '\x00' 0x2002BC5B
- [244] unsigned char 64 '@' 0x2002BC5C
- [245] unsigned char 31 '\x1f' 0x2002BC5D
- [246] unsigned char 0 '\x00' 0x2002BC5E
- [247] unsigned char 0 '\x00' 0x2002BC5F
- [248] unsigned char 136 '\x88' 0x2002BC60
- [249] unsigned char 19 '\x13' 0x2002BC61
- [250] unsigned char 0 '\x00' 0x2002BC62
- [251] unsigned char 0 '\x00' 0x2002BC63
- [252] unsigned char 2 '\x02' 0x2002BC64
- [253] unsigned char 0 '\x00' 0x2002BC65
- [254] unsigned char 0 '\x00' 0x2002BC66
- [255] unsigned char 0 '\x00' 0x2002BC67
- [256] unsigned char 0 '\x00' 0x2002BC68
- [257] unsigned char 0 '\x00' 0x2002BC69
- [258] unsigned char 0 '\x00' 0x2002BC6A
- [259] unsigned char 0 '\x00' 0x2002BC6B
- [260] unsigned char 0 '\x00' 0x2002BC6C
- [261] unsigned char 0 '\x00' 0x2002BC6D
- [262] unsigned char 0 '\x00' 0x2002BC6E
- [263] unsigned char 0 '\x00' 0x2002BC6F
- [264] unsigned char 87 'W' 0x2002BC70
- [265] unsigned char 34 '"' 0x2002BC71
- [266] unsigned char 0 '\x00' 0x2002BC72
- [267] unsigned char 0 '\x00' 0x2002BC73
diff --git a/Software/Stubs Collection/stubs/Scripts/eepromati3.c b/Software/Stubs Collection/stubs/Scripts/eepromati3.c
deleted file mode 100644
index dfba43764..000000000
--- a/Software/Stubs Collection/stubs/Scripts/eepromati3.c
+++ /dev/null
@@ -1,272 +0,0 @@
-Buf unsigned char[268] [51 '3',204 '\xcc',170 '\xaa',85 'U',4 '\x04'...] 0x2002BB68
- [0 ... 99]
- [0] unsigned char 51 '3' 0x2002BB68
- [1] unsigned char 204 '\xcc' 0x2002BB69
- [2] unsigned char 170 '\xaa' 0x2002BB6A
- [3] unsigned char 85 'U' 0x2002BB6B
- [4] unsigned char 4 '\x04' 0x2002BB6C
- [5] unsigned char 1 '\x01' 0x2002BB6D
- [6] unsigned char 0 '\x00' 0x2002BB6E
- [7] unsigned char 0 '\x00' 0x2002BB6F
- [8] unsigned char 0 '\x00' 0x2002BB70
- [9] unsigned char 0 '\x00' 0x2002BB71
- [10] unsigned char 0 '\x00' 0x2002BB72
- [11] unsigned char 0 '\x00' 0x2002BB73
- [12] unsigned char 65 'A' 0x2002BB74
- [13] unsigned char 77 'M' 0x2002BB75
- [14] unsigned char 48 '0' 0x2002BB76
- [15] unsigned char 48 '0' 0x2002BB77
- [16] unsigned char 50 '2' 0x2002BB78
- [17] unsigned char 50 '2' 0x2002BB79
- [18] unsigned char 50 '2' 0x2002BB7A
- [19] unsigned char 51 '3' 0x2002BB7B
- [20] unsigned char 45 '-' 0x2002BB7C
- [21] unsigned char 49 '1' 0x2002BB7D
- [22] unsigned char 0 '\x00' 0x2002BB7E
- [23] unsigned char 0 '\x00' 0x2002BB7F
- [24] unsigned char 0 '\x00' 0x2002BB80
- [25] unsigned char 0 '\x00' 0x2002BB81
- [26] unsigned char 0 '\x00' 0x2002BB82
- [27] unsigned char 0 '\x00' 0x2002BB83
- [28] unsigned char 0 '\x00' 0x2002BB84
- [29] unsigned char 0 '\x00' 0x2002BB85
- [30] unsigned char 0 '\x00' 0x2002BB86
- [31] unsigned char 0 '\x00' 0x2002BB87
- [32] unsigned char 65 'A' 0x2002BB88
- [33] unsigned char 80 'P' 0x2002BB89
- [34] unsigned char 48 '0' 0x2002BB8A
- [35] unsigned char 48 '0' 0x2002BB8B
- [36] unsigned char 48 '0' 0x2002BB8C
- [37] unsigned char 57 '9' 0x2002BB8D
- [38] unsigned char 51 '3' 0x2002BB8E
- [39] unsigned char 49 '1' 0x2002BB8F
- [40] unsigned char 0 '\x00' 0x2002BB90
- [41] unsigned char 0 '\x00' 0x2002BB91
- [42] unsigned char 0 '\x00' 0x2002BB92
- [43] unsigned char 0 '\x00' 0x2002BB93
- [44] unsigned char 0 '\x00' 0x2002BB94
- [45] unsigned char 0 '\x00' 0x2002BB95
- [46] unsigned char 0 '\x00' 0x2002BB96
- [47] unsigned char 0 '\x00' 0x2002BB97
- [48] unsigned char 0 '\x00' 0x2002BB98
- [49] unsigned char 0 '\x00' 0x2002BB99
- [50] unsigned char 0 '\x00' 0x2002BB9A
- [51] unsigned char 0 '\x00' 0x2002BB9B
- [52] unsigned char 65 'A' 0x2002BB9C
- [53] unsigned char 80 'P' 0x2002BB9D
- [54] unsigned char 48 '0' 0x2002BB9E
- [55] unsigned char 48 '0' 0x2002BB9F
- [56] unsigned char 48 '0' 0x2002BBA0
- [57] unsigned char 57 '9' 0x2002BBA1
- [58] unsigned char 51 '3' 0x2002BBA2
- [59] unsigned char 49 '1' 0x2002BBA3
- [60] unsigned char 0 '\x00' 0x2002BBA4
- [61] unsigned char 0 '\x00' 0x2002BBA5
- [62] unsigned char 0 '\x00' 0x2002BBA6
- [63] unsigned char 0 '\x00' 0x2002BBA7
- [64] unsigned char 0 '\x00' 0x2002BBA8
- [65] unsigned char 0 '\x00' 0x2002BBA9
- [66] unsigned char 0 '\x00' 0x2002BBAA
- [67] unsigned char 0 '\x00' 0x2002BBAB
- [68] unsigned char 0 '\x00' 0x2002BBAC
- [69] unsigned char 0 '\x00' 0x2002BBAD
- [70] unsigned char 0 '\x00' 0x2002BBAE
- [71] unsigned char 0 '\x00' 0x2002BBAF
- [72] unsigned char 49 '1' 0x2002BBB0
- [73] unsigned char 50 '2' 0x2002BBB1
- [74] unsigned char 51 '3' 0x2002BBB2
- [75] unsigned char 52 '4' 0x2002BBB3
- [76] unsigned char 53 '5' 0x2002BBB4
- [77] unsigned char 54 '6' 0x2002BBB5
- [78] unsigned char 55 '7' 0x2002BBB6
- [79] unsigned char 56 '8' 0x2002BBB7
- [80] unsigned char 57 '9' 0x2002BBB8
- [81] unsigned char 48 '0' 0x2002BBB9
- [82] unsigned char 49 '1' 0x2002BBBA
- [83] unsigned char 50 '2' 0x2002BBBB
- [84] unsigned char 51 '3' 0x2002BBBC
- [85] unsigned char 52 '4' 0x2002BBBD
- [86] unsigned char 53 '5' 0x2002BBBE
- [87] unsigned char 0 '\x00' 0x2002BBBF
- [88] unsigned char 0 '\x00' 0x2002BBC0
- [89] unsigned char 0 '\x00' 0x2002BBC1
- [90] unsigned char 0 '\x00' 0x2002BBC2
- [91] unsigned char 0 '\x00' 0x2002BBC3
- [92] unsigned char 32 ' ' 0x2002BBC4
- [93] unsigned char 0 '\x00' 0x2002BBC5
- [94] unsigned char 0 '\x00' 0x2002BBC6
- [95] unsigned char 0 '\x00' 0x2002BBC7
- [96] unsigned char 0 '\x00' 0x2002BBC8
- [97] unsigned char 0 '\x00' 0x2002BBC9
- [98] unsigned char 0 '\x00' 0x2002BBCA
- [99] unsigned char 0 '\x00' 0x2002BBCB
- [100 ... 199]
- [100] unsigned char 0 '\x00' 0x2002BBCC
- [101] unsigned char 0 '\x00' 0x2002BBCD
- [102] unsigned char 0 '\x00' 0x2002BBCE
- [103] unsigned char 0 '\x00' 0x2002BBCF
- [104] unsigned char 255 '\xff' 0x2002BBD0
- [105] unsigned char 255 '\xff' 0x2002BBD1
- [106] unsigned char 0 '\x00' 0x2002BBD2
- [107] unsigned char 0 '\x00' 0x2002BBD3
- [108] unsigned char 0 '\x00' 0x2002BBD4
- [109] unsigned char 0 '\x00' 0x2002BBD5
- [110] unsigned char 0 '\x00' 0x2002BBD6
- [111] unsigned char 0 '\x00' 0x2002BBD7
- [112] unsigned char 0 '\x00' 0x2002BBD8
- [113] unsigned char 0 '\x00' 0x2002BBD9
- [114] unsigned char 0 '\x00' 0x2002BBDA
- [115] unsigned char 0 '\x00' 0x2002BBDB
- [116] unsigned char 0 '\x00' 0x2002BBDC
- [117] unsigned char 0 '\x00' 0x2002BBDD
- [118] unsigned char 0 '\x00' 0x2002BBDE
- [119] unsigned char 0 '\x00' 0x2002BBDF
- [120] unsigned char 0 '\x00' 0x2002BBE0
- [121] unsigned char 0 '\x00' 0x2002BBE1
- [122] unsigned char 0 '\x00' 0x2002BBE2
- [123] unsigned char 0 '\x00' 0x2002BBE3
- [124] unsigned char 0 '\x00' 0x2002BBE4
- [125] unsigned char 0 '\x00' 0x2002BBE5
- [126] unsigned char 0 '\x00' 0x2002BBE6
- [127] unsigned char 0 '\x00' 0x2002BBE7
- [128] unsigned char 0 '\x00' 0x2002BBE8
- [129] unsigned char 0 '\x00' 0x2002BBE9
- [130] unsigned char 0 '\x00' 0x2002BBEA
- [131] unsigned char 0 '\x00' 0x2002BBEB
- [132] unsigned char 50 '2' 0x2002BBEC
- [133] unsigned char 49 '1' 0x2002BBED
- [134] unsigned char 47 '/' 0x2002BBEE
- [135] unsigned char 49 '1' 0x2002BBEF
- [136] unsigned char 48 '0' 0x2002BBF0
- [137] unsigned char 47 '/' 0x2002BBF1
- [138] unsigned char 50 '2' 0x2002BBF2
- [139] unsigned char 48 '0' 0x2002BBF3
- [140] unsigned char 70 'F' 0x2002BBF4
- [141] unsigned char 0 '\x00' 0x2002BBF5
- [142] unsigned char 0 '\x00' 0x2002BBF6
- [143] unsigned char 0 '\x00' 0x2002BBF7
- [144] unsigned char 0 '\x00' 0x2002BBF8
- [145] unsigned char 0 '\x00' 0x2002BBF9
- [146] unsigned char 0 '\x00' 0x2002BBFA
- [147] unsigned char 0 '\x00' 0x2002BBFB
- [148] unsigned char 0 '\x00' 0x2002BBFC
- [149] unsigned char 0 '\x00' 0x2002BBFD
- [150] unsigned char 0 '\x00' 0x2002BBFE
- [151] unsigned char 0 '\x00' 0x2002BBFF
- [152] unsigned char 0 '\x00' 0x2002BC00
- [153] unsigned char 0 '\x00' 0x2002BC01
- [154] unsigned char 0 '\x00' 0x2002BC02
- [155] unsigned char 0 '\x00' 0x2002BC03
- [156] unsigned char 0 '\x00' 0x2002BC04
- [157] unsigned char 0 '\x00' 0x2002BC05
- [158] unsigned char 0 '\x00' 0x2002BC06
- [159] unsigned char 0 '\x00' 0x2002BC07
- [160] unsigned char 0 '\x00' 0x2002BC08
- [161] unsigned char 0 '\x00' 0x2002BC09
- [162] unsigned char 0 '\x00' 0x2002BC0A
- [163] unsigned char 0 '\x00' 0x2002BC0B
- [164] unsigned char 65 'A' 0x2002BC0C
- [165] unsigned char 80 'P' 0x2002BC0D
- [166] unsigned char 48 '0' 0x2002BC0E
- [167] unsigned char 48 '0' 0x2002BC0F
- [168] unsigned char 50 '2' 0x2002BC10
- [169] unsigned char 50 '2' 0x2002BC11
- [170] unsigned char 51 '3' 0x2002BC12
- [171] unsigned char 49 '1' 0x2002BC13
- [172] unsigned char 0 '\x00' 0x2002BC14
- [173] unsigned char 0 '\x00' 0x2002BC15
- [174] unsigned char 0 '\x00' 0x2002BC16
- [175] unsigned char 0 '\x00' 0x2002BC17
- [176] unsigned char 0 '\x00' 0x2002BC18
- [177] unsigned char 0 '\x00' 0x2002BC19
- [178] unsigned char 0 '\x00' 0x2002BC1A
- [179] unsigned char 0 '\x00' 0x2002BC1B
- [180] unsigned char 0 '\x00' 0x2002BC1C
- [181] unsigned char 0 '\x00' 0x2002BC1D
- [182] unsigned char 0 '\x00' 0x2002BC1E
- [183] unsigned char 0 '\x00' 0x2002BC1F
- [184] unsigned char 50 '2' 0x2002BC20
- [185] unsigned char 49 '1' 0x2002BC21
- [186] unsigned char 47 '/' 0x2002BC22
- [187] unsigned char 49 '1' 0x2002BC23
- [188] unsigned char 48 '0' 0x2002BC24
- [189] unsigned char 47 '/' 0x2002BC25
- [190] unsigned char 50 '2' 0x2002BC26
- [191] unsigned char 48 '0' 0x2002BC27
- [192] unsigned char 2 '\x02' 0x2002BC28
- [193] unsigned char 0 '\x00' 0x2002BC29
- [194] unsigned char 0 '\x00' 0x2002BC2A
- [195] unsigned char 0 '\x00' 0x2002BC2B
- [196] unsigned char 3 '\x03' 0x2002BC2C
- [197] unsigned char 0 '\x00' 0x2002BC2D
- [198] unsigned char 0 '\x00' 0x2002BC2E
- [199] unsigned char 0 '\x00' 0x2002BC2F
- [200 ... 267]
- [200] unsigned char 80 'P' 0x2002BC30
- [201] unsigned char 15 '\x0f' 0x2002BC31
- [202] unsigned char 0 '\x00' 0x2002BC32
- [203] unsigned char 0 '\x00' 0x2002BC33
- [204] unsigned char 50 '2' 0x2002BC34
- [205] unsigned char 49 '1' 0x2002BC35
- [206] unsigned char 47 '/' 0x2002BC36
- [207] unsigned char 49 '1' 0x2002BC37
- [208] unsigned char 48 '0' 0x2002BC38
- [209] unsigned char 47 '/' 0x2002BC39
- [210] unsigned char 50 '2' 0x2002BC3A
- [211] unsigned char 48 '0' 0x2002BC3B
- [212] unsigned char 4 '\x04' 0x2002BC3C
- [213] unsigned char 0 '\x00' 0x2002BC3D
- [214] unsigned char 0 '\x00' 0x2002BC3E
- [215] unsigned char 0 '\x00' 0x2002BC3F
- [216] unsigned char 5 '\x05' 0x2002BC40
- [217] unsigned char 0 '\x00' 0x2002BC41
- [218] unsigned char 0 '\x00' 0x2002BC42
- [219] unsigned char 0 '\x00' 0x2002BC43
- [220] unsigned char 80 'P' 0x2002BC44
- [221] unsigned char 15 '\x0f' 0x2002BC45
- [222] unsigned char 0 '\x00' 0x2002BC46
- [223] unsigned char 0 '\x00' 0x2002BC47
- [224] unsigned char 0 '\x00' 0x2002BC48
- [225] unsigned char 0 '\x00' 0x2002BC49
- [226] unsigned char 0 '\x00' 0x2002BC4A
- [227] unsigned char 0 '\x00' 0x2002BC4B
- [228] unsigned char 228 '\xe4' 0x2002BC4C
- [229] unsigned char 12 '\x0c' 0x2002BC4D
- [230] unsigned char 0 '\x00' 0x2002BC4E
- [231] unsigned char 0 '\x00' 0x2002BC4F
- [232] unsigned char 100 'd' 0x2002BC50
- [233] unsigned char 0 '\x00' 0x2002BC51
- [234] unsigned char 0 '\x00' 0x2002BC52
- [235] unsigned char 0 '\x00' 0x2002BC53
- [236] unsigned char 76 'L' 0x2002BC54
- [237] unsigned char 4 '\x04' 0x2002BC55
- [238] unsigned char 0 '\x00' 0x2002BC56
- [239] unsigned char 0 '\x00' 0x2002BC57
- [240] unsigned char 70 'F' 0x2002BC58
- [241] unsigned char 0 '\x00' 0x2002BC59
- [242] unsigned char 0 '\x00' 0x2002BC5A
- [243] unsigned char 0 '\x00' 0x2002BC5B
- [244] unsigned char 64 '@' 0x2002BC5C
- [245] unsigned char 31 '\x1f' 0x2002BC5D
- [246] unsigned char 0 '\x00' 0x2002BC5E
- [247] unsigned char 0 '\x00' 0x2002BC5F
- [248] unsigned char 136 '\x88' 0x2002BC60
- [249] unsigned char 19 '\x13' 0x2002BC61
- [250] unsigned char 0 '\x00' 0x2002BC62
- [251] unsigned char 0 '\x00' 0x2002BC63
- [252] unsigned char 2 '\x02' 0x2002BC64
- [253] unsigned char 0 '\x00' 0x2002BC65
- [254] unsigned char 0 '\x00' 0x2002BC66
- [255] unsigned char 0 '\x00' 0x2002BC67
- [256] unsigned char 0 '\x00' 0x2002BC68
- [257] unsigned char 0 '\x00' 0x2002BC69
- [258] unsigned char 0 '\x00' 0x2002BC6A
- [259] unsigned char 0 '\x00' 0x2002BC6B
- [260] unsigned char 0 '\x00' 0x2002BC6C
- [261] unsigned char 0 '\x00' 0x2002BC6D
- [262] unsigned char 0 '\x00' 0x2002BC6E
- [263] unsigned char 0 '\x00' 0x2002BC6F
- [264] unsigned char 247 '\xf7' 0x2002BC70
- [265] unsigned char 26 '\x1a' 0x2002BC71
- [266] unsigned char 0 '\x00' 0x2002BC72
- [267] unsigned char 0 '\x00' 0x2002BC73
diff --git a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs b/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs
deleted file mode 100644
index 16a8324ba..000000000
--- a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild_w_cleaning.cs
+++ /dev/null
@@ -1,215 +0,0 @@
-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)
-{
-// parameters version for TESTING 1.5.0.2
-
-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 = 20;
-configurationParameters.OpenValveTimeout = 20;
-
-//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-configurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure
-configurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps
-configurationParameters.InitialDispenserTimeLag = 100;
-
-//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed
-configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000
-configurationParameters.DispenserBuildPressureLimit = 0.85;
-configurationParameters.DispenserBuildPressureTimeout = 420000; // 7 minutes - long prepare for 5 cycles build
-configurationParameters.DispenserBuildPressureLag = 100;
-
-//temperature band 1000 = 100% - thresholds for job start around target temprature - AC
-configurationParameters.ACHeatersLowerOperationLimit = 995;
-configurationParameters.ACHeatersUpperOperationLimit = 1005;
-
-//temperature band 1000 = 100% - thresholds for job start around target temprature - DC
-configurationParameters.DCHeatersLowerOperationLimit = 978;
-configurationParameters.DCHeatersUpperOperationLimit = 1005;
-
-// mid tank reading offset to add to the readout (OBSOLETE!)
-configurationParameters.MidTankPressureCorrection = 0.0;
-
-//waste factor for intersegment pressure building
-configurationParameters.DispenserPresegmentWFCF = 40;
-//how much time to start the WFCF process (pressure buildup) before segment start
-configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 12000;
-
-//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
-
-int Tup = 10,Tdelay1 = 98,Tdelay2 = 198; //350nsec up, 1 second delay, 2 seconds before up again
-// Tup = LeftRockerSpeed/100;
-// Tdelay1 = LeftRockerSpeed%100;
-// Tdelay2 = RightRockerSpeed;
-int LeftRockerSpeed = Tup*100+Tdelay1;
-int RightRockerSpeed = Tdelay2;
-
-configurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed;
-configurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed;
-
-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);
-
-double PowerOffDisableCleaning = new Double();
-PowerOffDisableCleaning = 0.0;
-configurationParameters.GeneralParameters.Add(PowerOffDisableCleaning);
-
-double SublimationBlowTime = new Double();
-SublimationBlowTime = 30.0;
-configurationParameters.GeneralParameters.Add(SublimationBlowTime);
-
-double AllowedRangeForHeadBlowerDeviation = new Double();
-AllowedRangeForHeadBlowerDeviation = 7;
-configurationParameters.GeneralParameters.Add(AllowedRangeForHeadBlowerDeviation);
-
-double AllowedRangeForWasteBlowerDeviation = new Double();
-AllowedRangeForWasteBlowerDeviation = 20;
-configurationParameters.GeneralParameters.Add(AllowedRangeForWasteBlowerDeviation);
-
-double Voltage_Hysteresis = new Double();
-Voltage_Hysteresis = 4;
-configurationParameters.GeneralParameters.Add(Voltage_Hysteresis);
-
-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);
-
-}
-
-// activating the new file
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xCD;
-progressRequest.Delay = 0xCD;
-var response1 = stubManager.Run<ProgressResponse>(progressRequest);
-
-
-/*
-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/Scripts/load parameters from machine.cs b/Software/Stubs Collection/stubs/Scripts/load parameters from machine.cs
deleted file mode 100644
index 62ceff195..000000000
--- a/Software/Stubs Collection/stubs/Scripts/load parameters from machine.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-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();
-
- Thread.Sleep(1000);
-
-stubManager.Write("\n\n Loading file from machine");
-
-FileDownloadRequest fileDownloadRequest = new FileDownloadRequest();
-fileDownloadRequest.FileName = "SYSINFO//EmbParam.cfg";
-FileDownloadResponse response2 = stubManager.Run<FileDownloadResponse>(fileDownloadRequest);
- Thread.Sleep(1000);
-long chunk_size = response2.MaxChunkLength;
-string Download_Id = response2.DownloadID;
-//FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
-
-stubManager.Write("Position "+ response2.DownloadID+ " Length "+ response2.MaxChunkLength +"\n\n");
-FileChunkDownloadRequest fileChunkDownloadRequest = new FileChunkDownloadRequest();
-fileChunkDownloadRequest.DownloadID = response2.DownloadID;
-var response3 = stubManager.Run<FileChunkDownloadResponse>(fileChunkDownloadRequest);
-Thread.Sleep(2000);
-//byte[] chunk = new byte[500];//Math.Min(chunk_size,fs.Length - fs.Position)
-//chunk.Copy(response3.Buffer);
-//fs.Write(fs,chunk,chunk.Length);
- //fileChunkDownloadRequest.Buffer = ByteString.CopyFrom(chunk);
-//fs.Close(fs);
-
-//byte[] fileBytes = File.ReadAllBytes(fs);
-
-
-var config = ConfigurationParameters.Parser.ParseFrom(response3.Buffer);
-
- stubManager.Write( config);
-
-/*
-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/Scripts/magnet_new_head.cs b/Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs
deleted file mode 100644
index bf48de49e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/magnet_new_head.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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)
-{
- for (int i = 0; i < 1000; i++)
- {
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x42F701); // turn magnet on //slave add 0x42, F for write, set bit 7
- Thread.Sleep(100);
-
-
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/motormov.cs b/Software/Stubs Collection/stubs/Scripts/motormov.cs
deleted file mode 100644
index 94862a76a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/motormov.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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)
-{
-
-
-StubMotorMovRequest stubMotorMovRequest = new StubMotorMovRequest();
-stubMotorMovRequest.MotorID = 21;
-stubMotorMovRequest.Direction = false;
-stubMotorMovRequest.Position = 1;
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs b/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
deleted file mode 100644
index 43d0dd76a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/new dispenser card GPIO.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-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/Scripts/process parameters.cs b/Software/Stubs Collection/stubs/Scripts/process parameters.cs
deleted file mode 100644
index d2b36b111..000000000
--- a/Software/Stubs Collection/stubs/Scripts/process parameters.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Printing;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
-
-ProcessParameters processParameters = new ProcessParameters();
-processParameters.DyeingSpeed = 0;
-processParameters.MinInkUptake = 0;
-processParameters.MaxInkUptake = 0;
-processParameters.FeederTension = 0;
-processParameters.PullerTension = 0;
-processParameters.WinderTension = 0;
-processParameters.MixerTemp = 0;
-processParameters.HeadZone1Temp = 0;
-processParameters.HeadZone2Temp = 0;
-processParameters.HeadZone3Temp = 0;
-processParameters.HeadZone4Temp = 0;
-processParameters.HeadZone5Temp = 0;
-processParameters.HeadZone6Temp = 0;
-processParameters.DryerAirFlow = 0;
-processParameters.DryerZone1Temp = 100;
-processParameters.DryerZone2Temp = 0;
-processParameters.DryerZone3Temp = 0;
-processParameters.DryerBufferLength = 0;
-processParameters.HeadAirFlow = 0;
-processParameters.TableIndex = 0;
-processParameters.HeadZone7Temp = 0;
-processParameters.HeadZone8Temp = 0;
-processParameters.HeadZone9Temp = 0;
-processParameters.HeadZone10Temp = 0;
-processParameters.HeadZone11Temp = 0;
-processParameters.HeadZone12Temp = 0;
-processParameters.RBlowerFlow = 0;
-processParameters.RBlowerTemp = 0;
-processParameters.LBlowerFlow = 0;
-processParameters.LBlowerTemp = 0;
-processParameters.PressureBuildUp = 0;
-
-uploadProcessParametersRequest.ProcessParameters = processParameters;
-
-
-
- var response = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/progress_test.pproj b/Software/Stubs Collection/stubs/Scripts/progress_test.pproj
deleted file mode 100644
index 29d02caa2..000000000
--- a/Software/Stubs Collection/stubs/Scripts/progress_test.pproj
+++ /dev/null
@@ -1 +0,0 @@
-{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n context.AddResult(ResultType.Passed, \"My Value Name\", \"Test for this value has passed.\");\r\n\t\t\r\nfor (int i=0;i<10;i++)\r\n{\r\n Thread.Sleep(10000);\r\n context.UpdateProgress(\"11111\",true,i,10);\r\n\t}\t\r\n }\r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"b99ea8ff-f5ff-44d5-8b33-4b534a14647b","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read and store main card data.cs b/Software/Stubs Collection/stubs/Scripts/read and store main card data.cs
deleted file mode 100644
index aec6bef3d..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read and store main card data.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-using System.IO;
-using Tango.PMR.IO;
-using Google.Protobuf;
-
-string[] Main_Card_EEpromAddress = {
-"DATA_SIZE",
-"DANCER_0",
-"DANCER_1",
-"DANCER_2",
-"DRYER_CENTER",
-"DRYER_CYCLES",
-"MIDTANK_1_A",
-"MIDTANK_1_B",
-"MIDTANK_2_A",
-"MIDTANK_2_B",
-"MIDTANK_3_A",
-"MIDTANK_3_B",
-"MIDTANK_4_A",
-"MIDTANK_4_B",
-"MIDTANK_5_A",
-"MIDTANK_5_B",
-"MIDTANK_6_A",
-"MIDTANK_6_B",
-"MIDTANK_7_A",
-"MIDTANK_7_B",
-"MIDTANK_8_A",
-"MIDTANK_8_B",
-"WINDER_CALIBRATION",
-"EMBEDDED_VERSION",
-"EEPROM_ALARM_SUPPORT",
-"EEPROM_ORIFICE1_ZERO_VALUE",
-"EEPROM_ORIFICE3_ZERO_VALUE",
-"EEPROM_WASTE_TANK_ZERO_VALUE",
-"EEPROM_PULLER_TENSION_POSITION",
-"EEPROM_WINDER_TENSION_POSITION",
-"EEPROM_INIT_FAILURE_COUNTER",
-"DANCER_3",
-"DANCER_4",
-"EEPROM_PRESSURE_SENSOR_V0_0",
-"EEPROM_PRESSURE_SENSOR_V0_1",
-"EEPROM_DRIER_LOADING_ARM_ANGLE"};
-
-
-private const string JSON_FILE_PATH = "C:/temp/maineeprom.json";
-private const string CSV_FILE_PATH = "C:/temp/maineeprom.csv";
-public void OnExecute(StubManager stubManager)
-{
- StubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();
- var response2 = stubManager.Run<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);
-
- if ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=5)&&(response2.VerBuild>=2))
- {
- MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();
- var response3 = stubManager.Run<MainCardStoredDataResponse>(mainCardStoredDataRequest);
- stubManager.AppendToFile(JSON_FILE_PATH, "MainCardStoredData: "+ response3);
- }
- else
- {
- stubManager.AppendToFile(CSV_FILE_PATH, "Address,Name,Data");
- for (int i = 1; i < 36; i++)
- {
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- stubMainCardEEpromReadRequest.Address = i;
- stubMainCardEEpromReadRequest.Data = 0;
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
- stubManager.AppendToFile(CSV_FILE_PATH, response.Address + "," + Main_Card_EEpromAddress[i] +"," + response.Data);
- }
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs b/Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs
deleted file mode 100644
index 0f3ca238e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read write main eeprom fixed.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-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)
-{
-
- int WinderAddress =29;
- int pullerAddress = 28;
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- StubMainCardEEpromWriteRequest stubMainCardEEpromWriteRequest = new StubMainCardEEpromWriteRequest();
-
- stubMainCardEEpromReadRequest.Address = WinderAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
- //var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = WinderAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- var response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromReadRequest.Address = pullerAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
-// var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = pullerAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs b/Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs
deleted file mode 100644
index d418d5e0e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read write main eeprom.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-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)
-{
-
- int WinderAddress =29;
- int pullerAddress = 28;
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- StubMainCardEEpromWriteRequest stubMainCardEEpromWriteRequest = new StubMainCardEEpromWriteRequest();
-
- stubMainCardEEpromReadRequest.Address = WinderAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
-// var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = WinderAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- var response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromReadRequest.Address = pullerAddress;
- stubMainCardEEpromReadRequest.Data = 0;
-
-// var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
- stubMainCardEEpromWriteRequest.Address = pullerAddress;
- stubMainCardEEpromWriteRequest.Data = 0;
-
- var response1 = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs b/Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs
deleted file mode 100644
index e5960c3f3..000000000
--- a/Software/Stubs Collection/stubs/Scripts/read_cpu_eeprom.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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<StubMainCardEEpromReadResponse>("StubMainCardEEpromReadRequest" ,30, 0);
- stubManager.Write("\ninit counter: \t"+ response.Data );
- response = stubManager.Run<StubMainCardEEpromReadResponse>("StubMainCardEEpromReadRequest" ,40, 0);
- stubManager.Write("\nnumber of resets: \t"+ response.Data );
- int j = response.Data;
-
- for (Int32 i=0;i<j;i++)
- {
- response = stubManager.Run<StubMainCardEEpromReadResponse>("StubMainCardEEpromReadRequest" ,41+i, 3);
-
- stubManager.Write("\nAddress \t"+ i + "\tdata = " );
- stubManager.WriteHex(response.Data,4);
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/single temperature.cs b/Software/Stubs Collection/stubs/Scripts/single temperature.cs
deleted file mode 100644
index a65e7ccca..000000000
--- a/Software/Stubs Collection/stubs/Scripts/single temperature.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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 = 0xCC;
-progressRequest.Delay = 1;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/temp.cs b/Software/Stubs Collection/stubs/Scripts/temp.cs
deleted file mode 100644
index 23508b71b..000000000
--- a/Software/Stubs Collection/stubs/Scripts/temp.cs
+++ /dev/null
@@ -1,492 +0,0 @@
-using System;
-using System.Text;
-using System.IO;
-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)
-{
-string path="";
- Form form1 = new Form();
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
-// Set the caption bar text of the form.
- form1.TopMost = true;
- form1.Text = "RTFU Test";
- form1.FormBorderStyle = FormBorderStyle.FixedDialog;
- form1.MaximizeBox = false;
- form1.MinimizeBox = false;
- form1.StartPosition = FormStartPosition.CenterScreen;
- form1.AutoSize = true;
- form1.AutoSizeMode = AutoSizeMode.GrowAndShrink;
-// Create buttons to Run.
- Button button1 = new Button ()
- {
- Width = 100,
- Height = 100,
- };
- button1.Text = "Run";
- button1.Location = new Point (40, 100);
- form1.Controls.Add(button1);
-//-----RTFU Serial Number -----------
-
- Label Label1 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text =" RTFU S/N"
- };
- Label1.Location = new Point (30, 10);
- form1.Controls.Add(Label1);
- TextBox TextBox1 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
- TextBox1.Location = new Point (40, 40);
- form1.Controls.Add(TextBox1);
- //----------LOCATION----------
-
- Label Label3 = new Label ()
- {
- Width = 150,
- Height = 20,
- Text ="LOCATION"
- };
-Label3.Location = new Point (350, 10);
- form1.Controls.Add(Label3);
-
-
-
-TextBox TextBox3 = new TextBox ()
- {
- Width = 100,
- Height = 10,
- Text =""
- };
-TextBox3.Location = new Point (360, 40);
- form1.Controls.Add(TextBox3);
-
-
-
-
- Label Label5 = new Label ()
- {
- Width = 120,
- Height =100,
- Text = ""
- };
- Label5.Location = new Point (300, 100);
- Label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-
- Label5.Text="";
- Label5.Font = new Font("Arial", 24,FontStyle.Bold);
- form1.Controls.Add(Label5);
-
-
-
-
-//--------------------------------------------------------------------------------
-
- stubManager.Write("Counter is 2 \n");
-
- button1.Click += (_,__) =>
-
- {
-
- Label5.Text="Pros";
-
- if (!Directory.Exists(path1))
- {
- path=path2;
- if (!Directory.Exists(path2))
- Directory.CreateDirectory(path2);
- }
- else
- path=path1;
-
- File_Name1=path + TextBox1.Text +"_RTFU_" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" ;
-
-
- stubManager.Write(File_Name1 +"\n");
- stubManager.WriteToFile(File_Name1,DateTime.Now +" " );
- stubManager.Write(DateTime.Now +"\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU Test Report" );
- stubManager.Write("RTFU Test Report\n" );
-
- stubManager.AppendToFile(File_Name1,"RTFU S/N: \t" + TextBox1.Text );
- stubManager.Write("RTFU S/N:" + TextBox1.Text +"\n" );
-
-
- stubManager.AppendToFile(File_Name1,"Location:\t" + TextBox3.Text );
- stubManager.Write("Location:" + TextBox3.Text +"\n" );
-
-
-//------------------------------- start test -----------
- Test_RLOADING_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(100);
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
-
- Test_RDRIVING_RTFU();
- Test_DANCER_RTFU();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- Status=write_to_file();
- stubManager.Write(Status +"\n");
-
- Label5.Text=Status;
- TextBox1.Text="";
- };
-
- form1.ShowDialog();
-
- return ;
- }
- //------------------------------------
-int Test_RLOADING_RTFU()
-{
- int temp=1;
- int counter;
-
- Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x2c- 1.3A
- Thread.Sleep(100);
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(3000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
- Thread.Sleep(1000);
-//------------------------------------------ check F1_LS_RLOADMOTOR_up------------------------------------------------
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RLOADMOTOR_UP) !=F1_LS_RLOADMOTOR_UP ) //if LS_RLOADMOTOR_UP is up then error
- {
- DialogResult result = MessageBox.Show("Did RLOADIN MOTOR Move?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.Yes)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- else
- {
- Units_status[2,1]="Fail";
- stubManager.Write("RLOADMOTOR\tFail\n");
- return 0;
- }
- }
-
-//----------------------------------------- mov RLOADING up -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor,false,200); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_UP) != F1_LS_RLOADMOTOR_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- if (counter == 150)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP\tFail\n");
- return 0;
- }
- DialogResult result1 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result1 == DialogResult.No)
- {
- Units_status[0,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_UP Not calibrate\n");
- return 0;
- }
- Units_status[0,1]="Pass";
- Units_status[2,1]="Pass";
-
-//------------------------------------------ check F1_LS_RLOADMOTOR_DN------------------------------------------------
-
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
-
- if ((response.Value & F1_LS_RLOADMOTOR_DN) !=F1_LS_RLOADMOTOR_DN ) //if LS_RLOADMOTOR_DN is up then error
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
-//------------------------------------------ mov RLOADING dn ------------------------------------------------
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RLOADMOTOR_DN) != F1_LS_RLOADMOTOR_DN )
- counter=250;
-
- Thread.Sleep(100);
- }
-
- if (counter == 150)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN\tFail\n");
- return 0;
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- DialogResult result2 = MessageBox.Show("Limit Switch calibrate ?", "Warning",MessageBoxButtons.YesNo);
- if(result2 == DialogResult.No)
- {
- Units_status[1,1]="Fail";
- stubManager.Write("LS_RLOADMOTOR_DN Not calibrate\n");
- return 0;
- }
- Units_status[1,1]="Pass";
- stubManager.Write("RLOADMOTOR\tPass\n");
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
- Thread.Sleep(2000);
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
-
- return 1 ;
-
-}
-
-//----------------------------------
-
-Int32 ReadEncoder()
-{
- Int32 temp;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F1_RDANCER_ROTENC_DATA_p_TX, 0x0000); //triggers a TX transmission
-
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_lsb);
- var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_RDANCER_ROTENC_DATA_p_RX_msb);
-
- temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
-
-
- return temp;
-}
-//--------------------------------------------------------------------------------
-int Test_DANCER_RTFU()
-{
- int counter;
- Int32 temp;
- Int32 temp1;
-
-//------------------------------------------ check F1_LS_RDANCER_DOWN ------------------------------------------------
-
- MessageBox.Show("Make sure RDANCER Doun");
- var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //read LS
- if ((response.Value & F1_LS_RDANCER_DOWN) !=F1_LS_RDANCER_DOWN ) //if F1_LS_RDANCER_DOWN is up then error
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
-//----------------------------------------- mov RDANCER_Motor up and check F1_LS_RDANCER_DOWN -------------------------------------------------
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,true,10); //move Rloading up
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[4,1]="Pass";
- stubManager.Write("LS_RDANCER_DOWN\tPass\n");
-
-//----------------------------------------- check F1_LS_RDANCER_UP -------------------------------------------------
-
- if ((response.Value & F1_LS_RDANCER_UP) !=F1_LS_RDANCER_UP ) //if F1_LS_RDANCER_UP is up then error
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RDANCER_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_UP) != F1_LS_RDANCER_UP )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[5,1]="Fail";
- stubManager.Write("LS_RDANCER_UP\tFail\n");
- return 0;
- }
- Units_status[5,1]="Pass";
- stubManager.Write("LS_RDANCER_UP\tPass\n");
-
-//----------------------------------------- check F1_LS_RLOADRAM_DOWN -------------------------------------------------
-
- if ((response.Value & F1_LS_RLOADRAM_DOWN) !=F1_LS_RLOADRAM_DOWN ) //if F1_LS_RLOADRAM_DOWN is up then error
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if F1_LS_RLOADRAM_DOWN is up then move down
- if ((response.Value & F1_LS_RLOADRAM_DOWN) != F1_LS_RLOADRAM_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[6,1]="Fail";
- stubManager.Write("LS_RLOADRAM_DOWN\tFail\n");
- return 0;
- }
- Units_status[6,1]="Pass";
- stubManager.Write("LS_RLOADRAM_DOWN\tPass\n");
-
-//----------------------------------------- mov RDANCER_Motor down and check rdancer encoder -------------------------------------------------
- temp= ReadEncoder();
-
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDANCER_Motor,false,10); //move Rloading down
- counter =0;
- while ( counter < 150)
- {
- counter = counter + 1;
- response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F1_LS_03_Direct); //if LS_RLOADMOTOR_UP is up then move down
- if ((response.Value & F1_LS_RDANCER_DOWN) != F1_LS_RDANCER_DOWN )
- counter=250;
-
- Thread.Sleep(100);
- }
- if (counter == 150)
- {
- Units_status[4,1]="Fail";
- stubManager.Write("LS_RDANCER_DOWN\tFail\n");
- return 0;
- }
- Units_status[7,1]="Pass";
- stubManager.Write("RDANCER_Motor\tPass\n");
-
- temp1= ReadEncoder();
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDANCER_Motor, 3); //hold Rloading high z
-
- stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
-
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
-
- if (temp>temp1)
- temp1=temp1+0x4000;
-
- temp1=temp1-temp;
- if ((temp1> 15000) || (temp1 <1000))
- {
- Units_status[8,1]="Fail";
- stubManager.Write("RDANCER_SSI\tFail\n");
- return 0;
- }
- Units_status[8,1]="Pass";
- stubManager.Write("RDANCER_SSI\tPass\n");
-
- return 1;
-}
-
-
-//-------------------------------------------------------------
-int Test_RDRIVING_RTFU()
-{
- stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RDRIVING_Motor, true,200); //move Rdriving clockwise
- stubManager.Write("RDRIVING_Motor Motor rotate \n ");
-
- DialogResult result = MessageBox.Show("Are RDRIVING Motor rotate?", "Warning",MessageBoxButtons.YesNo);
- if(result == DialogResult.No)
- {
- Units_status[3,1]="Fail";
- stubManager.Write("RDRIVING Motor not rotate\n");
- }
- else
- {
- Units_status[3,1]="Pass";
- stubManager.Write("RDRIVING Motor rotate\n");
- }
- stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RDRIVING_Motor,3); //stop motor
-
- return 0;
-}
-
-
-
-//--------------------------------------------------------------------------------
-int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
-{
-
- Int32 Temp = 0;
- Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
-
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
- Temp = ((Int32)ParaData1 >> 8) & 0xffff;
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
-
- return 1;
-}
- //------------------------------------
-string write_to_file()
-{
- stubManager.Write("write_to_file\n");
-
-string Stemp="Pass";
- for (int i=0;i<UNIT_UNDER_TEST;i++)
- {
- stubManager.AppendToFile(File_Name1,Units_status[i,0]+"\t" + Units_status[i,1] );
- stubManager.Write(Units_status[i,0]+"\t" + Units_status[i,1]+"\n" );
-
- if ((Units_status[i,1]=="Fail")||(Units_status[i,1]=="Not Test"))
- Stemp="Fail";
- }
- if (Stemp=="Fail")
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Fail ------------ ");
- stubManager.Write("-------------RTFU Fail ------------ ");
- }
- else
- {
- stubManager.AppendToFile(File_Name1,"-------------RTFU Pass ------------ )");
- stubManager.Write("-------------RTFU Pass ------------ ");
- }
-
- return Stemp;
-
-}
-
diff --git a/Software/Stubs Collection/stubs/Scripts/test halt.cs b/Software/Stubs Collection/stubs/Scripts/test halt.cs
deleted file mode 100644
index 289eb612a..000000000
--- a/Software/Stubs Collection/stubs/Scripts/test halt.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-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)
-{
-
-//CF - initialize FFS
-//DF - reset
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD9;
-progressRequest.Delay = 0xAD9;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/test.cs b/Software/Stubs Collection/stubs/Scripts/test.cs
deleted file mode 100644
index a0aebf743..000000000
--- a/Software/Stubs Collection/stubs/Scripts/test.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-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_I2C2
-const Int32 TCA9548A_address = 0xe2; //or 0xE0 or 0xE4
-const Int32 I2C_Slave_Add = 0xc0; // /MPC9600 address
-//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
-//----------------------
-
-
-int disable_all_channel1()
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = 0xe0;
-
-// UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x10);//enable all 8 i2c channel
-
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(10);
-
- return 1;
- }
-int disable_all_channel2()
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = 0xe2;
-
-// UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//enable all 8 i2c channel
-
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(10);
-
- return 1;
- }
-
-int disable_all_channel3()
- {
- StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
- stubI2CWriteBytesRequest.I2CId = I2C_ID;
- stubI2CWriteBytesRequest.SlaveAddress = 0xe4;
-
-// UInt32 uInt32 = new UInt32();
- stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//enable all 8 i2c channel
-
- stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
- Thread.Sleep(10);
-
- return 1;
- }
-
-
-
-public void OnExecute(StubManager stubManager)
-{
- disable_all_channel1();
- disable_all_channel2();
- disable_all_channel3();
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/waste level.cs b/Software/Stubs Collection/stubs/Scripts/waste level.cs
deleted file mode 100644
index a72f2a512..000000000
--- a/Software/Stubs Collection/stubs/Scripts/waste level.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-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;
-
-//private const string FILE_PATH = "D:\\Waste.txt";
-
-int i = 0;
-bool valve_openclose = false;
-//string temp;
-
-public void OnExecute(StubManager stubManager)
-{
-
- string File_Name2 = "D:\\Waste.txt" ;
-
- Thread.Sleep(1000);
-
- stubManager.WriteToFile(File_Name2,DateTime.Now +" " );
-
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
-
- stubManager.AppendToFile(File_Name2," " );
- stubManager.AppendToFile(File_Name2," waste [mili-volts] " );
- stubManager.AppendToFile(File_Name2," " );
-
- for(i=0;i<5;i++)
- {
-
- if(valve_openclose == true)
- {
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
- }
-
- //get waste level in mV
- stubManager.Write("waste [mili volts]: ");
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01);
-
- stubManager.WriteLine(response.Progress);
-
- stubManager.AppendToFile(File_Name2,"" + (i+1) + ". " + response.Progress/*.ToString("F4")*/);
-
- Thread.Sleep(2000);
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/waste_level2.cs b/Software/Stubs Collection/stubs/Scripts/waste_level2.cs
deleted file mode 100644
index b70eb5023..000000000
--- a/Software/Stubs Collection/stubs/Scripts/waste_level2.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-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;
-
-//mark the line in the embedded software: waste_seq_step1();// include 1Sec delay <- to open !!!!
-
-int i = 0,j=0,k=0;
-bool valve_openclose = true;
-double[] temp = {0,0,0,0,0,0,0,0};
-double sum = 0,avg = 0;
-
-public void OnExecute(StubManager stubManager)
-{
-
- string File_Name2 = "D:\\Waste.txt" ;
-
- Thread.Sleep(1000);
-
- stubManager.WriteToFile(File_Name2,DateTime.Now +" " );
-
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
-
- stubManager.AppendToFile(File_Name2," " );
- stubManager.AppendToFile(File_Name2," waste [mili-volts] " );
- stubManager.AppendToFile(File_Name2," " );
-
- for(i=0;i<33;i++)
- {
- for(j=0;j<8;j++)
- {
- if(valve_openclose == true)
- {
- //Open Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0201);
-
- Thread.Sleep(500);
-
- //Close Valve
- stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EB, 0x0200);
-
- Thread.Sleep(2000);
- }
-
- //get waste level in mV
- stubManager.Write("waste [mili volts]: ");
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3EC, 0x01);
-
- temp[j] = response.Progress;
-
- stubManager.WriteLine(response.Progress);
-
- //stubManager.AppendToFile(File_Name2,"" + (i+1) + ". " + response.Progress/*.ToString("F4")*/);
-
- Thread.Sleep(1000);
- }
- sum = 0;
- for(k=0;k<8;k++)
- sum = sum + temp[k];
- avg = sum/8;
- stubManager.AppendToFile(File_Name2,"" + (i+1) + ". " + avg);
-
- //Thread.Sleep(2000);
-
-
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/wd_enable.cs b/Software/Stubs Collection/stubs/Scripts/wd_enable.cs
deleted file mode 100644
index 3919b7256..000000000
--- a/Software/Stubs Collection/stubs/Scripts/wd_enable.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-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)
-{
- for (int i = 0; i < 100; i++)
- {
-
-//var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000160, 0x4001); //wd fpga1
-var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000540, 0x4001); //wd fpga2
-//var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000940, 0x4001); //wd fpga3
- Thread.Sleep(100);
-
-
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs b/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs
deleted file mode 100644
index b5c7af2b1..000000000
--- a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary 2.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-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)
-{
-
-
-StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
-stubWhsEEpromRequest.BurnRequest = false; // false - read, true - write
-
-StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
-stubWhsEEpromData.Header = 1;
-stubWhsEEpromData.TableLength = 2;
-stubWhsEEpromData.Tableversion = 3;
-stubWhsEEpromData.Orifice1Flow = 1067 * 8.7433; //mv * 8.7433 convert from mv to ml (1067 * 8.7433 = 9,329.1011)
-stubWhsEEpromData.CheckSum = 5;
-
-stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
-
-var response = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs b/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs
deleted file mode 100644
index 65dcd499e..000000000
--- a/Software/Stubs Collection/stubs/Scripts/whs eeprom temporary.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-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)
-{
-
-
-StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
-stubWhsEEpromRequest.BurnRequest = true;
-
-StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
-stubWhsEEpromData.Header = 0;
-stubWhsEEpromData.TableLength = 0;
-stubWhsEEpromData.Tableversion = 0;
-stubWhsEEpromData.Orifice1Flow = 10.5;
-stubWhsEEpromData.CheckSum = 0;
-
-//stubWhsEEpromRequest.WhsEEprom = whsEEprom;
-
- for (int i = 0; i < 10; i++)
- {
- var response = stubManager.Run<CalculateResponse>("calculate", 1, i);
-
- if (response.Sum == 10)
- {
- stubManager.WriteLine("OK!");
- }
- else
- {
- stubManager.WriteLine(response.Sum);
- }
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/whs fans stop.cs b/Software/Stubs Collection/stubs/Scripts/whs fans stop.cs
deleted file mode 100644
index f9e3cbd22..000000000
--- a/Software/Stubs Collection/stubs/Scripts/whs fans stop.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-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 = 0xfAc0;
-progressRequest.Delay = 0;
-
-int i;
-
-for (i = 0; i<6;i++)
- {
- progressRequest.Amount = 0xfAc0+i;
- var response = stubManager.Run<ProgressResponse>(progressRequest);
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Set CleaningSequence.cs b/Software/Stubs Collection/stubs/Set CleaningSequence.cs
deleted file mode 100644
index a73134e7b..000000000
--- a/Software/Stubs Collection/stubs/Set CleaningSequence.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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 = 0xAD7;
-progressRequest.Delay = 0; //disable
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ 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
deleted file mode 100644
index bb502309e..000000000
--- a/Software/Stubs Collection/stubs/Set loading arm center.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-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
deleted file mode 100644
index e89bc04e5..000000000
--- a/Software/Stubs Collection/stubs/SetWindingRotations.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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
deleted file mode 100644
index 0a31c7878..000000000
--- a/Software/Stubs Collection/stubs/SetupDebugDisributors.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-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/Test_Bred_bord_Head_pressure_sensor_ARC.cs b/Software/Stubs Collection/stubs/Test_Bred_bord_Head_pressure_sensor_ARC.cs
deleted file mode 100644
index 894d806e3..000000000
--- a/Software/Stubs Collection/stubs/Test_Bred_bord_Head_pressure_sensor_ARC.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-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 HEAD_PT100_ZONE_5_0X84_0 = 14;
-const UInt32 HEAD_PT100_ZONE_7_0X86_0 = 15;
-const UInt32 HEAD_PT100_ZONE_8_0X86_1 = 23;
-
-double pressure = 0.0;
-
-
-public void OnExecute(StubManager stubManager)
-{
- //suplly 24V to the bred board
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xb10, 0x01);
- Thread.Sleep(5); // milliSec
-
- //loop
- for(int i=0;i<3;i++)
- {
-
- stubManager.WriteLine(i);
-/*
- // print config reghisters 0- 3 of 0x84
-
- var response0 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8400 + 0x00);
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8400 + 0x01);
- var response2 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8400 + 0x02);
- var response3 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8400 + 0x03);
-
- stubManager.WriteLineHex(response0.Progress,2);
- stubManager.WriteLineHex(response1.Progress,2);
- stubManager.WriteLineHex(response2.Progress,2);
- stubManager.WriteLineHex(response3.Progress,2);
-
- stubManager.WriteLine("");
-
- // print config reghisters 0- 3 of 0x86
-
- var response4 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8600 + 0x00);
- var response5 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8600 + 0x01);
- var response6 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8600 + 0x02);
- var response7 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, 0x8600 + 0x03);
-
- stubManager.WriteLineHex(response4.Progress,2);
- stubManager.WriteLineHex(response5.Progress,2);
- stubManager.WriteLineHex(response6.Progress,2);
- stubManager.WriteLineHex(response7.Progress,2);
-*/
- stubManager.WriteLine("");
-
- //Print pressure in bits
- stubManager.WriteLine("Print pressure in bits:");
- var response8 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, HEAD_PT100_ZONE_5_0X84_0);
- var response9 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xC04f, HEAD_PT100_ZONE_7_0X86_0);
-
- stubManager.WriteLineHex(response8.Progress,2);
- stubManager.WriteLineHex(response9.Progress,2);
-
- stubManager.WriteLine("");
- stubManager.WriteLine("calculate pressure [V]:");
- // calculate pressure
- pressure = response8.Progress * 3.3;
- pressure = pressure / 8388608.0;
- stubManager.WriteLine(pressure);
-
- pressure = response9.Progress * 3.3;
- pressure = pressure / 8388608.0;
- stubManager.WriteLine(pressure);
-
- // delay 10mSec
- Thread.Sleep(1000); //150 milliSec
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/ThreadLoading.cs b/Software/Stubs Collection/stubs/ThreadLoading.cs
new file mode 100644
index 000000000..375237184
--- /dev/null
+++ b/Software/Stubs Collection/stubs/ThreadLoading.cs
@@ -0,0 +1,119 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Hardware;
+using Tango.PMR.Printing;
+using Tango.PMR.Stubs;
+using Tango.Stubs.UI;
+
+include "D:\stubs\addedfiles\ACHeatersDefinition.cs"
+include "D:\stubs\addedfiles\DCHeatersDefinition.cs"
+include "D:\stubs\addedfiles\DeskSystemThreadMotorsDefinition.cs"
+//include "D:\stubs\addedfiles\ThreadMotorsDefinition2.cs"
+
+public void OnExecute(StubManager stubManager)
+{
+ Thread.Sleep(10);
+
+
+UploadHardwareConfigurationRequest uploadHardwareConfigurationRequest = new UploadHardwareConfigurationRequest();
+
+HardwareConfiguration hardwareConfiguration = new HardwareConfiguration();
+
+hardwareConfiguration.Motors.Add(FeederMotor);
+hardwareConfiguration.Motors.Add(WinderMotor);
+hardwareConfiguration.Motors.Add(DryerMotor);
+hardwareConfiguration.Motors.Add(PoolerMotor);
+hardwareConfiguration.Motors.Add(ScrewMotor);
+hardwareConfiguration.Motors.Add(DryerLoadarm);
+
+
+//hardwareConfiguration.Dispensers.Add(hardwareDispenser);
+
+hardwareConfiguration.PidControls.Add(FeederPidControl);
+hardwareConfiguration.PidControls.Add(PoolerPidControl);
+hardwareConfiguration.PidControls.Add(WinderPidControl);
+
+hardwareConfiguration.Dancers.Add(FeederDancer);
+hardwareConfiguration.Dancers.Add(PoolerDancer);
+hardwareConfiguration.Dancers.Add(WinderDancer);
+
+hardwareConfiguration.Winders.Add(Winder);
+
+
+
+stubManager.WriteLine("data.data length = " + hardwareConfiguration.CalculateSize());
+
+
+uploadHardwareConfigurationRequest.HardwareConfiguration = hardwareConfiguration;
+var response = stubManager.Run<UploadHardwareConfigurationResponse>(uploadHardwareConfigurationRequest);
+ /*Thread.Sleep(5000);*/
+
+JobRequest jobRequest = new JobRequest();
+
+JobTicket jobTicket = new JobTicket();
+jobTicket.Name = "Stubs Job";
+jobTicket.EnableInterSegment = false;
+jobTicket.InterSegmentLength = 50;
+jobTicket.Length = 1000;
+
+ProcessParameters processParameters = new ProcessParameters();
+processParameters.DyeingSpeed = 20;
+
+jobTicket.ProcessParameters = processParameters;
+jobTicket.WindingMethod = Tango.PMR.Printing.JobWindingMethod.Embroidery;
+
+JobSpool jobSpool = new JobSpool();
+jobSpool.JobSpoolType = Tango.PMR.Printing.JobSpoolType.StandardSpool;
+jobSpool.Length = 800;
+jobSpool.Weight = 0;
+jobSpool.Diameter = 3.0;
+jobSpool.StartOffsetPulses = 300;
+jobSpool.BackingRate = 10;
+jobSpool.SegmentOffsetPulses = 600;
+jobSpool.BottomBackingRate = 70;
+jobSpool.RotationsPerPassage = 7;
+
+jobTicket.Spool = jobSpool;
+
+JobSegment jobSegment = new JobSegment();
+jobSegment.Name = "Segment1";
+jobSegment.Length = 400.0;
+
+JobBrushStop jobBrushStop = new JobBrushStop();
+jobBrushStop.Index = 0;
+jobBrushStop.OffsetPercent = 0;
+jobBrushStop.OffsetMeters = 0;
+
+JobDispenser jobDispenser = new JobDispenser();
+jobDispenser.Index = 6;
+jobDispenser.Volume = 10;
+jobDispenser.DispenserStepDivision = Tango.PMR.Printing.DispenserStepDivision.Auto;
+jobDispenser.NanolitterPerSecond = 0;
+jobDispenser.NanoliterPerCentimeter = 10;
+jobDispenser.PulsePerSecond = 500;
+jobDispenser.DispenserLiquidType = Tango.PMR.Printing.DispenserLiquidType.Cyan;
+jobDispenser.LiquidMaxNanoliterPerCentimeter = 40;
+jobDispenser.NanoliterPerPulse = 0;
+jobBrushStop.Dispensers.Add(jobDispenser);
+jobSegment.BrushStops.Add(jobBrushStop);
+jobTicket.Segments.Add(jobSegment);
+
+jobRequest.JobTicket = jobTicket;
+
+
+int i=0;
+stubManager.RunContinuous<JobResponse>(jobRequest,(response1) =>
+ {
+ stubManager.WriteLine (String.Format("Data, {0}, {1} meters, {2}",++i,response1.Status.Progress*jobSegment.Length,response1.Status.Message));
+
+ });
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/WD test.cs b/Software/Stubs Collection/stubs/WD test.cs
deleted file mode 100644
index f740ad54a..000000000
--- a/Software/Stubs Collection/stubs/WD test.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-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/WHS_EEPROM.cs b/Software/Stubs Collection/stubs/WHS_EEPROM.cs
deleted file mode 100644
index b5c7af2b1..000000000
--- a/Software/Stubs Collection/stubs/WHS_EEPROM.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-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)
-{
-
-
-StubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();
-stubWhsEEpromRequest.BurnRequest = false; // false - read, true - write
-
-StubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();
-stubWhsEEpromData.Header = 1;
-stubWhsEEpromData.TableLength = 2;
-stubWhsEEpromData.Tableversion = 3;
-stubWhsEEpromData.Orifice1Flow = 1067 * 8.7433; //mv * 8.7433 convert from mv to ml (1067 * 8.7433 = 9,329.1011)
-stubWhsEEpromData.CheckSum = 5;
-
-stubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;
-
-var response = stubManager.Run<StubWhsEEpromResponse>(stubWhsEEpromRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/alarm.cfg b/Software/Stubs Collection/stubs/alarm.cfg
deleted file mode 100644
index 89f70357d..000000000
--- a/Software/Stubs Collection/stubs/alarm.cfg
+++ /dev/null
@@ -1,292 +0,0 @@
-
-è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@ÿHP­7
-è (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@ÿP­F
- è8@ÿP°F \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/arm test.cs b/Software/Stubs Collection/stubs/arm test.cs
deleted file mode 100644
index ca1ff1771..000000000
--- a/Software/Stubs Collection/stubs/arm test.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-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)
-{
-int i;
-ProgressRequest progressRequest = new ProgressRequest();
-
- for (i = 1;i<= 12; i++)
- {
- progressRequest.Amount = 0xB11;
- progressRequest.Delay = 7680+0;
- var response = stubManager.Run<ProgressResponse>(progressRequest);
- Thread.Sleep(12000);
- progressRequest.Amount = 0xB12;
- response = stubManager.Run<ProgressResponse>(progressRequest);
- Thread.Sleep(1000);
- stubManager.Write("Arm Test \t"+ i + " direction 0 progress "+ response.Progress +"\n");
-
- }
-
- for (i = 1;i<= 10; i++)
- {
- progressRequest.Amount = 0xB11;
- progressRequest.Delay = 7680+1;
- var response = stubManager.Run<ProgressResponse>(progressRequest);
- Thread.Sleep(12000);
- progressRequest.Amount = 0xB12;
- response = stubManager.Run<ProgressResponse>(progressRequest);
- stubManager.Write("Arm Test \t"+ i + " direction 1 progress "+ response.Progress +"\n");
-
- Thread.Sleep(1000);
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/change sublimation time.cs b/Software/Stubs Collection/stubs/change sublimation time.cs
deleted file mode 100644
index 3292a3b7e..000000000
--- a/Software/Stubs Collection/stubs/change sublimation time.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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)
-{
-
-int SublimationDuration = 30;
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xB26;
-progressRequest.Delay = SublimationDuration;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/cleaning sequence disable.cs b/Software/Stubs Collection/stubs/cleaning sequence disable.cs
deleted file mode 100644
index 49bf4d968..000000000
--- a/Software/Stubs Collection/stubs/cleaning sequence disable.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-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)
-{
-
-//"Set WFCF Value
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xAD7;
-progressRequest.Delay = 0;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/dye sequence stubs.cs b/Software/Stubs Collection/stubs/dye sequence stubs.cs
deleted file mode 100644
index 8aaf3a823..000000000
--- a/Software/Stubs Collection/stubs/dye sequence stubs.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-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)
-{
-
-//"Set WFCF Value
- int WCFvalue = 40;
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xE3;
-progressRequest.Delay = WCFvalue;
-
-var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-//Set WFCF build to waste Time Value
-int WCFBuildTime = 20000;
-
-progressRequest.Amount = 0xE4;
-progressRequest.Delay = WCFBuildTime;
-
-response = stubManager.Run<ProgressResponse>(progressRequest);
-
-// Set special dispensers true (close valve) or false (open valve)
-int ClosedValve = 1; //closed
-
-progressRequest.Amount = 0xE5;
-progressRequest.Delay = ClosedValve;
-
-response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/embParamDownload.cs b/Software/Stubs Collection/stubs/embParamDownload.cs
deleted file mode 100644
index afdc14c92..000000000
--- a/Software/Stubs Collection/stubs/embParamDownload.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-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/Scripts/embeddedparametersbuild.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs
index 5092e6b6f..a08ca327a 100644
--- a/Software/Stubs Collection/stubs/Scripts/embeddedparametersbuild.cs
+++ b/Software/Stubs Collection/stubs/embeddedparametersbuild.cs
@@ -17,33 +17,33 @@ using Tango.PMR.IO;
public void OnExecute(StubManager stubManager)
{
-// parameters version for PRODUCTION 1.4.6.44
+
ConfigurationParameters configurationParameters = new ConfigurationParameters();
configurationParameters.BreakSensorLimit = 10;
//how many samples to collect in diagnostics before sending
-configurationParameters.DiagnosticCollectionLimit = 3;
+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 = 20;
-configurationParameters.OpenValveTimeout = 20;
+configurationParameters.CloseValveTimeout = 10;
+configurationParameters.OpenValveTimeout = 10;
//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-configurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure
-configurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps
+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 = 0.85;
-configurationParameters.DispenserBuildPressureTimeout = 420000; // 7 minutes - long prepare for 5 cycles build
-configurationParameters.DispenserBuildPressureLag = 100;
+configurationParameters.DispenserBuildPressureLimit = 1.2;
+configurationParameters.DispenserBuildPressureTimeout = 80000;
+configurationParameters.DispenserBuildPressureLag = 50;
//temperature band 1000 = 100% - thresholds for job start around target temprature - AC
configurationParameters.ACHeatersLowerOperationLimit = 995;
@@ -59,50 +59,40 @@ 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 = 12000;
+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.CurrentAlarmLowLimit = 0.80;
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
-
-int Tup = 10,Tdelay1 = 98,Tdelay2 = 198; //350nsec up, 1 second delay, 2 seconds before up again
-// Tup = LeftRockerSpeed/100;
-// Tdelay1 = LeftRockerSpeed%100;
-// Tdelay2 = RightRockerSpeed;
-int LeftRockerSpeed = Tup*100+Tdelay1;
-int RightRockerSpeed = Tdelay2;
-
-configurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed;
-configurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed;
+configurationParameters.IDSCleaningStopBeforeSegmentTime = 3000;
+configurationParameters.IDSCleaningStartSprayPreSegmentTime = 1000;
+configurationParameters.IDSLeftCleaningMotorSpeed = 30;
+configurationParameters.IDSRightCleaningMotorSpeed = 23;
configurationParameters.SwitchToIdleTimeinSeconds = 3600;
configurationParameters.IdleDrierTemperature = 80;
configurationParameters.IdleHeadTemperature = 80;
configurationParameters.IdleMixerTemperature = 0;
-configurationParameters.PowerOffTemperatureLimit = 100;
+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 = 0.0;
+checkCurrentAlarms = 1.0;
configurationParameters.GeneralParameters.Add(checkCurrentAlarms);
//check the tamper alarms
@@ -118,22 +108,22 @@ configurationParameters.GeneralParameters.Add(checkMotorAlarms);
/*5*/
Double WinderBackToBaseTime = new Double();
-WinderBackToBaseTime = 820.0;
+WinderBackToBaseTime = 800.0;
configurationParameters.GeneralParameters.Add(WinderBackToBaseTime);
/*6*/
Double DispenserInitialPressureSpeed = new Double();
-DispenserInitialPressureSpeed = 1050.0;
+DispenserInitialPressureSpeed = 800.0;
configurationParameters.GeneralParameters.Add(DispenserInitialPressureSpeed);
/*7*/
Double SetDiagnosticMode = new Double();
-SetDiagnosticMode = 3.0;
+SetDiagnosticMode = 1.0;
configurationParameters.GeneralParameters.Add(SetDiagnosticMode);
/*8*/
Double SetAutoFill = new Double();
-SetAutoFill = 3.0;
+SetAutoFill = 0.0;
configurationParameters.GeneralParameters.Add(SetAutoFill);
File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
@@ -143,49 +133,7 @@ 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);
-
-}
-
-// activating the new file
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xCD;
-progressRequest.Delay = 0xCD;
-var response1 = stubManager.Run<ProgressResponse>(progressRequest);
-
+ stubManager.Write( config);
/*
13:46:42.38: Executing script 'embeddedparametersbuild.cs'...
diff --git a/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs b/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs
deleted file mode 100644
index 57501cc0f..000000000
--- a/Software/Stubs Collection/stubs/embeddedparametersbuild_w_cleaning.cs
+++ /dev/null
@@ -1,233 +0,0 @@
-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)
-{
-// parameters version for TESTING 1.5.3.3
-string description = "";
-ConfigurationParameters configurationParameters = new ConfigurationParameters();
-
-description += "Version 1.5.3.4";
-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 = 20;
-configurationParameters.OpenValveTimeout = 20;
-
-//backlash after filling - target pressure, timoeout, time staps (speed will be added in general parameters)
-configurationParameters.InitialDispenserPressure = 3.85; //used for initial pre-run maximal pressure
-configurationParameters.InitialDispenserTimeout = 120000; ////used for initial pre-run target number of steps
-configurationParameters.InitialDispenserTimeLag = 100;
-description = description+" "+configurationParameters.InitialDispenserPressure+"-"+configurationParameters.InitialDispenserTimeout/1000;
-
-//job prepare - build pressure in dispensers - target pressure, timoeout, time staps, speed
-configurationParameters.DispenserBuildPressureSpeed = 950; //no more than 1000
-configurationParameters.DispenserBuildPressureLimit = 0.85;
-configurationParameters.DispenserBuildPressureTimeout = 420000; // 7 minutes - long prepare for 5 cycles build
-configurationParameters.DispenserBuildPressureLag = 100;
-description = description+" T "+configurationParameters.DispenserBuildPressureTimeout/1000;
-
-//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;
-description = description+" WF"+configurationParameters.DispenserPresegmentWFCF;
-//how much time to start the WFCF process (pressure buildup) before segment start
-configurationParameters.IDSPreSegmentWFCFTimeBeforeSegment = 12000;
-
-//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
-description = description+" Cl"+configurationParameters.IDSCleaningStopBeforeSegmentTime/1000+"-"+configurationParameters.IDSCleaningStartSprayPreSegmentTime/1000;
-
-int Tup = 10,Tdelay1 = 98,Tdelay2 = 198; //350nsec up, 1 second delay, 2 seconds before up again
-// Tup = LeftRockerSpeed/100;
-// Tdelay1 = LeftRockerSpeed%100;
-// Tdelay2 = RightRockerSpeed;
-int LeftRockerSpeed = Tup*100+Tdelay1;
-int RightRockerSpeed = Tdelay2;
-
-configurationParameters.IDSLeftCleaningMotorSpeed = LeftRockerSpeed;
-configurationParameters.IDSRightCleaningMotorSpeed = RightRockerSpeed;
-description = description+"-"+Tup+"."+Tdelay1+"."+Tdelay2;
-
-configurationParameters.SwitchToIdleTimeinSeconds = 3600;
-configurationParameters.IdleDrierTemperature = 80;
-configurationParameters.IdleHeadTemperature = 80;
-configurationParameters.IdleMixerTemperature = 0;
-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;
-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);
-description = description+"-AF"+SetAutoFill+"DI"+SetDiagnosticMode;
-
-/*9*/
-double PowerOffDisableCleaning = new Double();
-PowerOffDisableCleaning = 0.0;
-configurationParameters.GeneralParameters.Add(PowerOffDisableCleaning);
-
-/*10*/
-double SublimationBlowTime = new Double();
-SublimationBlowTime = 30.0;
-configurationParameters.GeneralParameters.Add(SublimationBlowTime);
-
-/*11*/
-double AllowedRangeForHeadBlowerDeviation = new Double();
-AllowedRangeForHeadBlowerDeviation = 7;
-configurationParameters.GeneralParameters.Add(AllowedRangeForHeadBlowerDeviation);
-
-/*12*/
-double AllowedRangeForWasteBlowerDeviation = new Double();
-AllowedRangeForWasteBlowerDeviation = 20;
-configurationParameters.GeneralParameters.Add(AllowedRangeForWasteBlowerDeviation);
-
-/*13*/
-double Voltage_Hysteresis = new Double();
-Voltage_Hysteresis = 4;
-configurationParameters.GeneralParameters.Add(Voltage_Hysteresis);
-
-/*14*/
-double Head_Blower_Calculation_C = new Double();
-Head_Blower_Calculation_C = 0.242;
-configurationParameters.GeneralParameters.Add(Head_Blower_Calculation_C);
-
-/*15*/
-double Head_Blower_Calculation_B = new Double();
-Head_Blower_Calculation_B = -0.134;
-configurationParameters.GeneralParameters.Add(Head_Blower_Calculation_B);
-description = description+"-C"+Head_Blower_Calculation_C+"-B"+Head_Blower_Calculation_B;
-
-configurationParameters.Description = description;
-//stubManager.Write("\n\n"+description);
-stubManager.Write("\n\n"+configurationParameters.Description+"\n\n");
-
-
-File.WriteAllBytes("C:/temp/EmbParam.cfg",configurationParameters.ToBytes());
-
-
-byte[] fileBytes = configurationParameters.ToBytes();
-
-
-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;
-
-stubManager.Write("Chunk size "+ chunk_size + " file size "+ fileBytes.Length +"\n\n");
-FileChunkUploadRequest fileChunkUploadRequest = new FileChunkUploadRequest();
-fileChunkUploadRequest.UploadID = response2.UploadID;
-fileChunkUploadRequest.Buffer = ByteString.CopyFrom(fileBytes);
-var response3 = stubManager.Run<FileChunkUploadResponse>(fileChunkUploadRequest);
-
-// activating the new file
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0xCD;
-progressRequest.Delay = 0xCD;
-var response1 = stubManager.Run<ProgressResponse>(progressRequest);
-
-
-
-
-} \ 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
deleted file mode 100644
index 95c3825e0..000000000
--- a/Software/Stubs Collection/stubs/head_card_fan_test.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-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/load parameters from machine.cs b/Software/Stubs Collection/stubs/load parameters from machine.cs
deleted file mode 100644
index a43354785..000000000
--- a/Software/Stubs Collection/stubs/load parameters from machine.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-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();
-
- Thread.Sleep(1000);
-
-stubManager.Write("\n\n Loading file from machine");
-
-FileDownloadRequest fileDownloadRequest = new FileDownloadRequest();
-fileDownloadRequest.FileName = "SYSINFO//EmbParam.cfg";
-FileDownloadResponse response2 = stubManager.Run<FileDownloadResponse>(fileDownloadRequest);
- Thread.Sleep(1000);
-long chunk_size = response2.MaxChunkLength;
-string Download_Id = response2.DownloadID;
-//FileStream fs = new FileStream("C:/temp/EmbParam.cfg",FileMode.Open);
-
-stubManager.Write("Position "+ response2.DownloadID+ " Length "+ response2.MaxChunkLength +"\n\n");
-FileChunkDownloadRequest fileChunkDownloadRequest = new FileChunkDownloadRequest();
-fileChunkDownloadRequest.DownloadID = response2.DownloadID;
-var response3 = stubManager.Run<FileChunkDownloadResponse>(fileChunkDownloadRequest);
-
-var config = ConfigurationParameters.Parser.ParseFrom(response3.Buffer);
-stubManager.Write( config);
-
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/logs handles.cs b/Software/Stubs Collection/stubs/logs handles.cs
deleted file mode 100644
index 939af6bf1..000000000
--- a/Software/Stubs Collection/stubs/logs handles.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-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)
-{
-/*
-0 ControlFilter;
-1 HeatersFilter;
-2 JobFilter ;
-3 WasteFilter ;
-4 AlarmFilter ;
-5 DiagnosticsFilter;
-6 IDSFilter;
-7 ThreadFilter;
-8 GeneralFilter;
-9 CommFilter;
-10 FPGAFilter;
-11 LoadFilter;
-12 InitFilter;
-13 MaintFilter;
-*/
-
-SetupDebugDisributorsRequest setupDebugDisributorsRequest = new SetupDebugDisributorsRequest();
-setupDebugDisributorsRequest.DebugDistributor = Tango.PMR.Debugging.DebugDistributorType.WasteFilter;
-setupDebugDisributorsRequest.DistributorActive = true;
-
- var response = stubManager.Run<SetupDebugDisributorsResponse>(setupDebugDisributorsRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/logs severity.cs b/Software/Stubs Collection/stubs/logs severity.cs
deleted file mode 100644
index cf3b4f1bc..000000000
--- a/Software/Stubs Collection/stubs/logs severity.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-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)
-{
-/*
-Tango.PMR.Debugging.DebugLogCategory.Info:
-Tango.PMR.Debugging.DebugLogCategory.Warning:
-Tango.PMR.Debugging.DebugLogCategory.Error:
-Tango.PMR.Debugging.DebugLogCategory.Critical:
-Tango.PMR.Debugging.DebugLogCategory.Debug:
-*/
-SetDebugLogCategoryRequest setDebugLogCategoryRequest = new SetDebugLogCategoryRequest();
-setDebugLogCategoryRequest.MinimumCategory = Tango.PMR.Debugging.DebugLogCategory.Info;
-
- var response = stubManager.Run<SetDebugLogCategoryResponse>(setDebugLogCategoryRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs b/Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs
deleted file mode 100644
index 9a82365e1..000000000
--- a/Software/Stubs Collection/stubs/midtank calibration/Midtankcalibration.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-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.EmbeddedParameters;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
-
-MidTankData midTankData = new MidTankData();
-midTankData.MidTankId = 0;
-midTankData.InitialOffsetA =2.54414609375 ;
-midTankData.SlopeB = 0.915453384418902 ;
-
-MidTankData midTankData1 = new MidTankData();
-midTankData1.MidTankId = 1;
-midTankData1.InitialOffsetA = 2.53565 ;
-midTankData1.SlopeB = 0.912075327649828;
-
-MidTankData midTankData2 = new MidTankData();
-midTankData2.MidTankId = 2;
-midTankData2.InitialOffsetA = 2.96895078125 ;
-midTankData2.SlopeB = 0.92228512609367;
-
-MidTankData midTankData3 = new MidTankData();
-midTankData3.MidTankId = 3;
-midTankData3.InitialOffsetA = 2.9264703125 ;
-midTankData3.SlopeB = 0.939819063852105;
-
-MidTankData midTankData4 = new MidTankData();
-midTankData4.MidTankId = 4;
-midTankData4.InitialOffsetA = 2.614946875 ;
-midTankData4.SlopeB = 0.92573937750226;
-
-MidTankData midTankData5 = new MidTankData();
-midTankData5.MidTankId = 5;
-midTankData5.InitialOffsetA = 2.1561578125;
-midTankData5.SlopeB = 0;
-
-MidTankData midTankData6 = new MidTankData();
-midTankData6.MidTankId = 6;
-midTankData6.InitialOffsetA = 2.8924859375;
-midTankData6.SlopeB = 0.932726089785296;
-
-MidTankData midTankData7 = new MidTankData();
-midTankData7.MidTankId = 7;
-midTankData7.InitialOffsetA = 2.92080625;
-midTankData7.SlopeB = 0.919540229;
-
-midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData1);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData2);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData3);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData4);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData5);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData6);
-midTankDataSetupRequest.MidTankInfo.Add(midTankData7);
-
-var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs b/Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs
deleted file mode 100644
index 469772888..000000000
--- a/Software/Stubs Collection/stubs/midtank calibration/read_midtank_calibration.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-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)
-{
- int i;
-
- for(i=0;i<8;i++)
- {
-
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xA, i);
- stubManager.Write("\n Initial_Offset_A [#");
- stubManager.Write(i);
- stubManager.Write("] = ");
- stubManager.WriteLine(response.Progress);
- }
-
- for(i=0;i<8;i++)
- {
- var response1 = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xB, i);
- stubManager.Write("\n Slope_B [#");
- stubManager.Write(i);
- stubManager.Write("] = ");
- stubManager.WriteLine(response1.Progress);
- }
-
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/moveloadarmback.cs b/Software/Stubs Collection/stubs/moveloadarmback.cs
deleted file mode 100644
index b7f5e0fa6..000000000
--- a/Software/Stubs Collection/stubs/moveloadarmback.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index 75939ea87..000000000
--- a/Software/Stubs Collection/stubs/powestep01_change_mode.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-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/read WHS V0.cs b/Software/Stubs Collection/stubs/read WHS V0.cs
deleted file mode 100644
index fb67ba2cc..000000000
--- a/Software/Stubs Collection/stubs/read WHS V0.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-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 = 0xD11; //turn off blower and PID
- progressRequest.Delay = 0;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
- Thread.Sleep(3000);
-
- progressRequest.Amount = 0xD12; //run V0 recalculation
- response = stubManager.Run<ProgressResponse>(progressRequest);
-
-
- Thread.Sleep(20000);
-
- progressRequest.Amount = 0xD11; //turn on blower and PID
- progressRequest.Delay = 1;
- response = stubManager.Run<ProgressResponse>(progressRequest);
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/read and store main card data.cs b/Software/Stubs Collection/stubs/read and store main card data.cs
deleted file mode 100644
index cf0cb7278..000000000
--- a/Software/Stubs Collection/stubs/read and store main card data.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-using System.IO;
-using Tango.PMR.IO;
-using Google.Protobuf;
-
-string[] Main_Card_EEpromAddress = {
-"DATA_SIZE",
-"DANCER_0",
-"DANCER_1",
-"DANCER_2",
-"DRYER_CENTER",
-"DRYER_CYCLES",
-"MIDTANK_1_A",
-"MIDTANK_1_B",
-"MIDTANK_2_A",
-"MIDTANK_2_B",
-"MIDTANK_3_A",
-"MIDTANK_3_B",
-"MIDTANK_4_A",
-"MIDTANK_4_B",
-"MIDTANK_5_A",
-"MIDTANK_5_B",
-"MIDTANK_6_A",
-"MIDTANK_6_B",
-"MIDTANK_7_A",
-"MIDTANK_7_B",
-"MIDTANK_8_A",
-"MIDTANK_8_B",
-"WINDER_CALIBRATION",
-"EMBEDDED_VERSION",
-"EEPROM_ALARM_SUPPORT",
-"EEPROM_ORIFICE1_ZERO_VALUE",
-"EEPROM_ORIFICE3_ZERO_VALUE",
-"EEPROM_WASTE_TANK_ZERO_VALUE",
-"EEPROM_PULLER_TENSION_POSITION",
-"EEPROM_WINDER_TENSION_POSITION",
-"EEPROM_INIT_FAILURE_COUNTER",
-"DANCER_3",
-"DANCER_4",
-"EEPROM_PRESSURE_SENSOR_V0_0",
-"EEPROM_PRESSURE_SENSOR_V0_1",
-"EEPROM_DRIER_LOADING_ARM_ANGLE"};
-
-
-public void OnExecute(StubManager stubManager)
-{
- string FileName;
- StubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();
- var response2 = stubManager.Run<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);
-
- if ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2))
- {
- MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();
- var response3 = stubManager.Run<MainCardStoredDataResponse>(mainCardStoredDataRequest);
- FileName = "C:/temp/mainEEProm"/*+stubManager.ConnectedMachine.SerialNumber*/+".json";
- stubManager.AppendToFile(FileName, "MainCardStoredData: "+ response3);
- }
- else
- {
- FileName = "C:/temp/mainEEProm"/*+stubManager.ConnectedMachine.SerialNumber*/+".csv";
- stubManager.AppendToFile(FileName, "Address,Name,Data");
- for (int i = 1; i < 36; i++)
- {
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- stubMainCardEEpromReadRequest.Address = i;
- stubMainCardEEpromReadRequest.Data = 0;
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
- stubManager.AppendToFile(FileName, "\r\n"+response.Address + "," + Main_Card_EEpromAddress[i] +"," + response.Data);
- }
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/read eeprom advanced.cs b/Software/Stubs Collection/stubs/read eeprom advanced.cs
deleted file mode 100644
index cf0cb7278..000000000
--- a/Software/Stubs Collection/stubs/read eeprom advanced.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-using System.IO;
-using Tango.PMR.IO;
-using Google.Protobuf;
-
-string[] Main_Card_EEpromAddress = {
-"DATA_SIZE",
-"DANCER_0",
-"DANCER_1",
-"DANCER_2",
-"DRYER_CENTER",
-"DRYER_CYCLES",
-"MIDTANK_1_A",
-"MIDTANK_1_B",
-"MIDTANK_2_A",
-"MIDTANK_2_B",
-"MIDTANK_3_A",
-"MIDTANK_3_B",
-"MIDTANK_4_A",
-"MIDTANK_4_B",
-"MIDTANK_5_A",
-"MIDTANK_5_B",
-"MIDTANK_6_A",
-"MIDTANK_6_B",
-"MIDTANK_7_A",
-"MIDTANK_7_B",
-"MIDTANK_8_A",
-"MIDTANK_8_B",
-"WINDER_CALIBRATION",
-"EMBEDDED_VERSION",
-"EEPROM_ALARM_SUPPORT",
-"EEPROM_ORIFICE1_ZERO_VALUE",
-"EEPROM_ORIFICE3_ZERO_VALUE",
-"EEPROM_WASTE_TANK_ZERO_VALUE",
-"EEPROM_PULLER_TENSION_POSITION",
-"EEPROM_WINDER_TENSION_POSITION",
-"EEPROM_INIT_FAILURE_COUNTER",
-"DANCER_3",
-"DANCER_4",
-"EEPROM_PRESSURE_SENSOR_V0_0",
-"EEPROM_PRESSURE_SENSOR_V0_1",
-"EEPROM_DRIER_LOADING_ARM_ANGLE"};
-
-
-public void OnExecute(StubManager stubManager)
-{
- string FileName;
- StubReadEmbeddedVersionRequest stubReadEmbeddedVersionRequest = new StubReadEmbeddedVersionRequest();
- var response2 = stubManager.Run<StubReadEmbeddedVersionResponse>(stubReadEmbeddedVersionRequest);
-
- if ((response2.VerMajor>=1)&&(response2.VerMinor>=5)&&(response2.VerPatch>=2)&&(response2.VerBuild>=2))
- {
- MainCardStoredDataRequest mainCardStoredDataRequest = new MainCardStoredDataRequest();
- var response3 = stubManager.Run<MainCardStoredDataResponse>(mainCardStoredDataRequest);
- FileName = "C:/temp/mainEEProm"/*+stubManager.ConnectedMachine.SerialNumber*/+".json";
- stubManager.AppendToFile(FileName, "MainCardStoredData: "+ response3);
- }
- else
- {
- FileName = "C:/temp/mainEEProm"/*+stubManager.ConnectedMachine.SerialNumber*/+".csv";
- stubManager.AppendToFile(FileName, "Address,Name,Data");
- for (int i = 1; i < 36; i++)
- {
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- stubMainCardEEpromReadRequest.Address = i;
- stubMainCardEEpromReadRequest.Data = 0;
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
- stubManager.AppendToFile(FileName, "\r\n"+response.Address + "," + Main_Card_EEpromAddress[i] +"," + response.Data);
- }
- }
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/read embedded version.cs b/Software/Stubs Collection/stubs/read embedded version.cs
index 8990fc2cd..27424c029 100644
--- a/Software/Stubs Collection/stubs/read embedded version.cs
+++ b/Software/Stubs Collection/stubs/read embedded version.cs
@@ -8,7 +8,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Tango.PMR.Stubs;
-using Tango.Stubs;
+using Tango.Stubs.UI;
public void OnExecute(StubManager stubManager)
{
diff --git a/Software/Stubs Collection/stubs/read main card eeprom.cs b/Software/Stubs Collection/stubs/read main card eeprom.cs
deleted file mode 100644
index 3ba77a86b..000000000
--- a/Software/Stubs Collection/stubs/read main card eeprom.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-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)
-{
-
-
- for (int i = 0; i < 30; i++)
- {
- StubMainCardEEpromReadRequest stubMainCardEEpromReadRequest = new StubMainCardEEpromReadRequest();
- stubMainCardEEpromReadRequest.Address = i;
- stubMainCardEEpromReadRequest.Data = 0;
-
- var response = stubManager.Run<StubMainCardEEpromReadResponse>(stubMainCardEEpromReadRequest);
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/reload main card EEPROM.cs b/Software/Stubs Collection/stubs/reload main card EEPROM.cs
deleted file mode 100644
index 3ddaf6c40..000000000
--- a/Software/Stubs Collection/stubs/reload main card EEPROM.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Stubs;
-using Tango.PMR.EmbeddedParameters;
-using Tango.Stubs;
-using System.IO;
-using Tango.PMR.IO;
-using Google.Protobuf;
-
-string[] Main_Card_EEpromAddress = {
-"DATA_SIZE",
-"DANCER_0",
-"DANCER_1",
-"DANCER_2",
-"DRYER_CENTER",
-"DRYER_CYCLES",
-"MIDTANK_1_A",
-"MIDTANK_1_B",
-"MIDTANK_2_A",
-"MIDTANK_2_B",
-"MIDTANK_3_A",
-"MIDTANK_3_B",
-"MIDTANK_4_A",
-"MIDTANK_4_B",
-"MIDTANK_5_A",
-"MIDTANK_5_B",
-"MIDTANK_6_A",
-"MIDTANK_6_B",
-"MIDTANK_7_A",
-"MIDTANK_7_B",
-"MIDTANK_8_A",
-"MIDTANK_8_B",
-"WINDER_CALIBRATION",
-"EMBEDDED_VERSION",
-"EEPROM_ALARM_SUPPORT",
-"EEPROM_ORIFICE1_ZERO_VALUE",
-"EEPROM_ORIFICE3_ZERO_VALUE",
-"EEPROM_WASTE_TANK_ZERO_VALUE",
-"EEPROM_PULLER_TENSION_POSITION",
-"EEPROM_WINDER_TENSION_POSITION",
-"EEPROM_INIT_FAILURE_COUNTER",
-"DANCER_3",
-"DANCER_4",
-"EEPROM_PRESSURE_SENSOR_V0_0",
-"EEPROM_PRESSURE_SENSOR_V0_1",
-"EEPROM_DRIER_LOADING_ARM_ANGLE"};
-
-
-public void OnExecute(StubManager stubManager)
-{
- string filename = "c:\\temp\\mainEEProm10104.csv";//stubManager.ShowResponseWindow("Please Enter FileName");
- string line;
- string[] Table1 = new string [4] ;
- int i;
-
- // Read the file and display it line by line.
-
- stubManager.Write("\r\nfile name " + filename);
- System.IO.StreamReader file = new System.IO.StreamReader(filename);
-
- line = file.ReadLine();
- stubManager.Write("\r\n line " + line);
- line = file.ReadLine();
- stubManager.Write("\r\n line " + line);
- int j=0;
- while(line != null)
- {
- j++;
- //stubManager.Write("\r\n line " + line + " null? " + (line==null));
- string[] words = line.Split(',');
- i=0;
- foreach (var word in words)
- {
- Table1[i]=word;
- i=i+1;
- }
- //stubManager.Write("\r\nfile read\t"+ (i) + " " + Table1[1] + " "+ Table1[2] + " "+ Table1[3] + " ");
- int Address = Convert.ToInt32(Table1[0]);
- int Data = Convert.ToInt32(Table1[2]);
- string name = Table1[1];
- //stubManager.Write("\r\nfile read\t"+ (i) + " " + j + " "+ Table1[2] + " "+ Data + " ");
- if (Address>0)
- {
- StubMainCardEEpromWriteRequest stubMainCardEEpromWriteRequest = new StubMainCardEEpromWriteRequest();
- stubMainCardEEpromWriteRequest.Address = j;
- stubMainCardEEpromWriteRequest.Data = Data;
-
- var response = stubManager.Run<StubMainCardEEpromWriteResponse>(stubMainCardEEpromWriteRequest);
- stubManager.Write("\r\nMain_Card_Data write \t"+ j + " " +Table1[1] + " address \t "+ j+" data: \t" + Data);
- }
- line = file.ReadLine();
- }
- stubManager.Write("\r\n last line " + line + "null? " + (line==null));
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/set test VAC.cs b/Software/Stubs Collection/stubs/set test VAC.cs
deleted file mode 100644
index b3f0ff27f..000000000
--- a/Software/Stubs Collection/stubs/set test VAC.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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 = 0xB6;
-progressRequest.Delay = 160;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/stop whs blower control.cs b/Software/Stubs Collection/stubs/stop whs blower control.cs
deleted file mode 100644
index b2bfbe23e..000000000
--- a/Software/Stubs Collection/stubs/stop whs blower control.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-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 = 0x3e8;
-progressRequest.Delay = 100;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/technician view files/ARC head techboard.tpf b/Software/Stubs Collection/stubs/technician view files/ARC head techboard.tpf
deleted file mode 100644
index 902c1d414..000000000
--- a/Software/Stubs Collection/stubs/technician view files/ARC head techboard.tpf
+++ /dev/null
@@ -1,2722 +0,0 @@
-<?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="DigitalOutItem">
- <ID>e4892498-fa1a-413c-9dd8-633efaade51c</ID>
- <Left>461</Left>
- <Top>703.30530973452176</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>1015</Left>
- <Top>597.31415929203365</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>180</SetPoint>
- <CurrentValue>180.04999999999998</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>180</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>0ac64716-d30c-489b-939e-a26d06445866</ID>
- <Left>909</Left>
- <Top>676.91592920354287</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>36</SetPoint>
- <CurrentValue>195.07</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>36</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>181796d8-64f6-420a-8f37-9af9df67d6a9</ID>
- <Left>776</Left>
- <Top>676.15044247787159</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>196.38</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>848</Left>
- <Top>115.38495575221202</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>85</SetPoint>
- <CurrentValue>85.02</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>85</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>7e8dd386-cca6-4d07-8a3e-af5403756002</ID>
- <Left>1024</Left>
- <Top>116.35840707964502</Top>
- <Width>200</Width>
- <Height>194.90707964601751</Height>
- <Angle>0</Angle>
- <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeaterZone2</HeaterType>
- <SetPoint>80</SetPoint>
- <CurrentValue>80.52</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>80</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
- <Left>1221</Left>
- <Top>116.60619469026824</Top>
- <Width>170</Width>
- <Height>192.69026548672593</Height>
- <Angle>0</Angle>
- <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeaterZone1</HeaterType>
- <SetPoint>80</SetPoint>
- <CurrentValue>80.19</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>80</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>c844235a-8a29-4c2e-a964-e8f546d2ced7</ID>
- <Left>1212</Left>
- <Top>599.55752212389427</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>79.08</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>80</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
- <Left>1033</Left>
- <Top>341.74778761061987</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>1.22</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>327</Left>
- <Top>682.06637168140855</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 />
- </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 />
- </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 />
- </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 />
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>f6d44793-ed44-46ed-8854-eacbc11af10c</ID>
- <Left>624</Left>
- <Top>697.74778761062794</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>345.00000000002086</Left>
- <Top>136.75221238937925</Top>
- <Width>203</Width>
- <Height>107.40707964601774</Height>
- <Angle>0</Angle>
- <ColorNumber>-1</ColorNumber>
- <SelectedMonitorsGuids>
- <string>D023F15D-3555-48E9-A9E9-5DF99F60D791</string>
- <string>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</string>
- <string>AFB7B6F7-8FFB-4A7F-B814-04F0C163CAA1</string>
- <string>C8AB34C4-F921-4329-817A-7698DDAD01C6</string>
- <string>48E8DD1B-46EC-4576-B513-7E734503B6DA</string>
- <string>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</string>
- <string>D7585119-4A42-4370-8F1E-F3E62553E588</string>
- <string>098F7CAB-030C-46B0-B2B8-A85AF2253032</string>
- </SelectedMonitorsGuids>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>be9db1fd-d408-4f1c-a15a-d6ffe58fafb6</ID>
- <Left>1225</Left>
- <Top>341.14159292034878</Top>
- <Width>175</Width>
- <Height>193.42920353982305</Height>
- <Angle>0</Angle>
- <ItemGuid>188285E5-1493-4BED-8269-91743770A631</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeaterZone7</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>1.17</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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 />
- </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 />
- </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>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </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>283</Left>
- <Top>565.19469026548632</Top>
- <Width>93</Width>
- <Height>82.774336283185448</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>1382.875</Left>
- <Top>116.79102777534303</Top>
- <Width>212</Width>
- <Height>190.06194690265767</Height>
- <Angle>0</Angle>
- <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater1</HeaterType>
- <SetPoint>250</SetPoint>
- <CurrentValue>250</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>250</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>0f7a35fc-e363-45b2-948d-ba66f91e4f0d</ID>
- <Left>1401.8333333333333</Left>
- <Top>342.54486112328044</Top>
- <Width>187</Width>
- <Height>189.87168141593145</Height>
- <Angle>0</Angle>
- <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater2</HeaterType>
- <SetPoint>250</SetPoint>
- <CurrentValue>250.04999999999998</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>250</SetPoint>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>379cc480-084f-4349-bb87-2c18b3c839e4</ID>
- <Left>17</Left>
- <Top>26.340707964601791</Top>
- <Width>255</Width>
- <Height>317.65929203539906</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>77e783e1-c5bb-4eac-8768-c9a28fc69c97</Guid>
- <LastUpdated>2020-03-04T15:02:12.3146789Z</LastUpdated>
- <Name>Process parameters 4</Name>
- <DyeingSpeed>50</DyeingSpeed>
- <MinInkUptake>0</MinInkUptake>
- <MaxInkUptake>0</MaxInkUptake>
- <FeederTension>9</FeederTension>
- <PullerTension>0</PullerTension>
- <WinderTension>0</WinderTension>
- <MixerTemp>80</MixerTemp>
- <HeadZone1Temp>80</HeadZone1Temp>
- <HeadZone2Temp>80</HeadZone2Temp>
- <HeadZone3Temp>90</HeadZone3Temp>
- <HeadZone4Temp>100</HeadZone4Temp>
- <HeadZone5Temp>110</HeadZone5Temp>
- <HeadZone6Temp>120</HeadZone6Temp>
- <DryerAirFlow>6</DryerAirFlow>
- <DryerZone1Temp>180</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>30</DryerBufferLength>
- <HeadAirFlow>6</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>135</HeadZone7Temp>
- <HeadZone8Temp>135</HeadZone8Temp>
- <HeadZone9Temp>135</HeadZone9Temp>
- <HeadZone10Temp>135</HeadZone10Temp>
- <HeadZone11Temp>140</HeadZone11Temp>
- <HeadZone12Temp>140</HeadZone12Temp>
- <RBlowerFlow>120</RBlowerFlow>
- <RBlowerTemp>169</RBlowerTemp>
- <LBlowerFlow>110</LBlowerFlow>
- <LBlowerTemp>169</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </ProcessParameters>
- <ParametersIndices>
- <ParameterIndex>
- <Name>Process Parameters Tables Group Guid</Name>
- <Index>0</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Name</Name>
- <Index>1</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Table Index</Name>
- <Index>2</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dyeing Speed</Name>
- <Index>3</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Min Ink Uptake</Name>
- <Index>4</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Max Ink Uptake</Name>
- <Index>5</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Feeder Tension</Name>
- <Index>6</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Puller Tension</Name>
- <Index>7</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Winder Tension</Name>
- <Index>8</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Mixer Temp</Name>
- <Index>9</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 1 Temp</Name>
- <Index>10</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 2 Temp</Name>
- <Index>11</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 3 Temp</Name>
- <Index>12</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 4 Temp</Name>
- <Index>13</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 5 Temp</Name>
- <Index>14</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 6 Temp</Name>
- <Index>15</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 7 Temp</Name>
- <Index>16</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 8 Temp</Name>
- <Index>17</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 9 Temp</Name>
- <Index>18</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 10 Temp</Name>
- <Index>19</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 11 Temp</Name>
- <Index>20</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 12 Temp</Name>
- <Index>21</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Flow</Name>
- <Index>22</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Temp</Name>
- <Index>23</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Flow</Name>
- <Index>24</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Temp</Name>
- <Index>25</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 1 Temp</Name>
- <Index>26</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 2 Temp</Name>
- <Index>27</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 3 Temp</Name>
- <Index>28</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Air Flow</Name>
- <Index>29</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Air Flow</Name>
- <Index>30</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Buffer Length</Name>
- <Index>31</Index>
- </ParameterIndex>
- </ParametersIndices>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>9b9fde94-ce8c-4401-8961-9d1d44ae2bcf</ID>
- <Left>24</Left>
- <Top>364.40265486725747</Top>
- <Width>250</Width>
- <Height>310.15486725663669</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>e7434743-ec18-4ae3-91a9-e25db760963d</Guid>
- <LastUpdated>2020-03-04T15:03:44.3914568Z</LastUpdated>
- <Name>Process parameters 5</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>5</DryerAirFlow>
- <DryerZone1Temp>180</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>5</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>120</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>120</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </ProcessParameters>
- <ParametersIndices>
- <ParameterIndex>
- <Name>Process Parameters Tables Group Guid</Name>
- <Index>0</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Name</Name>
- <Index>1</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Table Index</Name>
- <Index>2</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dyeing Speed</Name>
- <Index>3</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Min Ink Uptake</Name>
- <Index>4</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Max Ink Uptake</Name>
- <Index>5</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Feeder Tension</Name>
- <Index>6</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Puller Tension</Name>
- <Index>7</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Winder Tension</Name>
- <Index>8</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Mixer Temp</Name>
- <Index>9</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 1 Temp</Name>
- <Index>10</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 2 Temp</Name>
- <Index>11</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 3 Temp</Name>
- <Index>12</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 4 Temp</Name>
- <Index>13</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 5 Temp</Name>
- <Index>14</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 6 Temp</Name>
- <Index>15</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 7 Temp</Name>
- <Index>16</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 8 Temp</Name>
- <Index>17</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 9 Temp</Name>
- <Index>18</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 10 Temp</Name>
- <Index>19</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 11 Temp</Name>
- <Index>20</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 12 Temp</Name>
- <Index>21</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Flow</Name>
- <Index>22</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Temp</Name>
- <Index>23</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Flow</Name>
- <Index>24</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Temp</Name>
- <Index>25</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 1 Temp</Name>
- <Index>26</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 2 Temp</Name>
- <Index>27</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 3 Temp</Name>
- <Index>28</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Air Flow</Name>
- <Index>29</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Air Flow</Name>
- <Index>30</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Buffer Length</Name>
- <Index>31</Index>
- </ParameterIndex>
- </ParametersIndices>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>82576c3f-1790-4074-97a3-65a12bd812c1</ID>
- <Left>448</Left>
- <Top>562.51327433628489</Top>
- <Width>131</Width>
- <Height>109.43362831858394</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>8a68cdf4-136b-4db4-bc4e-b3157790be6a</ID>
- <Left>596</Left>
- <Top>565.796460176992</Top>
- <Width>131</Width>
- <Height>109.43362831858394</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>a842a172-2661-4190-961d-af98e9eb63e5</ID>
- <Left>554</Left>
- <Top>9.1150442477876368</Top>
- <Width>167</Width>
- <Height>69.9159292035398</Height>
- <Angle>0</Angle>
- <ItemGuid>D59EFB38-79D9-446C-BCB5-92D8FDA900E4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>8979f624-9190-4eaf-9157-0a74be19c198</ID>
- <Left>750</Left>
- <Top>8.1017699115044479</Top>
- <Width>161</Width>
- <Height>62.823008849557539</Height>
- <Angle>0</Angle>
- <ItemGuid>9F98B9D3-F989-4D03-90E8-721671835E0B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>c2e5796d-c2cb-495c-becb-a52993a5729f</ID>
- <Left>346</Left>
- <Top>6.07522123893807</Top>
- <Width>181</Width>
- <Height>68.902654867256615</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC02</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>65283da8-5813-4769-a803-43c97cacab10</ID>
- <Left>953</Left>
- <Top>19.769911504424272</Top>
- <Width>161</Width>
- <Height>62.823008849557539</Height>
- <Angle>0</Angle>
- <ItemGuid>055D0A38-09BD-490D-9852-12B06A4B22F2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>c667e35c-8a9d-4f6f-bd45-37bf90f05e2a</ID>
- <Left>77</Left>
- <Top>710.30088495575228</Top>
- <Width>227</Width>
- <Height>69.915929203539918</Height>
- <Angle>0</Angle>
- <ItemGuid>B6FE07F8-2435-495D-ABFE-358C76812413</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>b5524d9f-9c3a-4ef1-b9da-410335621cbb</ID>
- <Left>780</Left>
- <Top>346.53539823008856</Top>
- <Width>188</Width>
- <Height>74.982300884955748</Height>
- <Angle>0</Angle>
- <ItemGuid>0E3AB840-8B2C-4930-9208-E1EBB1F0134B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>7ae4982d-57a1-4aef-a12e-bfd9507bee5f</ID>
- <Left>798</Left>
- <Top>446.84955752212392</Top>
- <Width>194</Width>
- <Height>81.061946902654824</Height>
- <Angle>0</Angle>
- <ItemGuid>A7064ADF-D57C-4F3C-ADBB-EE7606E2BD12</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>872b0d70-353a-4358-b47a-fa6a816cb3d7</ID>
- <Left>585</Left>
- <Top>344.50884955752218</Top>
- <Width>172</Width>
- <Height>86.128318584070826</Height>
- <Angle>0</Angle>
- <ItemGuid>A405F987-73B5-4B3C-93D5-C9F968BD1FF5</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>104fcafe-6135-4784-88ee-8cd3ca8732a2</ID>
- <Left>596</Left>
- <Top>450.90265486725667</Top>
- <Width>172</Width>
- <Height>72.955752212389314</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>1ef4079e-925c-41b6-a5b0-5710a7258526</ID>
- <Left>318</Left>
- <Top>344.50884955752218</Top>
- <Width>227</Width>
- <Height>69.915929203539918</Height>
- <Angle>0</Angle>
- <ItemGuid>998B5E61-3119-443D-ABAA-EFBC283B1021</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>d0bc8dfb-339b-477f-93cd-53d23f50930e</ID>
- <Left>331</Left>
- <Top>457.99557522123888</Top>
- <Width>227</Width>
- <Height>69.915929203539918</Height>
- <Angle>0</Angle>
- <ItemGuid>080EB945-8E52-4876-9704-F9908FD26967</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </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>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100000</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <TechItem xsi:type="ThreadMotionItem">
- <ID>51e66b20-f2a9-4f32-9e4e-ba06a0adccfc</ID>
- <Left>453</Left>
- <Top>19.247787610619469</Top>
- <Width>346</Width>
- <Height>195.56194690265488</Height>
- <Angle>0</Angle>
- <ColorNumber>-1</ColorNumber>
- <Speed>40</Speed>
- </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>20</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>20</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>20</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>20</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>1000</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>20</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>20</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>13</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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>7F9C5DE0-9E24-494D-841F-976DB440DBFD</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>500</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>500</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>50</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>29</Left>
- <Top>572.89380530973028</Top>
- <Width>221</Width>
- <Height>176.93805309734751</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>599</Left>
- <Top>578.80973451326713</Top>
- <Width>240</Width>
- <Height>157.80088495575205</Height>
- <Angle>0</Angle>
- <ItemGuid>f3b5076e-cba3-4ad2-b3cc-0c4e907bd9ef</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>5</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID>
- <Left>1037</Left>
- <Top>247.03097345133062</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>900</Left>
- <Top>580.00442477876311</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>1182</Left>
- <Top>572.30088495575171</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>
- <TechItem xsi:type="DigitalOutItem">
- <ID>bba24461-e18d-497a-b85d-808668d0c750</ID>
- <Left>892</Left>
- <Top>457.57079646017365</Top>
- <Width>170</Width>
- <Height>87.999999999997613</Height>
- <Angle>0</Angle>
- <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>9ccdbff6-031d-4364-8732-daade6b88551</ID>
- <Left>1062</Left>
- <Top>452.95575221238948</Top>
- <Width>170</Width>
- <Height>87.999999999997613</Height>
- <Angle>0</Angle>
- <ItemGuid>8a65badb-3d7d-4b7b-8dcd-783e443b0689</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>22bb90e5-f05c-4a47-925e-516a252de2ac</ID>
- <Left>324</Left>
- <Top>546.82743362833332</Top>
- <Width>213</Width>
- <Height>211.8141592920241</Height>
- <Angle>0</Angle>
- <ItemGuid>c9482395-35e6-4340-8dab-83d5dfe907a7</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>5</Speed>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- <MachineTechViewProjectTab>
- <Name>Head graphs</Name>
- <Items>
- <TechItem xsi:type="SingleGraphItem">
- <ID>ffe980da-dbbe-4bac-9595-46f587e9df00</ID>
- <Left>683</Left>
- <Top>6.8230088495575387</Top>
- <Width>585</Width>
- <Height>254.03097345132755</Height>
- <Angle>0</Angle>
- <ItemGuid>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>81b78212-14d8-4a66-bf3a-eeea9900e0d6</ID>
- <Left>536</Left>
- <Top>184.21238938053108</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>3941a557-05e6-4c1b-bb98-4f2a59892431</ID>
- <Left>533</Left>
- <Top>22.663716814159159</Top>
- <Width>141</Width>
- <Height>109.433628318584</Height>
- <Angle>0</Angle>
- <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater1</HeaterType>
- <SetPoint>250</SetPoint>
- <CurrentValue>249.95</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>250</SetPoint>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>85b25b0b-cd3d-4a8a-88f5-f832623d7ec2</ID>
- <Left>5.75</Left>
- <Top>316.7892753877166</Top>
- <Width>516</Width>
- <Height>326.98672566371658</Height>
- <Angle>0</Angle>
- <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E448DD</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>HeadCoverHeater2</HeaterType>
- <SetPoint>250</SetPoint>
- <CurrentValue>249.98999999999998</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>250</SetPoint>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>63ccee8d-ce38-4c69-b8d1-141f320d11f9</ID>
- <Left>5</Left>
- <Top>5.0619469026551087</Top>
- <Width>518</Width>
- <Height>295.5752212389379</Height>
- <Angle>0</Angle>
- <ItemGuid>0E4783A1-B8DE-451E-B357-322C39E448CC</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>b339a7c0-7555-4e54-9834-6193ed7c2b7a</ID>
- <Left>536</Left>
- <Top>334.00442477876118</Top>
- <Width>137</Width>
- <Height>105.3805309734513</Height>
- <Angle>0</Angle>
- <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater2</HeaterType>
- <SetPoint>250</SetPoint>
- <CurrentValue>249.98999999999998</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>250</SetPoint>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>40d16753-8448-4af9-8fbd-98c1ed301de5</ID>
- <Left>684</Left>
- <Top>264.46017699115009</Top>
- <Width>584</Width>
- <Height>252.004424778761</Height>
- <Angle>0</Angle>
- <ItemGuid>D7585119-4A42-4370-8F1E-F3E62553E588</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>b3826c8e-1d82-4f4f-ad9f-d88f257dffb2</ID>
- <Left>1279</Left>
- <Top>61.871681415929345</Top>
- <Width>128</Width>
- <Height>99.57522123893591</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>1415</Left>
- <Top>526.52654867256626</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>85</SetPoint>
- <CurrentValue>84.94</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>85</SetPoint>
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>233f0076-7595-4ecb-8496-41eeb7b457ea</ID>
- <Left>1283</Left>
- <Top>538.11061946902646</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>1411</Left>
- <Top>25.969026548672616</Top>
- <Width>107</Width>
- <Height>165.16371681415916</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>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>80</SetPoint>
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>72d7192b-dd27-4064-9f5f-90062388a81c</ID>
- <Left>1284</Left>
- <Top>298.97787610619486</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>1415</Left>
- <Top>286.38053097345141</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>80</SetPoint>
- <CurrentValue>79</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>80</SetPoint>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>4f3b4ecd-759a-4ba5-80f3-74cc485d7085</ID>
- <Left>684</Left>
- <Top>518.79203539822981</Top>
- <Width>586</Width>
- <Height>276.32300884955743</Height>
- <Angle>0</Angle>
- <ItemGuid>098F7CAB-030C-46B0-B2B8-A85AF2253032</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>b53a74f3-8e91-40ce-b980-c5b237baeee9</ID>
- <Left>536</Left>
- <Top>482.38053097345153</Top>
- <Width>143</Width>
- <Height>92.482300884953418</Height>
- <Angle>0</Angle>
- <ItemGuid>500698E0-5623-4A47-9537-FCAAF5D0B725</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </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>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>HeadCoverHeater1</HeaterType>
- <SetPoint>250</SetPoint>
- <CurrentValue>249.95</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>250</SetPoint>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- <MachineTechViewProjectTab>
- <Name>waste</Name>
- <Items>
- <TechItem xsi:type="DigitalOutItem">
- <ID>bb9bf273-0a3d-4202-98ce-37a5f206ed75</ID>
- <Left>118</Left>
- <Top>74.380530973451243</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>76</Left>
- <Top>313.99115044248094</Top>
- <Width>356</Width>
- <Height>208.10619469026472</Height>
- <Angle>0</Angle>
- <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="PidItem">
- <ID>6cbf28b4-4e53-4aae-9c6e-a506f8538f51</ID>
- <Left>414</Left>
- <Top>342.61504424777644</Top>
- <Width>187</Width>
- <Height>142.7477876106214</Height>
- <Angle>0</Angle>
- <ItemGuid>31000237-0c0e-40f0-a400-1d8055fa230e</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>e45af3fe-dda1-49a8-ba8e-183c98de3952</ID>
- <Left>642</Left>
- <Top>437.73008849557533</Top>
- <Width>181</Width>
- <Height>95.247787610619469</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>c29a04b8-eeec-4a16-91b4-d1c63dddb868</ID>
- <Left>853</Left>
- <Top>443.80973451327435</Top>
- <Width>467</Width>
- <Height>286.75663716814171</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>1</DecimalPlaces>
- <Duration>10</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>f93bb87b-d029-42af-99bd-57db41ed1329</ID>
- <Left>55</Left>
- <Top>576.54867256637181</Top>
- <Width>190</Width>
- <Height>106.53982300885139</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>5dff5069-ad45-4ed2-a2d2-e58121c4de56</ID>
- <Left>263</Left>
- <Top>529.49557522123735</Top>
- <Width>467</Width>
- <Height>286.75663716814171</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>1</DecimalPlaces>
- <Duration>10</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>D023F15D-3555-48E9-A9E9-5DF99F60D791</string>
- <string>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</string>
- <string>AFB7B6F7-8FFB-4A7F-B814-04F0C163CAA1</string>
- <string>FE0D0A56-5795-4C5A-8E09-939FBB35C441</string>
- <string>A8DB1D27-6B25-4FB4-A3F5-46A29BA51955</string>
- <string>D7585119-4A42-4370-8F1E-F3E62553E588</string>
- <string>098F7CAB-030C-46B0-B2B8-A85AF2253032</string>
- <string>1778C1A7-AFB5-42F9-9E00-E80D30D9FC02</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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- </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/technician view files/FSE Draft 1.tpf b/Software/Stubs Collection/stubs/technician view files/FSE Draft 1.tpf
deleted file mode 100644
index fa2679a29..000000000
--- a/Software/Stubs Collection/stubs/technician view files/FSE Draft 1.tpf
+++ /dev/null
@@ -1,1401 +0,0 @@
-<?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="HeaterItem">
- <ID>a15665e3-af39-42d8-8c06-97d770632e10</ID>
- <Left>660.29166666666652</Left>
- <Top>9.9377026198189924</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>69.85</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>460.29166666666669</Left>
- <Top>19.687461666518857</Top>
- <Width>192.50000000000023</Width>
- <Height>171.73495137124343</Height>
- <Angle>0</Angle>
- <ItemGuid>A5DFC2DB-3B36-4377-96A0-D492CE785C00</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>DryerMainHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>92.97</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>302.41666666666669</Left>
- <Top>15.607640410059048</Top>
- <Width>161.37500000000006</Width>
- <Height>176.14921580653623</Height>
- <Angle>0</Angle>
- <ItemGuid>86808B48-B7F9-43AD-840E-2A6A5987C305</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>DryerSecondaryHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>92.94</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>604.9583333333336</Left>
- <Top>254.26723911329191</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>39.55</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>779.958333333334</Left>
- <Top>259.33361079470779</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>0</SetPoint>
- <CurrentValue>37.29</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
- <Left>986.00000000000057</Left>
- <Top>258.07955839831766</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>34.27</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>872.291666666667</Left>
- <Top>4.8713309384033892</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>0</SetPoint>
- <CurrentValue>54.669999999999995</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID>
- <Left>424.9583333333336</Left>
- <Top>251.60352229913406</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>0</SetPoint>
- <CurrentValue>40.71</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
- <Left>220.95833333333351</Left>
- <Top>256.66546920178428</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>43.389999999999993</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>30.083333333333513</Left>
- <Top>256.74861999474194</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>46.809999999999995</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>be9db1fd-d408-4f1c-a15a-d6ffe58fafb6</ID>
- <Left>965.95833333333428</Left>
- <Top>514.749539998249</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>0</SetPoint>
- <CurrentValue>50.449999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>381f67cf-b7c6-4f6d-b089-37130798a5d8</ID>
- <Left>780.958333333334</Left>
- <Top>513.73626566196572</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>0</SetPoint>
- <CurrentValue>48.22</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>3c923a93-4d15-4bbc-b1b3-be1876a77cfc</ID>
- <Left>597.9583333333336</Left>
- <Top>514.749539998249</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>0</SetPoint>
- <CurrentValue>47.269999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>26e078e6-df8c-4fbf-b10e-4b3f7c7e9500</ID>
- <Left>32.958333333333485</Left>
- <Top>513.736265661966</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>0</SetPoint>
- <CurrentValue>39.64</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>7a8c3948-bb3d-4eb1-9276-315d34038f91</ID>
- <Left>223.9583333333334</Left>
- <Top>514.74953999824925</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>0</SetPoint>
- <CurrentValue>45.449999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>f7d4c8ac-28cb-4779-83ef-3ede5e5a612c</ID>
- <Left>411.9583333333336</Left>
- <Top>515.76281433453232</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>0</SetPoint>
- <CurrentValue>48.459999999999994</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>e502555c-95b0-4688-b5e3-8becb30fc62c</ID>
- <Left>590.65211589505361</Left>
- <Top>741.78705872367811</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>0f7a35fc-e363-45b2-948d-ba66f91e4f0d</ID>
- <Left>40.197317631796878</Left>
- <Top>749.47260403204439</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>748a5cd1-815b-4ffb-92fb-0c01cf381102</ID>
- <Left>1494.0091846051309</Left>
- <Top>431.98134057113157</Top>
- <Width>167.70833333333334</Width>
- <Height>104.29702970297035</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>d462f0fc-2c71-4ba9-b3bd-1e8c64f36707</ID>
- <Left>1128.2727185092199</Left>
- <Top>850.9809690133618</Top>
- <Width>186</Width>
- <Height>195.56194690265494</Height>
- <Angle>0</Angle>
- <ItemGuid>8E764A14-0F84-4FEC-928B-32A2509CAD57</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>8e2c2474-5764-493f-ac2c-33a8a4a0ffdc</ID>
- <Left>1315.9696925879443</Left>
- <Top>853.53491694908257</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</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>71a948e8-676f-4b97-916b-edce26c01370</ID>
- <Left>1520.8570888838171</Left>
- <Top>845.99980518845655</Top>
- <Width>157</Width>
- <Height>194.54867256637175</Height>
- <Angle>0</Angle>
- <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</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="TextItem">
- <ID>d5bc68e3-a665-4951-a377-f9e0df4112be</ID>
- <Left>1109.7519712733683</Left>
- <Top>50.901960902201267</Top>
- <Width>449.5089477623826</Width>
- <Height>55.327112636891911</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Common</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>4a8362d4-e873-46a1-afbb-f56036c0f2cb</ID>
- <Left>1045.9458963394222</Left>
- <Top>460.86118629158989</Top>
- <Width>449.5089477623826</Width>
- <Height>55.327112636891911</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Flat Head</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>7e7868fd-3c47-4d5f-8c6f-fa4b18ae05b3</ID>
- <Left>1260.3013710587918</Left>
- <Top>791.39094759212651</Top>
- <Width>232.78141937694795</Width>
- <Height>45.135276098517238</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Arc</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>1de56a7a-e25e-4508-a87e-de0230e91dc3</ID>
- <Left>1516.0481568975797</Left>
- <Top>366.24959926534439</Top>
- <Width>117.72853393776677</Width>
- <Height>48.047229395195586</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Ambient</Text>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>51ce86b2-0063-48c6-89f6-182a189ffaaa</ID>
- <Left>70.075574021778309</Left>
- <Top>976.2041030585757</Top>
- <Width>140.47154617574461</Width>
- <Height>104.83031868042667</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>9001f8a5-c4c2-4be8-820f-2174b580c53b</ID>
- <Left>252.40090220375726</Left>
- <Top>947.54574115036348</Top>
- <Width>148.7597052289122</Width>
- <Height>121.44535613863422</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>9f31d14c-d7ec-45c1-b87c-3f4923a6af58</ID>
- <Left>260.2054564281259</Left>
- <Top>787.10370299452848</Top>
- <Width>142.5965330388309</Width>
- <Height>127.53048371566092</Height>
- <Angle>0</Angle>
- <ItemGuid>080EB945-8E52-4876-9704-F9908FD26967</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>5c687318-7840-4196-af07-2455e10d1bcf</ID>
- <Left>816.2919957682775</Left>
- <Top>836.89502513753882</Top>
- <Width>153.84978866867277</Width>
- <Height>58.239065933570373</Height>
- <Angle>0</Angle>
- <ItemGuid>998B5E61-3119-443D-ABAA-EFBC283B1021</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>95a693e0-816b-4edc-a2ae-98ac393c6f48</ID>
- <Left>819.83243778511473</Left>
- <Top>957.65691621970711</Top>
- <Width>128.43112793210935</Width>
- <Height>104.83031868042667</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>8d26a1fe-4293-413d-9f4e-b3a562bf25db</ID>
- <Left>628.1918504863404</Left>
- <Top>971.65955281411607</Top>
- <Width>128.43112793210935</Width>
- <Height>104.83031868042667</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>e1273b48-af58-4acd-9e8a-11bc59516b16</ID>
- <Left>612.48035467271029</Left>
- <Top>949.40114439880108</Top>
- <Width>163.52519712936567</Width>
- <Height>30.060733624349837</Height>
- <Angle>0</Angle>
- <ColorNumber>-12968193</ColorNumber>
- <Text>air flow 1</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>31a7f747-9569-473c-a345-696d1acb8044</ID>
- <Left>61.998970290683857</Left>
- <Top>953.87279414695115</Top>
- <Width>160.0623860169863</Width>
- <Height>26.292098005808043</Height>
- <Angle>0</Angle>
- <ColorNumber>-12968193</ColorNumber>
- <Text>air flow 2</Text>
- </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>800</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="MonitorItem">
- <ID>5bf7a681-ee47-477e-8b47-ba7a2eb6e115</ID>
- <Left>1113.3333333333337</Left>
- <Top>463.97555419258936</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>952.33333333333326</Left>
- <Top>464.97555419258811</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>758.33333333333326</Left>
- <Top>462.68794357311867</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>571.33333333333326</Left>
- <Top>464.08617366161127</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>1293.3333333333337</Left>
- <Top>467.71449224568437</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>607.32892156862749</Left>
- <Top>598.34526296666354</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="ValveItem">
- <ID>cdddd48e-422d-48f4-8397-5032c3705fdb</ID>
- <Left>1071.0833333333335</Left>
- <Top>577.88035573468915</Top>
- <Width>382</Width>
- <Height>136.79203539823016</Height>
- <Angle>0</Angle>
- <ItemGuid>04C58CA0-9719-4BB0-8D3B-D4C71129D8E4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ee6d4c5a-ca5b-4557-8012-dacf700cdc08</ID>
- <Left>214.33333333333326</Left>
- <Top>463.08617366162218</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>60.333333333333258</Left>
- <Top>463.48440375011319</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>
- <TechItem xsi:type="MonitorItem">
- <ID>3b484b31-da50-4861-abce-70a06193fe6f</ID>
- <Left>395.33333333333331</Left>
- <Top>465.89108910891088</Top>
- <Width>144</Width>
- <Height>80.495575221237516</Height>
- <Angle>0</Angle>
- <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C092</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- <MachineTechViewProjectTab>
- <Name>Waste</Name>
- <Items>
- <TechItem xsi:type="MonitorItem">
- <ID>73486478-cffe-43f9-a949-0a6b0e522e9e</ID>
- <Left>25.541666666666686</Left>
- <Top>24.896039603960332</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>880c81c4-a02d-4c6e-a861-11a1ca0699d2</ID>
- <Left>789.08333333333326</Left>
- <Top>24.896039603960446</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>47231575-fde1-4ab7-9032-86d48a7fef7b</ID>
- <Left>596.37500000000011</Left>
- <Top>23.762376237623698</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ba429140-e9ef-4257-8666-c1ad03b81e1c</ID>
- <Left>217.20833333333343</Left>
- <Top>22.628712871287121</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ece2bc5a-5a2b-4ff9-a409-4f130e8155ff</ID>
- <Left>984.91666666666674</Left>
- <Top>26.029702970296967</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>4dacd4d7-046e-4478-b7d1-f96539c21d89</ID>
- <Left>1183.8750000000002</Left>
- <Top>22.628712871287121</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>b5c670f3-59c6-40a7-872c-00a128ef5bbe</ID>
- <Left>1371.3749999999998</Left>
- <Top>23.762376237623698</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>f58afef3-9825-4139-8975-fa91c3f3e10d</ID>
- <Left>405.74999999999994</Left>
- <Top>26.029702970297024</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ba8f119b-4c4c-45ed-8bd3-4bdfe2f6dd78</ID>
- <Left>1395.3333333333335</Left>
- <Top>593.99504950495043</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>4a6a278a-633d-4917-acf4-83e9f3818a75</ID>
- <Left>29.708333333333115</Left>
- <Top>249.36138613861391</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>055D0A38-09BD-490D-9852-12B06A4B22F2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>71d506d0-4dcc-4b66-8e26-f5b0fd807b5f</ID>
- <Left>714.08333333333348</Left>
- <Top>245.96039603960367</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>14c6bcd8-c314-444f-939b-340f989c8c8a</ID>
- <Left>924.5</Left>
- <Top>241.42574257425736</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>93c19fe3-5f8e-4260-a908-a6eb2cd83d82</ID>
- <Left>730.75000000000011</Left>
- <Top>430.7475247524751</Top>
- <Width>381.25</Width>
- <Height>91.826732673267259</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>WHS Temperatures</Text>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>77de4fd1-a2e1-46c2-8997-f8a22b4eb906</ID>
- <Left>1406.7916666666663</Left>
- <Top>226.68811881188123</Top>
- <Width>146.87500000000046</Width>
- <Height>99.762376237623585</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>8cd5e67b-34c0-428b-8b74-41d27d2c22cf</ID>
- <Left>1405.7499999999998</Left>
- <Top>419.41089108910887</Top>
- <Width>144.79166666666674</Width>
- <Height>95.227722772277275</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>4988f409-07c8-4cd5-b173-02bd88e67999</ID>
- <Left>1402.6250000000009</Left>
- <Top>332.11881188118815</Top>
- <Width>143.75</Width>
- <Height>86.158415841584088</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>a0f6a227-e63f-44b1-b375-e287dffaadd6</ID>
- <Left>1290.125</Left>
- <Top>531.64356435643606</Top>
- <Width>239.58333333333349</Width>
- <Height>36.277227722772295</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Cartridge</Text>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>716466da-4b1e-4ef6-82a6-a257f0ece033</ID>
- <Left>1259.9166666666661</Left>
- <Top>241.42574257425764</Top>
- <Width>125</Width>
- <Height>100.89603960396016</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>b181b88a-f448-45c0-ad49-5570b2540b4b</ID>
- <Left>1259.9166666666665</Left>
- <Top>427.34653465346491</Top>
- <Width>129.16666666666652</Width>
- <Height>91.826732673267315</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>5905f078-74e3-455d-ad6a-1e1a52da21c3</ID>
- <Left>1247.4166666666667</Left>
- <Top>332.11881188118809</Top>
- <Width>148.95833333333326</Width>
- <Height>89.559405940594047</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>48eeab5d-b535-4206-886f-d176da3e950f</ID>
- <Left>221.37500000000006</Left>
- <Top>464.75742574257436</Top>
- <Width>172.91666666666677</Width>
- <Height>109.96534653465358</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>a866ff20-1f1c-4aa0-891f-4ac5e37db38a</ID>
- <Left>233.87499999999989</Left>
- <Top>599.66336633663366</Top>
- <Width>143.74999999999992</Width>
- <Height>88.425742574257583</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>cbb20fba-d713-4521-8410-148b1156cae5</ID>
- <Left>25.541666666666771</Left>
- <Top>455.68811881188083</Top>
- <Width>172.91666666666669</Width>
- <Height>126.97029702970292</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>f707fe47-9f48-4be2-b0cd-29022c9ec79a</ID>
- <Left>39.083333333333357</Left>
- <Top>621.20297029702988</Top>
- <Width>160.41666666666671</Width>
- <Height>72.554455445544363</Height>
- <Angle>0</Angle>
- <ItemGuid>0B1752D6-7D4B-4957-BCDE-15465EA8EB55</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>87f906c6-e8b9-4d8c-bdef-3ef38c69aa33</ID>
- <Left>407.8333333333328</Left>
- <Top>250.49504950495043</Top>
- <Width>152.08333333333385</Width>
- <Height>140.57425742574253</Height>
- <Angle>0</Angle>
- <ItemGuid>27CEDD42-FDDD-45DF-A9D0-FDBF277FFB0F</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>08ffbe8d-0392-495e-9af0-aa386ee2fad9</ID>
- <Left>225.54166666666697</Left>
- <Top>249.36138613861385</Top>
- <Width>170.83333333333317</Width>
- <Height>145.10891089108895</Height>
- <Angle>0</Angle>
- <ItemGuid>FA21BC1D-04FA-4626-82A4-F77D2A4120C4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>5c3b1479-5875-4e3f-9ed9-00529b403f4f</ID>
- <Left>1239.083333333333</Left>
- <Top>685.82178217821775</Top>
- <Width>173.95833333333354</Width>
- <Height>113.36633663366342</Height>
- <Angle>0</Angle>
- <ItemGuid>7e1f53ec-8176-4efa-ac3d-c8f2436e60d1</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>43e7bf4f-e7ee-4f86-bfe7-dfbe538e4586</ID>
- <Left>1238.0416666666667</Left>
- <Top>567.9207920792079</Top>
- <Width>153.12500000000006</Width>
- <Height>114.5</Height>
- <Angle>0</Angle>
- <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- <MachineTechViewProjectTab>
- <Name>Thread insertion</Name>
- <Items>
- <TechItem xsi:type="MotorItem">
- <ID>443a977c-8e89-4a56-82e4-684bac7945c9</ID>
- <Left>21.874999999999972</Left>
- <Top>32.9640322439318</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>340.41666666666674</Left>
- <Top>230.32064312625903</Top>
- <Width>271.45833333333326</Width>
- <Height>166.60838517480056</Height>
- <Angle>0</Angle>
- <ItemGuid>b90a4e78-ebbf-44db-829b-949517d6400b</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>350</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>e36e321b-d48d-4199-a1ee-75ac18e9de1e</ID>
- <Left>988.91666666666652</Left>
- <Top>244.36432138789076</Top>
- <Width>217</Width>
- <Height>155.26106194690203</Height>
- <Angle>0</Angle>
- <ItemGuid>c6099065-a735-4cc5-b575-c31a45bb9262</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>350</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>8790db03-4dfd-4d49-aec0-706babb55af9</ID>
- <Left>346</Left>
- <Top>438.23254183824758</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>17.25</Left>
- <Top>239.82725838954167</Top>
- <Width>255</Width>
- <Height>170.15044247787392</Height>
- <Angle>0</Angle>
- <ItemGuid>b71ad55d-d296-4371-a6d2-9d3c637c0380</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>1000</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7b5b6896-f626-4e59-a5cf-2600e603c0f6</ID>
- <Left>1280.291666666667</Left>
- <Top>435.1617453780857</Top>
- <Width>237</Width>
- <Height>179.22123893805463</Height>
- <Angle>0</Angle>
- <ItemGuid>7b6d0a93-5a91-4e1f-af47-353afd8b5ea6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>2052a2d3-843c-4a1c-87fd-acd0832fd1b9</ID>
- <Left>688.125</Left>
- <Top>27.933978796104839</Top>
- <Width>220</Width>
- <Height>168.473451327436</Height>
- <Angle>0</Angle>
- <ItemGuid>c9482395-35e6-4340-8dab-83d5dfe907a7</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>1000</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>339b7d00-d688-41cf-926a-8171d5e62740</ID>
- <Left>683.20833333333337</Left>
- <Top>436.40050819241503</Top>
- <Width>240</Width>
- <Height>159.84070796460173</Height>
- <Angle>0</Angle>
- <ItemGuid>f3b5076e-cba3-4ad2-b3cc-0c4e907bd9ef</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>200</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID>
- <Left>1285.5416666666665</Left>
- <Top>39.867782353458267</Top>
- <Width>233</Width>
- <Height>159.57079646017985</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>1018.3333333333334</Left>
- <Top>603.18879530178208</Top>
- <Width>169</Width>
- <Height>83.45969508455255</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>683.25</Left>
- <Top>239.17940068343398</Top>
- <Width>239.95833333333337</Width>
- <Height>154.99115044247867</Height>
- <Angle>0</Angle>
- <ItemGuid>7c03f12f-ab2a-4421-8575-aefd6dec0001</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>10</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>a88a74cb-418b-4ed0-89ec-c42ff560528e</ID>
- <Left>1281.333333333333</Left>
- <Top>233.20743888547975</Top>
- <Width>234.29166666666652</Width>
- <Height>157.55879260492486</Height>
- <Angle>0</Angle>
- <ItemGuid>b7c1aea4-32c1-41cb-bca3-4aa665529b49</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</Speed>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>37267035-ae9d-4c72-a04f-215f754d0900</ID>
- <Left>700.70833333333326</Left>
- <Top>639.25891527204931</Top>
- <Width>205.625</Width>
- <Height>105.8987996144798</Height>
- <Angle>0</Angle>
- <ItemGuid>6b9cba1d-4acf-4992-97ad-e422bca6ada2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>ca4a5397-68a1-4a2f-b614-80132cd513ee</ID>
- <Left>1003.0416666666667</Left>
- <Top>53.154034872515865</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>6313cc40-15b2-41b0-ba61-cd0849421176</ID>
- <Left>20.333333333333371</Left>
- <Top>440.95049504950487</Top>
- <Width>255</Width>
- <Height>170.15044247787392</Height>
- <Angle>0</Angle>
- <ItemGuid>54695c85-b4a5-4e9d-95b1-b9e55844cde2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>122528e8-77bc-40fa-afbc-534c2fb3b0cc</ID>
- <Left>348.45833333333331</Left>
- <Top>30.56435643564356</Top>
- <Width>255</Width>
- <Height>170.15044247787392</Height>
- <Angle>0</Angle>
- <ItemGuid>bda5aa4d-13aa-4259-92e5-b969276cb2b1</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>1000</Speed>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>99884eb7-051d-4e72-97dd-1c52fcd25fff</ID>
- <Left>979.70833333333326</Left>
- <Top>180.20792079207939</Top>
- <Width>196.87499999999977</Width>
- <Height>36.277227722772068</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Right Actuator</Text>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>a4b1a4ee-38ed-48a0-82eb-76b96f06a3ac</ID>
- <Left>1000.9583333333335</Left>
- <Top>444.351485148515</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>698f79a5-0bb1-4f19-a679-0294031ec43d</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>fae05523-674c-4b14-a860-b6cc8e351d76</ID>
- <Left>992.208333333333</Left>
- <Top>553.26675720669289</Top>
- <Width>221.87499999999955</Width>
- <Height>56.683168316831029</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Left Actuator</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>a1fb6ece-dcdb-4d85-b06c-a8df718b6eef</ID>
- <Left>1023.4583333333336</Left>
- <Top>694.891089108911</Top>
- <Width>162.50000000000023</Width>
- <Height>49.881188118811338</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Magnet</Text>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- </Tabs>
- <SelectedTabIndex>0</SelectedTabIndex>
-</MachineTechViewProject> \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/technician view files/FSE Draft 2.tpf b/Software/Stubs Collection/stubs/technician view files/FSE Draft 2.tpf
deleted file mode 100644
index fa2679a29..000000000
--- a/Software/Stubs Collection/stubs/technician view files/FSE Draft 2.tpf
+++ /dev/null
@@ -1,1401 +0,0 @@
-<?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="HeaterItem">
- <ID>a15665e3-af39-42d8-8c06-97d770632e10</ID>
- <Left>660.29166666666652</Left>
- <Top>9.9377026198189924</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>69.85</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>460.29166666666669</Left>
- <Top>19.687461666518857</Top>
- <Width>192.50000000000023</Width>
- <Height>171.73495137124343</Height>
- <Angle>0</Angle>
- <ItemGuid>A5DFC2DB-3B36-4377-96A0-D492CE785C00</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>DryerMainHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>92.97</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>302.41666666666669</Left>
- <Top>15.607640410059048</Top>
- <Width>161.37500000000006</Width>
- <Height>176.14921580653623</Height>
- <Angle>0</Angle>
- <ItemGuid>86808B48-B7F9-43AD-840E-2A6A5987C305</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>DryerSecondaryHeater</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>92.94</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>604.9583333333336</Left>
- <Top>254.26723911329191</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>39.55</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>779.958333333334</Left>
- <Top>259.33361079470779</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>0</SetPoint>
- <CurrentValue>37.29</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
- <Left>986.00000000000057</Left>
- <Top>258.07955839831766</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>34.27</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>872.291666666667</Left>
- <Top>4.8713309384033892</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>0</SetPoint>
- <CurrentValue>54.669999999999995</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID>
- <Left>424.9583333333336</Left>
- <Top>251.60352229913406</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>0</SetPoint>
- <CurrentValue>40.71</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
- <Left>220.95833333333351</Left>
- <Top>256.66546920178428</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>43.389999999999993</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>30.083333333333513</Left>
- <Top>256.74861999474194</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>46.809999999999995</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>be9db1fd-d408-4f1c-a15a-d6ffe58fafb6</ID>
- <Left>965.95833333333428</Left>
- <Top>514.749539998249</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>0</SetPoint>
- <CurrentValue>50.449999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>381f67cf-b7c6-4f6d-b089-37130798a5d8</ID>
- <Left>780.958333333334</Left>
- <Top>513.73626566196572</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>0</SetPoint>
- <CurrentValue>48.22</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>3c923a93-4d15-4bbc-b1b3-be1876a77cfc</ID>
- <Left>597.9583333333336</Left>
- <Top>514.749539998249</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>0</SetPoint>
- <CurrentValue>47.269999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>26e078e6-df8c-4fbf-b10e-4b3f7c7e9500</ID>
- <Left>32.958333333333485</Left>
- <Top>513.736265661966</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>0</SetPoint>
- <CurrentValue>39.64</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>7a8c3948-bb3d-4eb1-9276-315d34038f91</ID>
- <Left>223.9583333333334</Left>
- <Top>514.74953999824925</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>0</SetPoint>
- <CurrentValue>45.449999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>f7d4c8ac-28cb-4779-83ef-3ede5e5a612c</ID>
- <Left>411.9583333333336</Left>
- <Top>515.76281433453232</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>0</SetPoint>
- <CurrentValue>48.459999999999994</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>e502555c-95b0-4688-b5e3-8becb30fc62c</ID>
- <Left>590.65211589505361</Left>
- <Top>741.78705872367811</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>0f7a35fc-e363-45b2-948d-ba66f91e4f0d</ID>
- <Left>40.197317631796878</Left>
- <Top>749.47260403204439</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>F39B952A-6194-4055-A5CB-A3421BFE0F9B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>748a5cd1-815b-4ffb-92fb-0c01cf381102</ID>
- <Left>1494.0091846051309</Left>
- <Top>431.98134057113157</Top>
- <Width>167.70833333333334</Width>
- <Height>104.29702970297035</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>d462f0fc-2c71-4ba9-b3bd-1e8c64f36707</ID>
- <Left>1128.2727185092199</Left>
- <Top>850.9809690133618</Top>
- <Width>186</Width>
- <Height>195.56194690265494</Height>
- <Angle>0</Angle>
- <ItemGuid>8E764A14-0F84-4FEC-928B-32A2509CAD57</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>8e2c2474-5764-493f-ac2c-33a8a4a0ffdc</ID>
- <Left>1315.9696925879443</Left>
- <Top>853.53491694908257</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>B4EE8CC0-EE2B-4ABE-BF09-9226860E756B</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>71a948e8-676f-4b97-916b-edce26c01370</ID>
- <Left>1520.8570888838171</Left>
- <Top>845.99980518845655</Top>
- <Width>157</Width>
- <Height>194.54867256637175</Height>
- <Angle>0</Angle>
- <ItemGuid>27E7BB74-81C3-4EF2-80AE-962F111C441F</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="TextItem">
- <ID>d5bc68e3-a665-4951-a377-f9e0df4112be</ID>
- <Left>1109.7519712733683</Left>
- <Top>50.901960902201267</Top>
- <Width>449.5089477623826</Width>
- <Height>55.327112636891911</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Common</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>4a8362d4-e873-46a1-afbb-f56036c0f2cb</ID>
- <Left>1045.9458963394222</Left>
- <Top>460.86118629158989</Top>
- <Width>449.5089477623826</Width>
- <Height>55.327112636891911</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Flat Head</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>7e7868fd-3c47-4d5f-8c6f-fa4b18ae05b3</ID>
- <Left>1260.3013710587918</Left>
- <Top>791.39094759212651</Top>
- <Width>232.78141937694795</Width>
- <Height>45.135276098517238</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Arc</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>1de56a7a-e25e-4508-a87e-de0230e91dc3</ID>
- <Left>1516.0481568975797</Left>
- <Top>366.24959926534439</Top>
- <Width>117.72853393776677</Width>
- <Height>48.047229395195586</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Ambient</Text>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>51ce86b2-0063-48c6-89f6-182a189ffaaa</ID>
- <Left>70.075574021778309</Left>
- <Top>976.2041030585757</Top>
- <Width>140.47154617574461</Width>
- <Height>104.83031868042667</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>9001f8a5-c4c2-4be8-820f-2174b580c53b</ID>
- <Left>252.40090220375726</Left>
- <Top>947.54574115036348</Top>
- <Width>148.7597052289122</Width>
- <Height>121.44535613863422</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>9f31d14c-d7ec-45c1-b87c-3f4923a6af58</ID>
- <Left>260.2054564281259</Left>
- <Top>787.10370299452848</Top>
- <Width>142.5965330388309</Width>
- <Height>127.53048371566092</Height>
- <Angle>0</Angle>
- <ItemGuid>080EB945-8E52-4876-9704-F9908FD26967</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>5c687318-7840-4196-af07-2455e10d1bcf</ID>
- <Left>816.2919957682775</Left>
- <Top>836.89502513753882</Top>
- <Width>153.84978866867277</Width>
- <Height>58.239065933570373</Height>
- <Angle>0</Angle>
- <ItemGuid>998B5E61-3119-443D-ABAA-EFBC283B1021</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>95a693e0-816b-4edc-a2ae-98ac393c6f48</ID>
- <Left>819.83243778511473</Left>
- <Top>957.65691621970711</Top>
- <Width>128.43112793210935</Width>
- <Height>104.83031868042667</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>8d26a1fe-4293-413d-9f4e-b3a562bf25db</ID>
- <Left>628.1918504863404</Left>
- <Top>971.65955281411607</Top>
- <Width>128.43112793210935</Width>
- <Height>104.83031868042667</Height>
- <Angle>0</Angle>
- <ItemGuid>20768F26-8D03-4660-8355-B29C595DFCB2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>e1273b48-af58-4acd-9e8a-11bc59516b16</ID>
- <Left>612.48035467271029</Left>
- <Top>949.40114439880108</Top>
- <Width>163.52519712936567</Width>
- <Height>30.060733624349837</Height>
- <Angle>0</Angle>
- <ColorNumber>-12968193</ColorNumber>
- <Text>air flow 1</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>31a7f747-9569-473c-a345-696d1acb8044</ID>
- <Left>61.998970290683857</Left>
- <Top>953.87279414695115</Top>
- <Width>160.0623860169863</Width>
- <Height>26.292098005808043</Height>
- <Angle>0</Angle>
- <ColorNumber>-12968193</ColorNumber>
- <Text>air flow 2</Text>
- </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>800</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="MonitorItem">
- <ID>5bf7a681-ee47-477e-8b47-ba7a2eb6e115</ID>
- <Left>1113.3333333333337</Left>
- <Top>463.97555419258936</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>952.33333333333326</Left>
- <Top>464.97555419258811</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>758.33333333333326</Left>
- <Top>462.68794357311867</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>571.33333333333326</Left>
- <Top>464.08617366161127</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>1293.3333333333337</Left>
- <Top>467.71449224568437</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>607.32892156862749</Left>
- <Top>598.34526296666354</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="ValveItem">
- <ID>cdddd48e-422d-48f4-8397-5032c3705fdb</ID>
- <Left>1071.0833333333335</Left>
- <Top>577.88035573468915</Top>
- <Width>382</Width>
- <Height>136.79203539823016</Height>
- <Angle>0</Angle>
- <ItemGuid>04C58CA0-9719-4BB0-8D3B-D4C71129D8E4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ee6d4c5a-ca5b-4557-8012-dacf700cdc08</ID>
- <Left>214.33333333333326</Left>
- <Top>463.08617366162218</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>60.333333333333258</Left>
- <Top>463.48440375011319</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>
- <TechItem xsi:type="MonitorItem">
- <ID>3b484b31-da50-4861-abce-70a06193fe6f</ID>
- <Left>395.33333333333331</Left>
- <Top>465.89108910891088</Top>
- <Width>144</Width>
- <Height>80.495575221237516</Height>
- <Angle>0</Angle>
- <ItemGuid>37872FE8-D68A-45BC-A441-372B7805C092</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- <MachineTechViewProjectTab>
- <Name>Waste</Name>
- <Items>
- <TechItem xsi:type="MonitorItem">
- <ID>73486478-cffe-43f9-a949-0a6b0e522e9e</ID>
- <Left>25.541666666666686</Left>
- <Top>24.896039603960332</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>880c81c4-a02d-4c6e-a861-11a1ca0699d2</ID>
- <Left>789.08333333333326</Left>
- <Top>24.896039603960446</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>47231575-fde1-4ab7-9032-86d48a7fef7b</ID>
- <Left>596.37500000000011</Left>
- <Top>23.762376237623698</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ba429140-e9ef-4257-8666-c1ad03b81e1c</ID>
- <Left>217.20833333333343</Left>
- <Top>22.628712871287121</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ece2bc5a-5a2b-4ff9-a409-4f130e8155ff</ID>
- <Left>984.91666666666674</Left>
- <Top>26.029702970296967</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>4dacd4d7-046e-4478-b7d1-f96539c21d89</ID>
- <Left>1183.8750000000002</Left>
- <Top>22.628712871287121</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>b5c670f3-59c6-40a7-872c-00a128ef5bbe</ID>
- <Left>1371.3749999999998</Left>
- <Top>23.762376237623698</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>f58afef3-9825-4139-8975-fa91c3f3e10d</ID>
- <Left>405.74999999999994</Left>
- <Top>26.029702970297024</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>ba8f119b-4c4c-45ed-8bd3-4bdfe2f6dd78</ID>
- <Left>1395.3333333333335</Left>
- <Top>593.99504950495043</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>4a6a278a-633d-4917-acf4-83e9f3818a75</ID>
- <Left>29.708333333333115</Left>
- <Top>249.36138613861391</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>055D0A38-09BD-490D-9852-12B06A4B22F2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>71d506d0-4dcc-4b66-8e26-f5b0fd807b5f</ID>
- <Left>714.08333333333348</Left>
- <Top>245.96039603960367</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>14c6bcd8-c314-444f-939b-340f989c8c8a</ID>
- <Left>924.5</Left>
- <Top>241.42574257425736</Top>
- <Width>179.16666666666666</Width>
- <Height>143.97524752475249</Height>
- <Angle>0</Angle>
- <ItemGuid>B2164815-FBF3-4CF8-81D8-20F719626664</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>93c19fe3-5f8e-4260-a908-a6eb2cd83d82</ID>
- <Left>730.75000000000011</Left>
- <Top>430.7475247524751</Top>
- <Width>381.25</Width>
- <Height>91.826732673267259</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>WHS Temperatures</Text>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>77de4fd1-a2e1-46c2-8997-f8a22b4eb906</ID>
- <Left>1406.7916666666663</Left>
- <Top>226.68811881188123</Top>
- <Width>146.87500000000046</Width>
- <Height>99.762376237623585</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>8cd5e67b-34c0-428b-8b74-41d27d2c22cf</ID>
- <Left>1405.7499999999998</Left>
- <Top>419.41089108910887</Top>
- <Width>144.79166666666674</Width>
- <Height>95.227722772277275</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>4988f409-07c8-4cd5-b173-02bd88e67999</ID>
- <Left>1402.6250000000009</Left>
- <Top>332.11881188118815</Top>
- <Width>143.75</Width>
- <Height>86.158415841584088</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>a0f6a227-e63f-44b1-b375-e287dffaadd6</ID>
- <Left>1290.125</Left>
- <Top>531.64356435643606</Top>
- <Width>239.58333333333349</Width>
- <Height>36.277227722772295</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Cartridge</Text>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>716466da-4b1e-4ef6-82a6-a257f0ece033</ID>
- <Left>1259.9166666666661</Left>
- <Top>241.42574257425764</Top>
- <Width>125</Width>
- <Height>100.89603960396016</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>b181b88a-f448-45c0-ad49-5570b2540b4b</ID>
- <Left>1259.9166666666665</Left>
- <Top>427.34653465346491</Top>
- <Width>129.16666666666652</Width>
- <Height>91.826732673267315</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalInItem">
- <ID>5905f078-74e3-455d-ad6a-1e1a52da21c3</ID>
- <Left>1247.4166666666667</Left>
- <Top>332.11881188118809</Top>
- <Width>148.95833333333326</Width>
- <Height>89.559405940594047</Height>
- <Angle>0</Angle>
- <ItemGuid>d7bef231-9cb6-4394-b871-d9b52be73304</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>48eeab5d-b535-4206-886f-d176da3e950f</ID>
- <Left>221.37500000000006</Left>
- <Top>464.75742574257436</Top>
- <Width>172.91666666666677</Width>
- <Height>109.96534653465358</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>a866ff20-1f1c-4aa0-891f-4ac5e37db38a</ID>
- <Left>233.87499999999989</Left>
- <Top>599.66336633663366</Top>
- <Width>143.74999999999992</Width>
- <Height>88.425742574257583</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>cbb20fba-d713-4521-8410-148b1156cae5</ID>
- <Left>25.541666666666771</Left>
- <Top>455.68811881188083</Top>
- <Width>172.91666666666669</Width>
- <Height>126.97029702970292</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>f707fe47-9f48-4be2-b0cd-29022c9ec79a</ID>
- <Left>39.083333333333357</Left>
- <Top>621.20297029702988</Top>
- <Width>160.41666666666671</Width>
- <Height>72.554455445544363</Height>
- <Angle>0</Angle>
- <ItemGuid>0B1752D6-7D4B-4957-BCDE-15465EA8EB55</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>87f906c6-e8b9-4d8c-bdef-3ef38c69aa33</ID>
- <Left>407.8333333333328</Left>
- <Top>250.49504950495043</Top>
- <Width>152.08333333333385</Width>
- <Height>140.57425742574253</Height>
- <Angle>0</Angle>
- <ItemGuid>27CEDD42-FDDD-45DF-A9D0-FDBF277FFB0F</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>08ffbe8d-0392-495e-9af0-aa386ee2fad9</ID>
- <Left>225.54166666666697</Left>
- <Top>249.36138613861385</Top>
- <Width>170.83333333333317</Width>
- <Height>145.10891089108895</Height>
- <Angle>0</Angle>
- <ItemGuid>FA21BC1D-04FA-4626-82A4-F77D2A4120C4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>5c3b1479-5875-4e3f-9ed9-00529b403f4f</ID>
- <Left>1239.083333333333</Left>
- <Top>685.82178217821775</Top>
- <Width>173.95833333333354</Width>
- <Height>113.36633663366342</Height>
- <Angle>0</Angle>
- <ItemGuid>7e1f53ec-8176-4efa-ac3d-c8f2436e60d1</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>43e7bf4f-e7ee-4f86-bfe7-dfbe538e4586</ID>
- <Left>1238.0416666666667</Left>
- <Top>567.9207920792079</Top>
- <Width>153.12500000000006</Width>
- <Height>114.5</Height>
- <Angle>0</Angle>
- <ItemGuid>78db28d0-0407-4942-bb62-c44da81c4f9e</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- <MachineTechViewProjectTab>
- <Name>Thread insertion</Name>
- <Items>
- <TechItem xsi:type="MotorItem">
- <ID>443a977c-8e89-4a56-82e4-684bac7945c9</ID>
- <Left>21.874999999999972</Left>
- <Top>32.9640322439318</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>340.41666666666674</Left>
- <Top>230.32064312625903</Top>
- <Width>271.45833333333326</Width>
- <Height>166.60838517480056</Height>
- <Angle>0</Angle>
- <ItemGuid>b90a4e78-ebbf-44db-829b-949517d6400b</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>350</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>e36e321b-d48d-4199-a1ee-75ac18e9de1e</ID>
- <Left>988.91666666666652</Left>
- <Top>244.36432138789076</Top>
- <Width>217</Width>
- <Height>155.26106194690203</Height>
- <Angle>0</Angle>
- <ItemGuid>c6099065-a735-4cc5-b575-c31a45bb9262</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>350</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>8790db03-4dfd-4d49-aec0-706babb55af9</ID>
- <Left>346</Left>
- <Top>438.23254183824758</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>17.25</Left>
- <Top>239.82725838954167</Top>
- <Width>255</Width>
- <Height>170.15044247787392</Height>
- <Angle>0</Angle>
- <ItemGuid>b71ad55d-d296-4371-a6d2-9d3c637c0380</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>1000</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7b5b6896-f626-4e59-a5cf-2600e603c0f6</ID>
- <Left>1280.291666666667</Left>
- <Top>435.1617453780857</Top>
- <Width>237</Width>
- <Height>179.22123893805463</Height>
- <Angle>0</Angle>
- <ItemGuid>7b6d0a93-5a91-4e1f-af47-353afd8b5ea6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>2052a2d3-843c-4a1c-87fd-acd0832fd1b9</ID>
- <Left>688.125</Left>
- <Top>27.933978796104839</Top>
- <Width>220</Width>
- <Height>168.473451327436</Height>
- <Angle>0</Angle>
- <ItemGuid>c9482395-35e6-4340-8dab-83d5dfe907a7</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>1000</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>339b7d00-d688-41cf-926a-8171d5e62740</ID>
- <Left>683.20833333333337</Left>
- <Top>436.40050819241503</Top>
- <Width>240</Width>
- <Height>159.84070796460173</Height>
- <Angle>0</Angle>
- <ItemGuid>f3b5076e-cba3-4ad2-b3cc-0c4e907bd9ef</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>200</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID>
- <Left>1285.5416666666665</Left>
- <Top>39.867782353458267</Top>
- <Width>233</Width>
- <Height>159.57079646017985</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>1018.3333333333334</Left>
- <Top>603.18879530178208</Top>
- <Width>169</Width>
- <Height>83.45969508455255</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>683.25</Left>
- <Top>239.17940068343398</Top>
- <Width>239.95833333333337</Width>
- <Height>154.99115044247867</Height>
- <Angle>0</Angle>
- <ItemGuid>7c03f12f-ab2a-4421-8575-aefd6dec0001</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>10</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>a88a74cb-418b-4ed0-89ec-c42ff560528e</ID>
- <Left>1281.333333333333</Left>
- <Top>233.20743888547975</Top>
- <Width>234.29166666666652</Width>
- <Height>157.55879260492486</Height>
- <Angle>0</Angle>
- <ItemGuid>b7c1aea4-32c1-41cb-bca3-4aa665529b49</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</Speed>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>37267035-ae9d-4c72-a04f-215f754d0900</ID>
- <Left>700.70833333333326</Left>
- <Top>639.25891527204931</Top>
- <Width>205.625</Width>
- <Height>105.8987996144798</Height>
- <Angle>0</Angle>
- <ItemGuid>6b9cba1d-4acf-4992-97ad-e422bca6ada2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>ca4a5397-68a1-4a2f-b614-80132cd513ee</ID>
- <Left>1003.0416666666667</Left>
- <Top>53.154034872515865</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>6313cc40-15b2-41b0-ba61-cd0849421176</ID>
- <Left>20.333333333333371</Left>
- <Top>440.95049504950487</Top>
- <Width>255</Width>
- <Height>170.15044247787392</Height>
- <Angle>0</Angle>
- <ItemGuid>54695c85-b4a5-4e9d-95b1-b9e55844cde2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>122528e8-77bc-40fa-afbc-534c2fb3b0cc</ID>
- <Left>348.45833333333331</Left>
- <Top>30.56435643564356</Top>
- <Width>255</Width>
- <Height>170.15044247787392</Height>
- <Angle>0</Angle>
- <ItemGuid>bda5aa4d-13aa-4259-92e5-b969276cb2b1</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>1000</Speed>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>99884eb7-051d-4e72-97dd-1c52fcd25fff</ID>
- <Left>979.70833333333326</Left>
- <Top>180.20792079207939</Top>
- <Width>196.87499999999977</Width>
- <Height>36.277227722772068</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Right Actuator</Text>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>a4b1a4ee-38ed-48a0-82eb-76b96f06a3ac</ID>
- <Left>1000.9583333333335</Left>
- <Top>444.351485148515</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>698f79a5-0bb1-4f19-a679-0294031ec43d</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>fae05523-674c-4b14-a860-b6cc8e351d76</ID>
- <Left>992.208333333333</Left>
- <Top>553.26675720669289</Top>
- <Width>221.87499999999955</Width>
- <Height>56.683168316831029</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Left Actuator</Text>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>a1fb6ece-dcdb-4d85-b06c-a8df718b6eef</ID>
- <Left>1023.4583333333336</Left>
- <Top>694.891089108911</Top>
- <Width>162.50000000000023</Width>
- <Height>49.881188118811338</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Magnet</Text>
- </TechItem>
- </Items>
- </MachineTechViewProjectTab>
- </Tabs>
- <SelectedTabIndex>0</SelectedTabIndex>
-</MachineTechViewProject> \ 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
deleted file mode 100644
index 66d243885..000000000
--- a/Software/Stubs Collection/stubs/technician view files/alpha.tpf
+++ /dev/null
@@ -1,2149 +0,0 @@
-<?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>
- <Duration>701</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>104.97999999999999</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</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>100</SetPoint>
- <CurrentValue>167.04999999999998</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>100</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>100</SetPoint>
- <CurrentValue>171.27999999999997</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>100</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>135</SetPoint>
- <CurrentValue>126.22999999999999</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</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>107.83</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</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>79.42</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>78.4</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>135</SetPoint>
- <CurrentValue>132.57</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</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>140</SetPoint>
- <CurrentValue>138.66</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>145</SetPoint>
- <CurrentValue>112.38</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
- </HeaterState>
- <SetPoint>145</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>
- <TechItem xsi:type="MonitorItem">
- <ID>5827ad17-c283-41f2-b527-9c869786eed7</ID>
- <Left>14</Left>
- <Top>131.72123893805315</Top>
- <Width>164</Width>
- <Height>90.181415929203524</Height>
- <Angle>0</Angle>
- <ItemGuid>D59EFB38-79D9-446C-BCB5-92D8FDA900E4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>d857cded-6617-4b22-aeb6-dc21be26a48f</ID>
- <Left>20</Left>
- <Top>247.23451327433628</Top>
- <Width>169</Width>
- <Height>62.823008849557596</Height>
- <Angle>0</Angle>
- <ItemGuid>9F98B9D3-F989-4D03-90E8-721671835E0B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>b284df29-a008-4c51-949f-42ee8bfbfe5f</ID>
- <Left>27</Left>
- <Top>692.06194690265488</Top>
- <Width>227</Width>
- <Height>103.35398230088504</Height>
- <Angle>0</Angle>
- <ItemGuid>0B1752D6-7D4B-4957-BCDE-15465EA8EB55</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>967f9229-fe28-4700-bc67-292027037a5f</ID>
- <Left>66</Left>
- <Top>561.54424778760892</Top>
- <Width>332</Width>
- <Height>98.358407079648259</Height>
- <Angle>0</Angle>
- <ItemGuid>F1DF490B-0577-4FA7-ACA1-0EEF4F934100</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="TextItem">
- <ID>66f93adf-70f5-48b0-ae42-4cd6f0a7a821</ID>
- <Left>49</Left>
- <Top>665.87610619468933</Top>
- <Width>391</Width>
- <Height>45.429203539825039</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <Text>Ambiet temp * 1000 + electric cabinet temp</Text>
- </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>
- <Duration>1460</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1516</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1273</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>514</Duration>
- <Min>0</Min>
- <Max>100000</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <UpdateInterval>10</UpdateInterval>
- <OptimalRangeMinimum>0</OptimalRangeMinimum>
- <OptimalRangeMaximum>70</OptimalRangeMaximum>
- <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>
- <Duration>1956</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>1426</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>1282</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2817</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>2982</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2949</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2628</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>3153</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>3153</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>3153</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>1942</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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/technician view files/new head.tpf b/Software/Stubs Collection/stubs/technician view files/new head.tpf
deleted file mode 100644
index 2ae59d2ed..000000000
--- a/Software/Stubs Collection/stubs/technician view files/new head.tpf
+++ /dev/null
@@ -1,3096 +0,0 @@
-<?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="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>176.1</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>208.58999999999998</CurrentValue>
- <IsActive>true</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>209.10999999999999</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>96.71</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>0</SetPoint>
- <CurrentValue>88.699999999999989</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>76.08</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>0</SetPoint>
- <CurrentValue>78.37</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>40.71</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</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>46.809999999999995</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>0</SetPoint>
- <CurrentValue>6.59</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>48.22</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>47.269999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>39.64</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>45.449999999999996</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>48.459999999999994</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>120a9bea-5b5a-4ba4-92f5-40135f49a344</ID>
- <Left>6</Left>
- <Top>535.07522123893818</Top>
- <Width>338</Width>
- <Height>137.80530973451323</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>7</DryerAirFlow>
- <DryerZone1Temp>0</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>7</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </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="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>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>174.69</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>174.95999999999998</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>0214c2bd-98e2-4435-b55f-ec165b0782dd</ID>
- <Left>532</Left>
- <Top>587.69469026548677</Top>
- <Width>163</Width>
- <Height>77.008849557522126</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>387e9a45-e608-47b8-9f3c-5572d0544e41</ID>
- <Left>708</Left>
- <Top>584.65486725663732</Top>
- <Width>168</Width>
- <Height>84.101769911504334</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>18f62f2f-dbc0-4a3e-8af6-efdffc9562a5</ID>
- <Left>12</Left>
- <Top>699.86283185840716</Top>
- <Width>234</Width>
- <Height>96.2610619469026</Height>
- <Angle>0</Angle>
- <ItemGuid>B6FE07F8-2435-495D-ABFE-358C76812413</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>cb7b89a1-cdb4-408e-acc8-40e8dcb8d6ac</ID>
- <Left>7</Left>
- <Top>5.995575221238937</Top>
- <Width>142</Width>
- <Height>84.101769911504391</Height>
- <Angle>0</Angle>
- <ItemGuid>9F98B9D3-F989-4D03-90E8-721671835E0B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>6be6ca7d-3ca6-4206-9c67-415174b71ace</ID>
- <Left>168</Left>
- <Top>7.3893805309738809</Top>
- <Width>146</Width>
- <Height>83.088495575221259</Height>
- <Angle>0</Angle>
- <ItemGuid>D59EFB38-79D9-446C-BCB5-92D8FDA900E4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>2dca972d-3c41-4b07-a047-b63a23470a7e</ID>
- <Left>347</Left>
- <Top>574.92035398230325</Top>
- <Width>160</Width>
- <Height>102.34070796460173</Height>
- <Angle>0</Angle>
- <ItemGuid>75f69efe-1c7e-4015-a6eb-2686d4f67a67</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>d2e09fbf-2ac8-4c32-a4f5-45e50e305098</ID>
- <Left>1016</Left>
- <Top>821.96460176991263</Top>
- <Width>361</Width>
- <Height>233.95575221238948</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>9b265a7c-cc48-4c5a-abed-dfa8c8e3099f</Guid>
- <LastUpdated>2020-02-09T13:11:03.3185652Z</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>100</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>0</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </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="MonitorItem">
- <ID>11f4748e-ed30-48d6-a08a-afeaa0277e2e</ID>
- <Left>330</Left>
- <Top>12.154867256637203</Top>
- <Width>205</Width>
- <Height>90.181415929203524</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC02</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>dcf78507-ea09-4529-b635-ec1eeed31141</ID>
- <Left>145</Left>
- <Top>842.58849557522137</Top>
- <Width>357</Width>
- <Height>215.82743362831855</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <Duration>1275</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>85762a06-25d4-457a-9974-7eab916d65c5</ID>
- <Left>540</Left>
- <Top>4.0486725663717493</Top>
- <Width>205</Width>
- <Height>90.181415929203524</Height>
- <Angle>0</Angle>
- <ItemGuid>055D0A38-09BD-490D-9852-12B06A4B22F2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>36f69103-89b6-4076-b8f3-bf4a0806ba05</ID>
- <Left>18.250000000000007</Left>
- <Top>132.59405940594058</Top>
- <Width>317.70833333333337</Width>
- <Height>392.24752475247521</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>0025b28d-1475-4af2-b50e-ecc344c3e43a</Guid>
- <LastUpdated>2020-07-05T08:17:42.9870702Z</LastUpdated>
- <Name>Process parameters 4</Name>
- <DyeingSpeed>50</DyeingSpeed>
- <MinInkUptake>0</MinInkUptake>
- <MaxInkUptake>0</MaxInkUptake>
- <FeederTension>0</FeederTension>
- <PullerTension>0</PullerTension>
- <WinderTension>0</WinderTension>
- <MixerTemp>80</MixerTemp>
- <HeadZone1Temp>80</HeadZone1Temp>
- <HeadZone2Temp>90</HeadZone2Temp>
- <HeadZone3Temp>100</HeadZone3Temp>
- <HeadZone4Temp>0</HeadZone4Temp>
- <HeadZone5Temp>0</HeadZone5Temp>
- <HeadZone6Temp>0</HeadZone6Temp>
- <DryerAirFlow>0</DryerAirFlow>
- <DryerZone1Temp>180</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>3</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>180</RBlowerFlow>
- <RBlowerTemp>180</RBlowerTemp>
- <LBlowerFlow>180</LBlowerFlow>
- <LBlowerTemp>180</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </ProcessParameters>
- <ParametersIndices>
- <ParameterIndex>
- <Name>Process Parameters Tables Group Guid</Name>
- <Index>0</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Name</Name>
- <Index>1</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Table Index</Name>
- <Index>2</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dyeing Speed</Name>
- <Index>3</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Min Ink Uptake</Name>
- <Index>4</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Max Ink Uptake</Name>
- <Index>5</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Feeder Tension</Name>
- <Index>6</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Puller Tension</Name>
- <Index>7</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Winder Tension</Name>
- <Index>8</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Mixer Temp</Name>
- <Index>9</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 1 Temp</Name>
- <Index>10</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 2 Temp</Name>
- <Index>11</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 3 Temp</Name>
- <Index>12</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 4 Temp</Name>
- <Index>13</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 5 Temp</Name>
- <Index>14</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 6 Temp</Name>
- <Index>15</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 7 Temp</Name>
- <Index>16</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 8 Temp</Name>
- <Index>17</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 9 Temp</Name>
- <Index>18</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 10 Temp</Name>
- <Index>19</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 11 Temp</Name>
- <Index>20</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 12 Temp</Name>
- <Index>21</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Flow</Name>
- <Index>22</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Temp</Name>
- <Index>23</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Flow</Name>
- <Index>24</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Temp</Name>
- <Index>25</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 1 Temp</Name>
- <Index>26</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 2 Temp</Name>
- <Index>27</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 3 Temp</Name>
- <Index>28</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Air Flow</Name>
- <Index>29</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Air Flow</Name>
- <Index>30</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Buffer Length</Name>
- <Index>31</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Pressure Build Up</Name>
- <Index>32</Index>
- </ParameterIndex>
- </ParametersIndices>
- </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>0</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>0</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>0</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>
- <Duration>1460</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1516</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1273</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>514</Duration>
- <Min>0</Min>
- <Max>100000</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <TechItem xsi:type="ThreadMotionItem">
- <ID>be5b2c37-4481-4293-b957-bf65d8516fee</ID>
- <Left>464</Left>
- <Top>21.274336283185846</Top>
- <Width>315</Width>
- <Height>177.3230088495576</Height>
- <Angle>0</Angle>
- <ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>aace77b8-02ca-4c88-abc1-590fc2592b99</ID>
- <Left>1355</Left>
- <Top>146.70796460176933</Top>
- <Width>175</Width>
- <Height>167.827433628319</Height>
- <Angle>0</Angle>
- <ItemGuid>89B7B89D-8050-4188-B568-35B1910CFB6F</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </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>800</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>
- <UpdateInterval>10</UpdateInterval>
- <OptimalRangeMinimum>0</OptimalRangeMinimum>
- <OptimalRangeMaximum>70</OptimalRangeMaximum>
- <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>
- <Duration>1956</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>1426</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>1282</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>04C58CA0-9719-4BB0-8D3B-D4C71129D8E4</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>350</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>350</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>8790db03-4dfd-4d49-aec0-706babb55af9</ID>
- <Left>396</Left>
- <Top>244.37610619468319</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>36</Left>
- <Top>245.4955752212249</Top>
- <Width>255</Width>
- <Height>170.15044247787392</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>1316</Left>
- <Top>380.876106194693</Top>
- <Width>240</Width>
- <Height>144.699115044238</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>723</Left>
- <Top>241.30530973452125</Top>
- <Width>237</Width>
- <Height>179.22123893805463</Height>
- <Angle>0</Angle>
- <ItemGuid>7b6d0a93-5a91-4e1f-af47-353afd8b5ea6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>2052a2d3-843c-4a1c-87fd-acd0832fd1b9</ID>
- <Left>85</Left>
- <Top>589.09734513273827</Top>
- <Width>220</Width>
- <Height>168.473451327436</Height>
- <Angle>0</Angle>
- <ItemGuid>c9482395-35e6-4340-8dab-83d5dfe907a7</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>2200</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>339b7d00-d688-41cf-926a-8171d5e62740</ID>
- <Left>403</Left>
- <Top>591.712389380534</Top>
- <Width>240</Width>
- <Height>159.84070796460173</Height>
- <Angle>0</Angle>
- <ItemGuid>f3b5076e-cba3-4ad2-b3cc-0c4e907bd9ef</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>400</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID>
- <Left>1047</Left>
- <Top>251.86283185840875</Top>
- <Width>233</Width>
- <Height>159.57079646017985</Height>
- <Angle>0</Angle>
- <ItemGuid>bda5aa4d-13aa-4259-92e5-b969276cb2b1</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</Speed>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>c706d31b-48b0-44cc-a9c4-11d3acdcf667</ID>
- <Left>535</Left>
- <Top>441.07493391564333</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>727</Left>
- <Top>590.61504424779025</Top>
- <Width>241</Width>
- <Height>154.99115044247867</Height>
- <Angle>0</Angle>
- <ItemGuid>7c03f12f-ab2a-4421-8575-aefd6dec0001</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>a88a74cb-418b-4ed0-89ec-c42ff560528e</ID>
- <Left>1073</Left>
- <Top>593.7123893805292</Top>
- <Width>227</Width>
- <Height>145.08849557522183</Height>
- <Angle>0</Angle>
- <ItemGuid>4d097acc-df45-46af-bb7e-3d177ab27a9b</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>2</Speed>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>37267035-ae9d-4c72-a04f-215f754d0900</ID>
- <Left>283</Left>
- <Top>451.07079646016848</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>8a65badb-3d7d-4b7b-8dcd-783e443b0689</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>ca4a5397-68a1-4a2f-b614-80132cd513ee</ID>
- <Left>52</Left>
- <Top>452.20353982301083</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>77.96</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>78.1</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>74.32</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>74.7</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>79.4</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>70.97</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>57.9</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>67.04</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>73.69</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>72.69</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>0</SetPoint>
- <CurrentValue>73.54</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>HeaterZone12</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>72.72</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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="MonitorItem">
- <ID>a79322a7-fbb8-469b-a4d9-a0ffb3c17a5d</ID>
- <Left>639</Left>
- <Top>358.69469026548683</Top>
- <Width>134</Width>
- <Height>99.300884955752167</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>979459b4-b609-487f-b6d7-55f435659658</ID>
- <Left>1027</Left>
- <Top>391.93362831858775</Top>
- <Width>118</Width>
- <Height>93.221238938053034</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>8b11bfca-091d-4461-8713-ba2fd9c8484e</ID>
- <Left>432</Left>
- <Top>511.69911504424789</Top>
- <Width>461</Width>
- <Height>250.27876106194691</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <Duration>419</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>8aa4b451-71d6-429c-94e4-2581e3c62a7a</ID>
- <Left>956</Left>
- <Top>513.80973451327361</Top>
- <Width>461</Width>
- <Height>250.27876106194691</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <Duration>419</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>1f85047c-0b3e-49c6-a80a-c2585de00a81</ID>
- <Left>288</Left>
- <Top>366.80088495575222</Top>
- <Width>217</Width>
- <Height>97.2743362831859</Height>
- <Angle>0</Angle>
- <ItemGuid>B6FE07F8-2435-495D-ABFE-358C76812413</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>c296a84d-7af4-4a26-9a35-0b82d378edce</ID>
- <Left>41</Left>
- <Top>351.6017699115045</Top>
- <Width>209</Width>
- <Height>120.57964601769913</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="ControllerItem">
- <ID>ab6714cc-04d8-471f-a263-db28c30e229d</ID>
- <Left>59</Left>
- <Top>550.2035398230089</Top>
- <Width>294</Width>
- <Height>171.24336283185835</Height>
- <Angle>0</Angle>
- <ItemGuid>78482AA4-3DF6-421F-944C-64328D3C3EF2</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <OptimalRangeMinimum>0</OptimalRangeMinimum>
- <OptimalRangeMaximum>7000</OptimalRangeMaximum>
- <IsSetToDefault>true</IsSetToDefault>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>cde1d5a8-7238-44b8-8d4e-30a2dba70c12</ID>
- <Left>1294</Left>
- <Top>166.17256637168146</Top>
- <Width>217</Width>
- <Height>132.73893805309734</Height>
- <Angle>0</Angle>
- <ItemGuid>2a454081-bd5e-41de-ae5d-97aefe1d76de</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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>1942</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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/technician view files/teach board 2.tpf b/Software/Stubs Collection/stubs/technician view files/teach board 2.tpf
deleted file mode 100644
index f3580a1b0..000000000
--- a/Software/Stubs Collection/stubs/technician view files/teach board 2.tpf
+++ /dev/null
@@ -1,3144 +0,0 @@
-<?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="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>180</SetPoint>
- <CurrentValue>120.07</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>true</IsRampingUp>
- <IsInSetPoint>false</IsInSetPoint>
- </HeaterState>
- <SetPoint>180</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>100</SetPoint>
- <CurrentValue>139.38</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>100</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>100</SetPoint>
- <CurrentValue>145.96</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>100</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>fd2bb3a3-a411-470d-bde7-0beaf84da059</ID>
- <Left>924</Left>
- <Top>112.5486725663713</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>120</SetPoint>
- <CurrentValue>119.94</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>120</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>7e8dd386-cca6-4d07-8a3e-af5403756002</ID>
- <Left>1103</Left>
- <Top>115.97787610619525</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>100</SetPoint>
- <CurrentValue>100.11</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>100</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>32a91e5f-27c8-490d-b187-8e39b6626a13</ID>
- <Left>1302</Left>
- <Top>109.1592920353977</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.13</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>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>80</SetPoint>
- <CurrentValue>79.66</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>80</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>45b121b5-cf7c-41f7-8089-6d4d6b1ed2c8</ID>
- <Left>743</Left>
- <Top>113.36725663717004</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>120</SetPoint>
- <CurrentValue>120.07</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>120</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>e6b3eb18-482b-450e-b8a8-d2ac6bba4fd4</ID>
- <Left>542</Left>
- <Top>109.74336283185721</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>135</SetPoint>
- <CurrentValue>135.02</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</SetPoint>
- </TechItem>
- <TechItem xsi:type="HeaterItem">
- <ID>efff2e67-e3a3-4667-9208-4704707d7cda</ID>
- <Left>353</Left>
- <Top>108.93805309734404</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>135</SetPoint>
- <CurrentValue>135.11</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</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>135</SetPoint>
- <CurrentValue>135.13</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</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>140</SetPoint>
- <CurrentValue>139.92</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>140</SetPoint>
- <CurrentValue>140</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>145</SetPoint>
- <CurrentValue>145.06</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>145</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>140</SetPoint>
- <CurrentValue>140.2</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>140</SetPoint>
- <CurrentValue>140.04</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</SetPoint>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>120a9bea-5b5a-4ba4-92f5-40135f49a344</ID>
- <Left>6</Left>
- <Top>535.07522123893818</Top>
- <Width>338</Width>
- <Height>137.80530973451323</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>7</DryerAirFlow>
- <DryerZone1Temp>0</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>7</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </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="HeaterItem">
- <ID>e502555c-95b0-4688-b5e3-8becb30fc62c</ID>
- <Left>1463.875</Left>
- <Top>114.15828441251023</Top>
- <Width>200</Width>
- <Height>187.45575221238937</Height>
- <Angle>0</Angle>
- <ItemGuid>F8C1BA7F-F6DF-414D-BAF5-D4CB292F91F6</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <HeaterState>
- <HeaterType>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>0214c2bd-98e2-4435-b55f-ec165b0782dd</ID>
- <Left>532</Left>
- <Top>587.69469026548677</Top>
- <Width>163</Width>
- <Height>77.008849557522126</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>387e9a45-e608-47b8-9f3c-5572d0544e41</ID>
- <Left>708</Left>
- <Top>584.65486725663732</Top>
- <Width>168</Width>
- <Height>84.101769911504334</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>18f62f2f-dbc0-4a3e-8af6-efdffc9562a5</ID>
- <Left>12</Left>
- <Top>699.86283185840716</Top>
- <Width>234</Width>
- <Height>96.2610619469026</Height>
- <Angle>0</Angle>
- <ItemGuid>B6FE07F8-2435-495D-ABFE-358C76812413</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>cb7b89a1-cdb4-408e-acc8-40e8dcb8d6ac</ID>
- <Left>146</Left>
- <Top>4.8628318584048884</Top>
- <Width>172</Width>
- <Height>77.336283185840216</Height>
- <Angle>0</Angle>
- <ItemGuid>9F98B9D3-F989-4D03-90E8-721671835E0B</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>6be6ca7d-3ca6-4206-9c67-415174b71ace</ID>
- <Left>340</Left>
- <Top>7.4336283185855336</Top>
- <Width>180</Width>
- <Height>72.305309734513685</Height>
- <Angle>0</Angle>
- <ItemGuid>D59EFB38-79D9-446C-BCB5-92D8FDA900E4</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>2dca972d-3c41-4b07-a047-b63a23470a7e</ID>
- <Left>347</Left>
- <Top>574.92035398230325</Top>
- <Width>160</Width>
- <Height>102.34070796460173</Height>
- <Angle>0</Angle>
- <ItemGuid>75f69efe-1c7e-4015-a6eb-2686d4f67a67</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>38e5d1ac-40a5-4c5f-822c-51813cb15b7b</ID>
- <Left>31</Left>
- <Top>144.3584070796461</Top>
- <Width>310</Width>
- <Height>315.12831858407088</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>ce709f03-59be-410d-a928-e942c0c46ce3</Guid>
- <LastUpdated>2020-02-09T12:45:24.1272815Z</LastUpdated>
- <Name>Process parameters 6</Name>
- <DyeingSpeed>50</DyeingSpeed>
- <MinInkUptake>0</MinInkUptake>
- <MaxInkUptake>0</MaxInkUptake>
- <FeederTension>0</FeederTension>
- <PullerTension>5000</PullerTension>
- <WinderTension>5000</WinderTension>
- <MixerTemp>80</MixerTemp>
- <HeadZone1Temp>80</HeadZone1Temp>
- <HeadZone2Temp>90</HeadZone2Temp>
- <HeadZone3Temp>110</HeadZone3Temp>
- <HeadZone4Temp>120</HeadZone4Temp>
- <HeadZone5Temp>130</HeadZone5Temp>
- <HeadZone6Temp>135</HeadZone6Temp>
- <DryerAirFlow>7</DryerAirFlow>
- <DryerZone1Temp>190</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>7</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>135</HeadZone7Temp>
- <HeadZone8Temp>135</HeadZone8Temp>
- <HeadZone9Temp>135</HeadZone9Temp>
- <HeadZone10Temp>135</HeadZone10Temp>
- <HeadZone11Temp>140</HeadZone11Temp>
- <HeadZone12Temp>140</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </ProcessParameters>
- <ParametersIndices>
- <ParameterIndex>
- <Name>Process Parameters Tables Group Guid</Name>
- <Index>0</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Name</Name>
- <Index>1</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Table Index</Name>
- <Index>2</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dyeing Speed</Name>
- <Index>3</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Min Ink Uptake</Name>
- <Index>4</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Max Ink Uptake</Name>
- <Index>5</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Feeder Tension</Name>
- <Index>6</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Puller Tension</Name>
- <Index>7</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Winder Tension</Name>
- <Index>8</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Mixer Temp</Name>
- <Index>9</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 1 Temp</Name>
- <Index>10</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 2 Temp</Name>
- <Index>11</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 3 Temp</Name>
- <Index>12</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 4 Temp</Name>
- <Index>13</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 5 Temp</Name>
- <Index>14</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 6 Temp</Name>
- <Index>15</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 7 Temp</Name>
- <Index>16</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 8 Temp</Name>
- <Index>17</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 9 Temp</Name>
- <Index>18</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 10 Temp</Name>
- <Index>19</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 11 Temp</Name>
- <Index>20</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 12 Temp</Name>
- <Index>21</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>St Sp Zone 1 Temp</Name>
- <Index>22</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>St Sp Zone 2 Temp</Name>
- <Index>23</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 1 Temp</Name>
- <Index>24</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 2 Temp</Name>
- <Index>25</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 3 Temp</Name>
- <Index>26</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Air Flow</Name>
- <Index>27</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Air Flow</Name>
- <Index>28</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Buffer Length</Name>
- <Index>29</Index>
- </ParameterIndex>
- </ParametersIndices>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>d2e09fbf-2ac8-4c32-a4f5-45e50e305098</ID>
- <Left>1016</Left>
- <Top>821.96460176991263</Top>
- <Width>361</Width>
- <Height>233.95575221238948</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>9b265a7c-cc48-4c5a-abed-dfa8c8e3099f</Guid>
- <LastUpdated>2020-02-09T13:11:03.3185652Z</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>100</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>0</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </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="MonitorItem">
- <ID>11f4748e-ed30-48d6-a08a-afeaa0277e2e</ID>
- <Left>548</Left>
- <Top>7.0132743362775614</Top>
- <Width>185</Width>
- <Height>69.3451327433653</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC02</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>dcf78507-ea09-4529-b635-ec1eeed31141</ID>
- <Left>145</Left>
- <Top>842.58849557522137</Top>
- <Width>357</Width>
- <Height>215.82743362831855</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>1275</Duration>
- <UseAutoRange>true</UseAutoRange>
- <Min>0</Min>
- <Max>100</Max>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>85d4727d-4be2-4854-8584-5fcb0a1bb19f</ID>
- <Left>759</Left>
- <Top>8.9778761061942873</Top>
- <Width>164</Width>
- <Height>70.929203539822993</Height>
- <Angle>0</Angle>
- <ItemGuid>055D0A38-09BD-490D-9852-12B06A4B22F2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>09b1e471-50a5-41e4-9dea-d16518fb3b59</ID>
- <Left>1330</Left>
- <Top>581.61504424778764</Top>
- <Width>178</Width>
- <Height>70.929203539822993</Height>
- <Angle>0</Angle>
- <ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>3</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>fa6e2e6b-d807-415a-a04a-ca5877cf1838</ID>
- <Left>948</Left>
- <Top>9.3185840707968737</Top>
- <Width>182</Width>
- <Height>72.783185840710189</Height>
- <Angle>0</Angle>
- <ItemGuid>F1DF490B-0577-4FA7-ACA1-0EEF4F934100</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>13640918-ad09-4aa8-8d5b-f3da45179831</ID>
- <Left>1157</Left>
- <Top>5.8185840707953389</Top>
- <Width>173</Width>
- <Height>81.265486725664175</Height>
- <Angle>0</Angle>
- <ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </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>0</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>0</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>0</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="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>478</Left>
- <Top>328.89823008849282</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>
- <TechItem xsi:type="ThreadMotionItem">
- <ID>be5b2c37-4481-4293-b957-bf65d8516fee</ID>
- <Left>464</Left>
- <Top>21.274336283185846</Top>
- <Width>315</Width>
- <Height>177.3230088495576</Height>
- <Angle>0</Angle>
- <ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>aace77b8-02ca-4c88-abc1-590fc2592b99</ID>
- <Left>1355</Left>
- <Top>146.70796460176933</Top>
- <Width>175</Width>
- <Height>167.827433628319</Height>
- <Angle>0</Angle>
- <ItemGuid>89B7B89D-8050-4188-B568-35B1910CFB6F</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>0</DecimalPoints>
- </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>800</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>2CC8E461-E91F-4D4C-A402-922477F06C87</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>
- <UpdateInterval>10</UpdateInterval>
- <OptimalRangeMinimum>0</OptimalRangeMinimum>
- <OptimalRangeMaximum>70</OptimalRangeMaximum>
- <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>1325</Left>
- <Top>482.17699115044343</Top>
- <Width>135</Width>
- <Height>112.47787610619827</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>
- <Duration>1956</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>46bdfce3-1c69-45dd-bbe9-582d1ac1e6f2</ID>
- <Left>1149</Left>
- <Top>481.79203539822822</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>E8E103A6-85F3-465C-98BD-998FBA26AEC6</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>04C58CA0-9719-4BB0-8D3B-D4C71129D8E4</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>350</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>92237d83-9f85-48db-aa6f-2fc5c9e0d8cd</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>350</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>54695c85-b4a5-4e9d-95b1-b9e55844cde2</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>500</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>20</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>bda5aa4d-13aa-4259-92e5-b969276cb2b1</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>758</Left>
- <Top>616.02212389380963</Top>
- <Width>227</Width>
- <Height>145.08849557522183</Height>
- <Angle>0</Angle>
- <ItemGuid>b71ad55d-d296-4371-a6d2-9d3c637c0380</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>300</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>4d097acc-df45-46af-bb7e-3d177ab27a9b</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>20</Speed>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>37267035-ae9d-4c72-a04f-215f754d0900</ID>
- <Left>264</Left>
- <Top>417.77433628317885</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>8a65badb-3d7d-4b7b-8dcd-783e443b0689</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>c74a22d7-136b-4ec5-8f84-ab54842453e8</ID>
- <Left>849</Left>
- <Top>425.59734513274515</Top>
- <Width>240</Width>
- <Height>116.10176991150968</Height>
- <Angle>0</Angle>
- <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>4562bd70-4bd7-4f9b-b5fe-899b344295bf</ID>
- <Left>996</Left>
- <Top>62.097345132743214</Top>
- <Width>155</Width>
- <Height>101.4690265486671</Height>
- <Angle>0</Angle>
- <ItemGuid>b7c1aea4-32c1-41cb-bca3-4aa665529b49</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <Speed>300</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>0</SetPoint>
- <CurrentValue>81.63</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>81.35</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>83.05</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>82.029999999999987</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>0</SetPoint>
- <CurrentValue>79.66</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>82.94</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>65.62</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>0</SetPoint>
- <CurrentValue>75.59</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>79.04</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>79.13</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>0</SetPoint>
- <CurrentValue>84.699999999999989</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</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>HeaterZone12</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>81.06</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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="MonitorItem">
- <ID>a79322a7-fbb8-469b-a4d9-a0ffb3c17a5d</ID>
- <Left>858</Left>
- <Top>394.15929203539821</Top>
- <Width>134</Width>
- <Height>99.300884955752167</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>979459b4-b609-487f-b6d7-55f435659658</ID>
- <Left>1027</Left>
- <Top>391.93362831858775</Top>
- <Width>118</Width>
- <Height>93.221238938053034</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>8b11bfca-091d-4461-8713-ba2fd9c8484e</ID>
- <Left>432</Left>
- <Top>511.69911504424789</Top>
- <Width>461</Width>
- <Height>250.27876106194691</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>419</Duration>
- <UseAutoRange>true</UseAutoRange>
- <Min>0</Min>
- <Max>100</Max>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>8aa4b451-71d6-429c-94e4-2581e3c62a7a</ID>
- <Left>956</Left>
- <Top>513.80973451327361</Top>
- <Width>461</Width>
- <Height>250.27876106194691</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>419</Duration>
- <UseAutoRange>true</UseAutoRange>
- <Min>0</Min>
- <Max>100</Max>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>1f85047c-0b3e-49c6-a80a-c2585de00a81</ID>
- <Left>1217</Left>
- <Top>395.17256637168151</Top>
- <Width>217</Width>
- <Height>97.2743362831859</Height>
- <Angle>0</Angle>
- <ItemGuid>B6FE07F8-2435-495D-ABFE-358C76812413</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>c296a84d-7af4-4a26-9a35-0b82d378edce</ID>
- <Left>575</Left>
- <Top>354.64159292035436</Top>
- <Width>209</Width>
- <Height>123.61946902654859</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>cde1d5a8-7238-44b8-8d4e-30a2dba70c12</ID>
- <Left>1294</Left>
- <Top>166.17256637168146</Top>
- <Width>217</Width>
- <Height>132.73893805309734</Height>
- <Angle>0</Angle>
- <ItemGuid>2a454081-bd5e-41de-ae5d-97aefe1d76de</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="SingleGraphItem">
- <ID>51ca3d43-e098-4ed7-a94d-ac0e46744aa8</ID>
- <Left>-39</Left>
- <Top>510.96460176990968</Top>
- <Width>461</Width>
- <Height>250.27876106194691</Height>
- <Angle>0</Angle>
- <ItemGuid>1778C1A7-AFB5-42F9-9E00-E80D30D9FC0A</ItemGuid>
- <ColorNumber>-14774017</ColorNumber>
- <DecimalPlaces>2</DecimalPlaces>
- <Duration>419</Duration>
- <UseAutoRange>true</UseAutoRange>
- <Min>0</Min>
- <Max>100</Max>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>034716b2-eb98-4a27-a32e-2a1217f0a6b1</ID>
- <Left>150.24235516816566</Left>
- <Top>341.47687867152945</Top>
- <Width>310</Width>
- <Height>140.56766191129225</Height>
- <Angle>0</Angle>
- <ItemGuid>79AD6611-82A2-4B4C-AB5E-A11A33E1243D</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </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/technician view files/tech board 1.tpf b/Software/Stubs Collection/stubs/technician view files/tech board 1.tpf
deleted file mode 100644
index a6bfa792c..000000000
--- a/Software/Stubs Collection/stubs/technician view files/tech board 1.tpf
+++ /dev/null
@@ -1,2974 +0,0 @@
-<?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="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>180</SetPoint>
- <CurrentValue>179.94</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>180</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>41</SetPoint>
- <CurrentValue>187.35</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>41</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>190.80999999999997</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>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>120</SetPoint>
- <CurrentValue>120.41999999999999</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>120</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>100</SetPoint>
- <CurrentValue>100.41999999999999</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>100</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>80</SetPoint>
- <CurrentValue>80.16</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>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>80</SetPoint>
- <CurrentValue>79.95</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>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>120</SetPoint>
- <CurrentValue>120.27999999999999</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>120</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>135</SetPoint>
- <CurrentValue>135.21</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</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>135</SetPoint>
- <CurrentValue>135.33</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>135</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>
- <string>6B1DF4B0-BCC2-400C-A3B7-31C5119A55BB</string>
- <string>AD50C358-5BAF-4A2F-8593-51A22C85B3D1</string>
- <string>9FBC5460-BA59-486B-8D85-BD7D8A959F98</string>
- <string>F1DF490B-0577-4FA7-ACA1-0EEF4F934E8F</string>
- <string>C0BCCD5C-346B-4C4A-A080-39D28E9E1A0C</string>
- </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>140</SetPoint>
- <CurrentValue>140.37</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>140</SetPoint>
- <CurrentValue>140.28</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>140</SetPoint>
- <CurrentValue>140.16</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>145</SetPoint>
- <CurrentValue>145.11</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>145</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>140</SetPoint>
- <CurrentValue>140.21</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</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>140</SetPoint>
- <CurrentValue>140.27</CurrentValue>
- <IsActive>true</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>140</SetPoint>
- </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>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </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>337</Left>
- <Top>586.991150442477</Top>
- <Width>93</Width>
- <Height>82.774336283185448</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>HeadCoverHeater1</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</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>HeadCoverHeater2</HeaterType>
- <SetPoint>0</SetPoint>
- <CurrentValue>283.75</CurrentValue>
- <IsActive>false</IsActive>
- <IsRampingUp>false</IsRampingUp>
- <IsInSetPoint>true</IsInSetPoint>
- </HeaterState>
- <SetPoint>0</SetPoint>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>379cc480-084f-4349-bb87-2c18b3c839e4</ID>
- <Left>17</Left>
- <Top>26.340707964601791</Top>
- <Width>312</Width>
- <Height>465.09292035398232</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>77e783e1-c5bb-4eac-8768-c9a28fc69c97</Guid>
- <LastUpdated>2020-03-04T15:02:12.3146789Z</LastUpdated>
- <Name>Process parameters 4</Name>
- <DyeingSpeed>50</DyeingSpeed>
- <MinInkUptake>0</MinInkUptake>
- <MaxInkUptake>0</MaxInkUptake>
- <FeederTension>9</FeederTension>
- <PullerTension>0</PullerTension>
- <WinderTension>0</WinderTension>
- <MixerTemp>80</MixerTemp>
- <HeadZone1Temp>80</HeadZone1Temp>
- <HeadZone2Temp>80</HeadZone2Temp>
- <HeadZone3Temp>90</HeadZone3Temp>
- <HeadZone4Temp>100</HeadZone4Temp>
- <HeadZone5Temp>110</HeadZone5Temp>
- <HeadZone6Temp>120</HeadZone6Temp>
- <DryerAirFlow>7</DryerAirFlow>
- <DryerZone1Temp>180</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>30</DryerBufferLength>
- <HeadAirFlow>7</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>135</HeadZone7Temp>
- <HeadZone8Temp>135</HeadZone8Temp>
- <HeadZone9Temp>135</HeadZone9Temp>
- <HeadZone10Temp>135</HeadZone10Temp>
- <HeadZone11Temp>140</HeadZone11Temp>
- <HeadZone12Temp>140</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </ProcessParameters>
- <ParametersIndices>
- <ParameterIndex>
- <Name>Process Parameters Tables Group Guid</Name>
- <Index>0</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Name</Name>
- <Index>1</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Table Index</Name>
- <Index>2</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dyeing Speed</Name>
- <Index>3</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Min Ink Uptake</Name>
- <Index>4</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Max Ink Uptake</Name>
- <Index>5</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Feeder Tension</Name>
- <Index>6</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Puller Tension</Name>
- <Index>7</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Winder Tension</Name>
- <Index>8</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Mixer Temp</Name>
- <Index>9</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 1 Temp</Name>
- <Index>10</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 2 Temp</Name>
- <Index>11</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 3 Temp</Name>
- <Index>12</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 4 Temp</Name>
- <Index>13</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 5 Temp</Name>
- <Index>14</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 6 Temp</Name>
- <Index>15</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 7 Temp</Name>
- <Index>16</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 8 Temp</Name>
- <Index>17</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 9 Temp</Name>
- <Index>18</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 10 Temp</Name>
- <Index>19</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 11 Temp</Name>
- <Index>20</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 12 Temp</Name>
- <Index>21</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Flow</Name>
- <Index>22</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Temp</Name>
- <Index>23</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Flow</Name>
- <Index>24</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Temp</Name>
- <Index>25</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 1 Temp</Name>
- <Index>26</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 2 Temp</Name>
- <Index>27</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 3 Temp</Name>
- <Index>28</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Air Flow</Name>
- <Index>29</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Air Flow</Name>
- <Index>30</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Buffer Length</Name>
- <Index>31</Index>
- </ParameterIndex>
- </ParametersIndices>
- </TechItem>
- <TechItem xsi:type="ProcessParametersItem">
- <ID>9b9fde94-ce8c-4401-8961-9d1d44ae2bcf</ID>
- <Left>10</Left>
- <Top>504.60619469026557</Top>
- <Width>315</Width>
- <Height>159.08407079646025</Height>
- <Angle>0</Angle>
- <ColorNumber>-14774017</ColorNumber>
- <ProcessParameters>
- <ID>0</ID>
- <Guid>e7434743-ec18-4ae3-91a9-e25db760963d</Guid>
- <LastUpdated>2020-03-04T15:03:44.3914568Z</LastUpdated>
- <Name>Process parameters 5</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>4</DryerAirFlow>
- <DryerZone1Temp>0</DryerZone1Temp>
- <DryerZone2Temp>0</DryerZone2Temp>
- <DryerZone3Temp>0</DryerZone3Temp>
- <DryerBufferLength>0</DryerBufferLength>
- <HeadAirFlow>4</HeadAirFlow>
- <TableIndex>0</TableIndex>
- <HeadZone7Temp>0</HeadZone7Temp>
- <HeadZone8Temp>0</HeadZone8Temp>
- <HeadZone9Temp>0</HeadZone9Temp>
- <HeadZone10Temp>0</HeadZone10Temp>
- <HeadZone11Temp>0</HeadZone11Temp>
- <HeadZone12Temp>0</HeadZone12Temp>
- <RBlowerFlow>0</RBlowerFlow>
- <RBlowerTemp>0</RBlowerTemp>
- <LBlowerFlow>0</LBlowerFlow>
- <LBlowerTemp>0</LBlowerTemp>
- <PressureBuildUp>0</PressureBuildUp>
- </ProcessParameters>
- <ParametersIndices>
- <ParameterIndex>
- <Name>Process Parameters Tables Group Guid</Name>
- <Index>0</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Name</Name>
- <Index>1</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Table Index</Name>
- <Index>2</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dyeing Speed</Name>
- <Index>3</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Min Ink Uptake</Name>
- <Index>4</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Max Ink Uptake</Name>
- <Index>5</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Feeder Tension</Name>
- <Index>6</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Puller Tension</Name>
- <Index>7</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Winder Tension</Name>
- <Index>8</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Mixer Temp</Name>
- <Index>9</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 1 Temp</Name>
- <Index>10</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 2 Temp</Name>
- <Index>11</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 3 Temp</Name>
- <Index>12</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 4 Temp</Name>
- <Index>13</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 5 Temp</Name>
- <Index>14</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 6 Temp</Name>
- <Index>15</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 7 Temp</Name>
- <Index>16</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 8 Temp</Name>
- <Index>17</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 9 Temp</Name>
- <Index>18</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 10 Temp</Name>
- <Index>19</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 11 Temp</Name>
- <Index>20</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Zone 12 Temp</Name>
- <Index>21</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Flow</Name>
- <Index>22</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>R Blower Temp</Name>
- <Index>23</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Flow</Name>
- <Index>24</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>L Blower Temp</Name>
- <Index>25</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 1 Temp</Name>
- <Index>26</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 2 Temp</Name>
- <Index>27</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Zone 3 Temp</Name>
- <Index>28</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Air Flow</Name>
- <Index>29</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Head Air Flow</Name>
- <Index>30</Index>
- </ParameterIndex>
- <ParameterIndex>
- <Name>Dryer Buffer Length</Name>
- <Index>31</Index>
- </ParameterIndex>
- </ParametersIndices>
- </TechItem>
- <TechItem xsi:type="BlowerItem">
- <ID>a9ac7e80-c612-4b2b-b35a-669d6d8697aa</ID>
- <Left>-1</Left>
- <Top>686.995575221239</Top>
- <Width>252</Width>
- <Height>103.35398230088481</Height>
- <Angle>0</Angle>
- <ItemGuid>B6FE07F8-2435-495D-ABFE-358C76812413</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>82576c3f-1790-4074-97a3-65a12bd812c1</ID>
- <Left>435</Left>
- <Top>573.99557522124167</Top>
- <Width>131</Width>
- <Height>109.43362831858394</Height>
- <Angle>0</Angle>
- <ItemGuid>94F3E5A1-413E-4EA0-BDE1-F0625BFF7910</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </TechItem>
- <TechItem xsi:type="MonitorItem">
- <ID>8a68cdf4-136b-4db4-bc4e-b3157790be6a</ID>
- <Left>580</Left>
- <Top>572.7168141592922</Top>
- <Width>131</Width>
- <Height>109.43362831858394</Height>
- <Angle>0</Angle>
- <ItemGuid>FE0D0A56-5795-4C5A-8E09-939FBB35C441</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- <UpdateInterval>10</UpdateInterval>
- <DecimalPoints>2</DecimalPoints>
- </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>
- <Duration>1460</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1516</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>16384</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1273</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>514</Duration>
- <Min>0</Min>
- <Max>100000</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <Duration>1398</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>4</DecimalPlaces>
- </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>
- <UpdateInterval>10</UpdateInterval>
- <OptimalRangeMinimum>0</OptimalRangeMinimum>
- <OptimalRangeMaximum>70</OptimalRangeMaximum>
- <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>
- <Duration>1956</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>1426</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>1282</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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>500</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>500</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>50</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>5</Speed>
- </TechItem>
- <TechItem xsi:type="MotorItem">
- <ID>7644a8f9-00a2-4e37-8f48-0667b1541114</ID>
- <Left>1037</Left>
- <Top>247.03097345133062</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>
- <TechItem xsi:type="DigitalOutItem">
- <ID>bba24461-e18d-497a-b85d-808668d0c750</ID>
- <Left>892</Left>
- <Top>457.57079646017365</Top>
- <Width>170</Width>
- <Height>87.999999999997613</Height>
- <Angle>0</Angle>
- <ItemGuid>6f48e18c-d472-425a-ba7e-633630605e11</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </TechItem>
- <TechItem xsi:type="DigitalOutItem">
- <ID>9ccdbff6-031d-4364-8732-daade6b88551</ID>
- <Left>1062</Left>
- <Top>452.95575221238948</Top>
- <Width>170</Width>
- <Height>87.999999999997613</Height>
- <Angle>0</Angle>
- <ItemGuid>8a65badb-3d7d-4b7b-8dcd-783e443b0689</ItemGuid>
- <ColorNumber>-1</ColorNumber>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>2962</Duration>
- <Min>0</Min>
- <Max>300</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>2</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>3600</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>3</DecimalPlaces>
- </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>
- <Duration>1942</Duration>
- <Min>0</Min>
- <Max>100</Max>
- <UseAutoRange>true</UseAutoRange>
- <DecimalPlaces>1</DecimalPlaces>
- </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/test_reg_readback.cs b/Software/Stubs Collection/stubs/test_reg_readback.cs
deleted file mode 100644
index d5ef91a3b..000000000
--- a/Software/Stubs Collection/stubs/test_reg_readback.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-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
diff --git a/Software/Stubs Collection/stubs/test_uart3_whs.cs b/Software/Stubs Collection/stubs/test_uart3_whs.cs
deleted file mode 100644
index b36179d8c..000000000
--- a/Software/Stubs Collection/stubs/test_uart3_whs.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-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<ProgressResponse>("ProgressRequest" ,0xb05, 0); //init
-
- Thread.Sleep(3000);
-
- for(int i=0;i<1;i++)
- {
- var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xb05, 1); // - Test_Reading_Shinko_Request_PV
- }
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/update thread PID during run.cs b/Software/Stubs Collection/stubs/update thread PID during run.cs
deleted file mode 100644
index b312440e5..000000000
--- a/Software/Stubs Collection/stubs/update thread PID during run.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System;
-using System.Text;
-using System.Linq;
-using System.Drawing;
-using System.Diagnostics;
-using System.Windows.Forms;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Collections.Generic;
-using Tango.PMR.Hardware;
-using Tango.PMR.Stubs;
-using Tango.Stubs;
-
-public void OnExecute(StubManager stubManager)
-{
-
-StubHeatingTestRequest stubHeatingTestRequest = new StubHeatingTestRequest();
-/*FEEDER*/
-HardwarePidControl hardwarePidControl = new HardwarePidControl();
-hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorFeeder;
-//hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorPooler;
-//hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
-hardwarePidControl.IntegralTime = 0;
-hardwarePidControl.DerivativeTime = 0;
-hardwarePidControl.ProportionalGain = 0;
-hardwarePidControl.Epsilon = 0;
-// hardwarePidControl.ControlOutputType = 0; //Dt - can change to 20/25
-stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl;
-var response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
-
-/*Puller*/
-/*
-//hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorFeeder;
-hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorPooler;
-//hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
-hardwarePidControl.IntegralTime = 0;
-hardwarePidControl.DerivativeTime = 0;
-hardwarePidControl.ProportionalGain = 0;
-hardwarePidControl.Epsilon = 0;
-// hardwarePidControl.ControlOutputType = 0; //Dt - can change to 20/25
-stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl;
-response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
-*/
-/*WINDER*/
-/*
-//hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorFeeder;
-//hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorPooler;
-hardwarePidControl.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
-hardwarePidControl.IntegralTime = 0;
-hardwarePidControl.DerivativeTime = 0;
-hardwarePidControl.ProportionalGain = 0;
-hardwarePidControl.Epsilon = 0;
-// hardwarePidControl.ControlOutputType = 0; //Dt - can change to 20/25
-stubHeatingTestRequest.HardwarePidControl1 = hardwarePidControl;
-response = stubManager.Run<StubHeatingTestResponse>(stubHeatingTestRequest);
-*/
-} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/whs control loop disable.cs b/Software/Stubs Collection/stubs/whs control loop disable.cs
deleted file mode 100644
index 01bd67d0a..000000000
--- a/Software/Stubs Collection/stubs/whs control loop disable.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-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)
-{
-//Loading Arm Calibration - this command writes the arm position to a non-volatile memory
-
-int ControlLoopEnable = 0x1000;
-int ControlLoopDisable = 0x0000;
-
-ProgressRequest progressRequest = new ProgressRequest();
-progressRequest.Amount = 0x3e8;
-progressRequest.Delay = ControlLoopDisable+2700;
-
- var response = stubManager.Run<ProgressResponse>(progressRequest);
-
-} \ No newline at end of file