aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Embedded parameters handling.txt
blob: 71e7f8994f1e8f15e60699a08cdb1eb68ea31ae2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
	EmbeddedParameters->breaksensorlimit = 10;
	EmbeddedParameters->diagnosticcollectionlimit = 1;
	EmbeddedParameters->overheatcountlimit = 3;
	EmbeddedParameters->underheatcountlimit = 3;
	EmbeddedParameters->closevalvetimeout = 50;
	EmbeddedParameters->openvalvetimeout = 50;
	EmbeddedParameters->initialdispenserpressure = 1.08;
	EmbeddedParameters->initialdispensertimeout = 60000;
	EmbeddedParameters->initialdispensertimelag = 100;
	EmbeddedParameters->dispenserbuildpressurespeed=500;
	EmbeddedParameters->dispenserbuildpressurelimit=0.8 ;
	EmbeddedParameters->dispenserbuildpressuretimeout=60000;
	EmbeddedParameters->dispenserbuildpressurelag=50;
	EmbeddedParameters->acheatersloweroperationlimit = 980;
	EmbeddedParameters->acheatersupperoperationlimit = 1005;
	EmbeddedParameters->dcheatersloweroperationlimit = 978;
	EmbeddedParameters->dcheatersupperoperationlimit = 1002;
	EmbeddedParameters->midtankpressurecorrection = 0.0;
	EmbeddedParameters->dispenserpresegmentwfcf = 80;
	EmbeddedParameters->startheatingoninitsequence = true; //set to true shlomo 14/5/2019
	EmbeddedParameters->currentalarmlowlimit = 0.80;
	EmbeddedParameters->currentalarmhighlimit= 1.07;
	EmbeddedParameters->ids_segmentrefilltimeout = 5000;
	EmbeddedParameters->ids_presegmentbuilduptime = 5000;
	EmbeddedParameters->ids_cleaningspeed = 50;
	EmbeddedParameters->ids_cleaningstopbeforesegmenttime = 3000;
	EmbeddedParameters->ids_cleaningstartspraypresegmenttime = 1000;
	EmbeddedParameters->ids_leftcleaningmotorspeed = 30;
	EmbeddedParameters->ids_rightcleaningmotorspeed = 23;
	EmbeddedParameters->switchtoidletimeinseconds = 3600;
	EmbeddedParameters->idledriertemperature = 80;
	EmbeddedParameters->idleheadtemperature = 80;
	EmbeddedParameters->idlemixertemperature = 0;
	EmbeddedParameters->powerofftemperaturelimit = 50;
	EmbeddedParameters->ids_presegment_wfcf_timebeforesegment = 1500;

	EmbeddedParameters->generalparameters[0] = 1.0; //CheckHardLimitAlarms
	EmbeddedParameters->generalparameters[1] = 1.0; //CheckCurrentAlarms
	EmbeddedParameters->generalparameters[2] = 0.0; //CheckTamperAlarms
	EmbeddedParameters->generalparameters[3] = 0.0; //CheckMotorAlarms
	EmbeddedParameters->generalparameters[4] = 800.0; //Winder homing time at end of job
	EmbeddedParameters->generalparameters[5] = 1000.0; //Dispenser initial pressure speed
	EmbeddedParameters->generalparameters[6] = Diagnostic_Normal_Mode; //Diagnostic Mode SetDiagnosticMode
	EmbeddedParameters->generalparameters[7] = AutoHoming_JobEnd_PowerOn_off; //

