[r2]: / ecu_at135_v2r1_baloo / StandardPLC / Plc Logic / Application / 011.Odométrie / Function_Speed_Sensor_BISIGNAL / svnobj  Maximize  Restore  History

Download this file

31 lines (29 with data), 4.8 kB

 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
FUNCTION_BLOCK Function_Speed_Sensor_BISIGNAL
VAR_INPUT
	Value_freq_signal_B:	REAL; // Valeur extraite des sorties de frquence voie B
	Retour_Cycle_signal_B:	UDINT; //  Information detection de mouvement en micro-sec - "Value Cycle" signal B
	Sensor_Resolution:		INT; // Resolution du capteur
	Diametre_roue:			REAL; // en millimetre
	Vitesse_moteur: INT; 
END_VAR
VAR_OUTPUT
	Vitesse_ms: REAL;
	Vitesse_kmh: REAL;
	Vitesse_revolution_par_min: REAL;
VAR
	revolution: REAL;
	perimetre_roue: REAL;
	vitesse_linaire: REAL;
	moy_retour_cycle: UDINT;
moy_retour_cycle := Retour_Cycle_signal_A;
IF ((moy_retour_cycle <> 0) AND (Vitesse_moteur <> 0)) THEN
		revolution := (Value_freq_signal_A) * (60);
		Vitesse_revolution_par_min := revolution / Sensor_Resolution;
		perimetre_roue := Diametre_roue * 3.14;
		Vitesse_ms := (perimetre_roue / 1000) * (Vitesse_revolution_par_min / 60);
		Vitesse_kmh := (Vitesse_ms * 3600 ) / 1000;
	ELSE
		Vitesse_ms := 0;
		Vitesse_kmh :=0;
		Vitesse_revolution_par_min := 0;
END_IF