[r18]: / ecu_at135_v1B_aladdin / StandardPLC / Plc Logic / Application / 007.Freinage / Fonction_Freinage / svnobj  Maximize  Restore  History

Download this file

101 lines (98 with data), 19.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
 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
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
FUNCTION_BLOCK Fonction_Freinage
VAR_INPUT
	Autonom_actif:							BOOL;
	Manuel_actif:							BOOL;
	Vitesse_actuelle_vehicule:				REAL; // en m/s
	Vitesse_cible_vehicule:					REAL; // en m/s
	Pression_Circuit_frein_arriere: 		REAL; // en bar
	Pression_Circuit_frein_avant:			REAL; // en bar
	Boucle_controle_position_Thomson:		REAL; // en mm
	Boucle_controle_vitesse_Thomson:		REAL; // en mm
VAR_OUTPUT
	Braking_setpoint_limited: 				REAL;
	Current_setpoint:						REAL;	// Consigne intensit
 - Force de freinage
	Delta_vitesse:							REAL;	// Delta consigne vitesse - vitesse actuelle
	Speed_setpoint:							USINT;	// Consigne de vitesse - vitesse de sortie/entr
e de la tige
	Emergency_braking:						BOOL;	// Demande d'un freinage d'urgence
	Accelerate:								BOOL;	// TURE si le v
hicule acc
l
re
	Bufferize_speed:						BLINK; 
	SR_Decel:								SR;
	rtrigg_Restart_seq:						R_TRIG;	// Trigger detection front montant demande s
quence r
armement v
rin thomson
	Refresh_rearm_verin:					BLINK;
	Value_step_verin:						WORD;
	internal_Vitesse_cible_vehicule:		REAL;	// en m/s
	internal_Pression_circuit_frein_avant:	REAL; 	// en Bar
	internal_Braking_setpoint:				REAL;	// en mm - sortie de tige 
	Braking_setpoint:						REAL;	// Consigne de freinage - distance de sortie du v
rin thomson	
652
{8e575c5b-1d37-49c6-941b-5c0ec7874787}
ChildObjectGuids
AddAttributeSubsequent
internal_Vitesse_actuelle_vehicule := LIMIT(0, Vitesse_actuelle_vehicule, 10);
internal_Pression_circuit_frein_arriere := LIMIT(0, Pression_Circuit_frein_arriere, 250);
Braking_setpoint_limited := LIMIT(Param_Thomson.Param_sortie_min, Braking_setpoint, Param_Thomson.Param_sortie_max);
(*Calcul_distance_max_arret_P3(Vitesse_vehicule := Vitesse_actuelle_vehicule, Distance_maximal_arret => Distance_arret_max);*)
Fonction: Appel de la m
thode monitoring dynamique du v
hicule
(*-----------------------------------------------------------------------------------------------------*)	
Delta_Calcule_Consigne(
	Valeur_actuelle := internal_Vitesse_actuelle_vehicule,
	Valeur_cible := internal_Vitesse_cible_vehicule,
	Delta_valeur => internal_Delta_calcule,
	
Delta_vitesse := internal_Delta_calcule;
Fonction: Appel de la m
thode de consigne verin thomson
 Consigne_Thomson(
	Delta_calcule := internal_Delta_calcule,
	Coeff_delta_min := Param_delta_frein.Delta_min_35,
	Coeff_delta_max := Param_delta_frein.Delta_max,
	Consigne_thomson_min := Param_Thomson.Param_sortie_min,
	Consigne_thomson_max := Param_Thomson.Param_sortie_max,
	Consigne_thomson => internal_Braking_setpoint,
	IF internal_Braking_setpoint > 0 AND internal_Vitesse_actuelle_vehicule > 0 THEN 	
		IF Braking_setpoint < internal_Braking_setpoint THEN 
(* Remise 
 0 de la consigne de freinage sur pression commande manuel *)
IF Manuel_actif = TRUE THEN
Refresh_consigne(ENABLE:=((Tag_shared_from_CR1083.Shared_var_cr7xxS_inc_pos_tige) OR (Tag_shared_from_CR1083.Shared_var_cr7xxS_dec_pos_tige)), TIMELOW:=TIME#500MS , TIMEHIGH:=TIME#20MS , OUT=> );
	RESET:= (countStep_rearm_verin.Q)OR(Tag_shared_from_CR1083.Shared_var_cr7xxS_restart_seq = FALSE), 
	PV:= 9, 
	Q=> , 
	CV=> Value_step_verin);
IF Manuel_actif = FALSE AND Autonom_actif = FALSE THEN
	(* Gestion d
placement Manuel *)
	IF Refresh_consigne.OUT THEN	
		ELSIF (Tag_shared_from_CR1083.Shared_var_cr7xxS_inc_pos_tige) AND (Braking_setpoint < Param_Thomson.Param_sortie_max) THEN
			Braking_setpoint := Braking_setpoint + 1;
			Enable_Thomson := TRUE;	
		END_IF
	(* Gestion R
armement V
rin *)
	CASE Value_step_verin OF
		1:	Enable_Thomson := FALSE;
		2:	Braking_setpoint := 0;
		3:  Enable_Thomson := TRUE;
		4:	Enable_Thomson := FALSE;
		5:	Braking_setpoint := 15;
		6:  Enable_Thomson := TRUE;
		7:	Enable_Thomson := FALSE;
		8:	Braking_setpoint := 0;
		9:  Enable_Thomson := TRUE;
	END_CASE
Fonction: Demande de lib
ration des accu de freinage
	IF (Emergency_braking = TRUE) AND (internal_Vitesse_actuelle_vehicule = 0) THEN
		Emergency_braking := FALSE;
ELSE