/**************************************************************************************/

    IDS_Dispenser_SetBackLashValues(EmbeddedParameters->initialdispenserpressure, EmbeddedParameters->initialdispensertimeout, EmbeddedParameters->initialdispensertimelag,EmbeddedParameters->generalparameters[5]);
    IDS_Dispenser_SetTimeOutValues(EmbeddedParameters->closevalvetimeout, EmbeddedParameters->openvalvetimeout);
    IDS_Dispenser_SetPrepareValues(EmbeddedParameters->dispenserbuildpressurespeed,   EmbeddedParameters->dispenserbuildpressurelimit, EmbeddedParameters->dispenserbuildpressuretimeout, EmbeddedParameters->dispenserbuildpressurelag);
    IDS_Dispenser_SetPreSegmentWFCFValues(EmbeddedParameters->dispenserpresegmentwfcf,  EmbeddedParameters->ids_presegment_wfcf_timebeforesegment);
    IDS_Dispenser_SetPreSegmentCleaningValues(EmbeddedParameters->ids_cleaningspeed,EmbeddedParameters->ids_cleaningstartspraypresegmenttime ,EmbeddedParameters->ids_cleaningstopbeforesegmenttime,EmbeddedParameters->ids_leftcleaningmotorspeed,EmbeddedParameters->ids_rightcleaningmotorspeed);

    Heaters_SetOverHeatTimeOutValues( EmbeddedParameters->overheatcountlimit,  EmbeddedParameters->underheatcountlimit);
    Heaters_SetOperationLimits(EmbeddedParameters->acheatersloweroperationlimit,EmbeddedParameters->acheatersupperoperationlimit,EmbeddedParameters->dcheatersloweroperationlimit,EmbeddedParameters->dcheatersupperoperationlimit);

    MidTankPressureCorrection(EmbeddedParameters->midtankpressurecorrection);

    SetDiagnosticCollectionLimit(EmbeddedParameters->diagnosticcollectionlimit);

    ThreadSetBreakSensorLimit(EmbeddedParameters->breaksensorlimit);

    PowerOffSetTemperatureThreshold(EmbeddedParameters->powerofftemperaturelimit);

    InitSequenceSetStartHeating (EmbeddedParameters->startheatingoninitsequence);
    bool checkHardLimitAlarms = false, checkCurrentAlarms = false,  checkTamperAlarms = false,  checkMotorAlarms = false;

	checkHardLimitAlarms = (EmbeddedParameters->generalparameters[0] < 0.5)?false:true;
	checkCurrentAlarms = (EmbeddedParameters->generalparameters[1] < 0.5)?false:true;
	checkTamperAlarms = (EmbeddedParameters->generalparameters[2] < 0.5)?false:true;
	checkMotorAlarms = (EmbeddedParameters->generalparameters[3] < 0.5)?false:true;

	AlarmHandlingSetFlags(checkHardLimitAlarms,checkCurrentAlarms,checkTamperAlarms,checkMotorAlarms);
	AlarmHandlingSetCurrentLimits(EmbeddedParameters->currentalarmhighlimit,EmbeddedParameters->currentalarmlowlimit);

	SetWinderBackToBaseTime((uint32_t) EmbeddedParameters->generalparameters[4]);

	if(EmbeddedParameters->generalparameters[6]<0.5)  SetDiagnosticMode(Diagnostic_Minimal_Mode);
	else if(EmbeddedParameters->generalparameters[6]<1.5)  SetDiagnosticMode(Diagnostic_Normal_Mode);
	else if(EmbeddedParameters->generalparameters[6]<2.5)  SetDiagnosticMode(Diagnostic_Extended_Mode);
	else if(EmbeddedParameters->generalparameters[6]<3.5)  SetDiagnosticMode(Diagnostic_Extreme_Mode);

	if (EmbeddedParameters->generalparameters[7]< 0.5) IDS_Dispenser_SetAutoHoming_Config(AutoHoming_off);
	else if (EmbeddedParameters->generalparameters[7]< 1.5) IDS_Dispenser_SetAutoHoming_Config(AutoHoming_PowerOff);
	else if (EmbeddedParameters->generalparameters[7]< 2.5) IDS_Dispenser_SetAutoHoming_Config(AutoHoming_PowerOn_off);
	else if (EmbeddedParameters->generalparameters[7]< 3.5) IDS_Dispenser_SetAutoHoming_Config(AutoHoming_JobEnd_PowerOn_off);

    PowerIdleSetParameters(EmbeddedParameters->switchtoidletimeinseconds,EmbeddedParameters->idledriertemperature,EmbeddedParameters->idleheadtemperature,EmbeddedParameters->idlemixertemperature);