--- a/ecu_at135_v1B_aladdin/StandardPLC/Plc Logic/Application/011.Odométrie/Gestion_Odometrie/svnobj
+++ b/ecu_at135_v1B_aladdin/StandardPLC/Plc Logic/Application/011.Odométrie/Gestion_Odometrie/svnobj
@@ -1,4 +1,4 @@
-Gx_lÉ2!0…jüo@'›­aÒlÐÍSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
-TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextÎ(*-----------------------------------------------------------------------------------------------------¾Fonction: Ecriture des vitesse en RPM de chacune des roues pour Virtual Driver en fonction du sens de rotation du moteur electrique (encoder moteur electrique)"Auteur: LE BRECQ 2Date Création: 19/03/2019Modif:Objet Modif:Ð-----------------------------------------------------------------------------------------------------*)	BIF Traction.iMotor_speed > 0 THENl	Speed_encoder_front_right := Revolution_rpm_av_droit;l	Speed_encoder_front_left := Revolution_rpm_av_gauche;l	Speed_encoder_rear_right := Revolution_rpm_arr_droit;l	Speed_encoder_rear_left := Revolution_rpm_arr_gauche;N	Vehicle_speed := vitesse_ms_train_arr;HELSIF Traction.iMotor_speed < 0 THEN	Speed_encoder_front_right := OSCAT_BASIC.NEGX(Revolution_rpm_av_droit); 	Speed_encoder_front_left := OSCAT_BASIC.NEGX(Revolution_rpm_av_gauche);!	Speed_encoder_rear_right := OSCAT_BASIC.NEGX(Revolution_rpm_arr_droit);"	Speed_encoder_rear_left := OSCAT_BASIC.NEGX(Revolution_rpm_arr_gauche);#r	Vehicle_speed := OSCAT_BASIC.NEGX(vitesse_ms_train_arr);$END_IF%jFonction: Appel - Gestion des vitesses Train Arrière &0Vitesse_train_arriere();'fFonction: Appel - Gestion des vitesses Train Avant (,Vitesse_train_avant();)ZFonction: Appel - Gestion Calcul kilometrage *Î-----------------------------------------------------------------------------------------------------*)+:Kilometrage_roue_av_droite();,:Kilometrage_roue_av_gauche();-þPersistent_tags.Metrage_moy_auto := ((Persistent_tags. Metrage_av_droit_auto + Persistent_tags. Metrage_av_gauche_auto) / 2.0);.þPersistent_tags.Metrage_moy_manu := ((Persistent_tags. Metrage_av_droit_manu + Persistent_tags. Metrage_av_gauche_manu) / 2.0);/°Tag_shared_to_CR1083.Shared_var_cr1083_metrage_auto := Persistent_tags.Metrage_moy_auto;0°Tag_shared_to_CR1083.Shared_var_cr1083_metrage_manu := Persistent_tags.Metrage_moy_manu;1fMileage_manual := Persistent_tags.Metrage_moy_manu;2nMilage_autonomous := Persistent_tags.Metrage_moy_auto; 3–IF Global_tags.Mode_conduite = Global_tags.Struct_Vehicle_mode.Autonom THEN4	5\	IF triggInc_compt_av_droit_auto.Q = TRUE THEN6†		Persistent_tags. Metrage_av_droit_auto := (Persistent_tags.Metrage_av_droit_auto + (Param_odometrie.Perimetre_roue_av / 1000.0));7	END_IF8^	IF triggInc_compt_av_gauche_auto.Q = TRUE THEN9Š		Persistent_tags. Metrage_av_gauche_auto := (Persistent_tags.Metrage_av_gauche_auto + (Param_odometrie.Perimetre_roue_av / 1000.0));:”IF Global_tags.Mode_conduite = Global_tags.Struct_Vehicle_mode.Manuel THEN;\	IF triggInc_compt_av_droit_manu.Q = TRUE THEN<†		Persistent_tags. Metrage_av_droit_manu := (Persistent_tags.Metrage_av_droit_manu + (Param_odometrie.Perimetre_roue_av / 1000.0));=^	IF triggInc_compt_av_gauche_manu.Q = TRUE THEN>Š		Persistent_tags. Metrage_av_gauche_manu := (Persistent_tags.Metrage_av_gauche_manu + (Param_odometrie.Perimetre_roue_av / 1000.0));?Interface@L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}A2PROGRAM Gestion_OdometrieBVARCX	Param_odometrie:				Struct_Param_Odometrie;Dz	(*Déclaration des variables de vitesse ROUE ARRIERE GAUCHE*)Et	FB_odometrie_arr_gauche:		Function_Speed_Sensor_BISIGNAL;FD	Revolution_rpm_arr_gauche:		REAL;GH	Vitesse_kmh_train_arr_gauche:	REAL;HF	Vitesse_ms_train_arr_gauche:	REAL;I|	(*Déclaration des variables de vitesse ROUE ARRIERE DROITE*)	Jt	FB_odometrie_arr_droit:			Function_Speed_Sensor_BISIGNAL;KB	Revolution_rpm_arr_droit:		REAL;LF	Vitesse_kmh_train_arr_droit:	REAL;MF	Vitesse_ms_train_arr_droit:		REAL;Nx	(*Déclaration des variables de vitesse ROUE AVANT GAUCHE*)	Ox	FB_odometrie_av_gauche:			Function_Speed_Sensor_MONOSIGNAL;PB	Revolution_rpm_av_gauche:		REAL;QF	Vitesse_kmh_train_av_gauche:	REAL;RF	Vitesse_ms_train_av_gauche:		REAL;Sx	(*Déclaration des variables de vitesse ROUE AVANT DROITE*)	Tv	FB_odometrie_av_droit:			Function_Speed_Sensor_MONOSIGNAL;U@	Revolution_rpm_av_droit:		REAL;VF	Vitesse_kmh_train_av_droit:		REAL;WD	Vitesse_ms_train_av_droit:		REAL;Xp	(*Déclaration des variables de vitesse ROUES ARRIERES*)Y4	vitesse_ms_arr:					REAL;Z<	vitesse_ms_train_arr:			REAL;[>	vitesse_kmh_train_arr:			REAL;\j	(*Déclaration des variables de vitesse ROUES AVANT*)]2	vitesse_ms_av:					REAL;^:	vitesse_ms_train_av:			REAL;_<	vitesse_kmh_train_av:			REAL;`r	(* Comptage pour incrémentation compteur kilométrique *)a:	countFront_av_gauche:			CTU;b8	countFront_av_droit:			CTU;cL	triggInc_compt_av_droit_auto:	R_TRIG;dN	triggInc_compt_av_gauche_auto:	R_TRIG;eL	triggInc_compt_av_droit_manu:	R_TRIG;fN	triggInc_compt_av_gauche_manu:	R_TRIG;g@	Inc_compteur_av_gauche:			BOOL;h>	Inc_compteur_av_droit:			BOOL;iEND_VARj"UniqueIdGeneratork230lPOULevelmL{8e575c5b-1d37-49c6-941b-5c0ec7874787}nStandardo ChildObjectGuidsp8System.Collections.ArrayListq,AddAttributeSubsequentrboolÐÐ-ÐÐ	E
-DÐÐ
­GÚÐ-ÐÐ
­JÚÐ-ÐÐ
­KÚÐ-ÐÐ
­LÚÐ-ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­IÚÐ-ÐÐ
­EÚÐ-ÐÐ
­1ÚÐ-ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-ÐÐ
­4ÚÐ-ÐÐ
­5ÚÐ-ÐÐ
­6ÚÐ-ÐÐ
­8ÚÐ-ÐÐ
­9ÚÐ-ÐÐ
­:ÚÐ- ÐÐ
­;ÚÐ-!ÐÐ
­<ÚÐ-"ÐÐ
­=ÚÐ-#ÐÐ
­?ÚÐ-$ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-%ÐÐ
­RÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-&ÐÐ
­SÚÐ-ÐÐ
­TÚÐ-'ÐÐ
­UÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-(ÐÐ
­[ÚÐ-ÐÐ
­\ÚÐ-)ÐÐ
­]ÚÐ-ÐÐ
­ZÚÐ-*ÐÐ
­ÚÐ-+ÐÐ
­^ÚÐ-,ÐÐ
­ÕÚÐ-ÐÐ
­ÃÚÐ--ÐÐ
­ÖÚÐ-.ÐÐ
­ãÚÐ-/ÐÐ
­åÚÐ-0ÐÐ
­äÚÐ-1ÐÐ
­æÚÐ-2ÐÐ
­ÀÚÐ-ÐÐ
­¿ÚÐ-3ÐÐ
­ÍÚÐ-4ÐÐ
­ÁÚÐ-5ÐÐ
­ËÚÐ-6ÐÐ
­ÌÚÐ-7ÐÐ
­ÏÚÐ-4ÐÐ
­ÑÚÐ-8ÐÐ
­ÒÚÐ-9ÐÐ
­ÐÚÐ-7ÐÐ
­ÓÚÐ-4ÐÐ
­ÂÚÐ-$ÐÐ
­ØÚÐ-ÐÐ
­ÙÚÐ-:ÐÐ
­ÚÚÐ-4ÐÐ
­ÛÚÐ-;ÐÐ
­ÜÚÐ-<ÐÐ
­ÝÚÐ-7ÐÐ
­ÞÚÐ-4ÐÐ
­ßÚÐ-=ÐÐ
­àÚÐ->ÐÐ
­áÚÐ-7ÐÐ
­âÚÐ-4ÐÐ
­×ÚÐ-$Ð?@Ð	E
+Gx_lù2!0…jüo@'ÒÛ[‘^ƒÕSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
+TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextÎ(*-----------------------------------------------------------------------------------------------------¾Fonction: Ecriture des vitesse en RPM de chacune des roues pour Virtual Driver en fonction du sens de rotation du moteur electrique (encoder moteur electrique)"Auteur: LE BRECQ 2Date Création: 19/03/2019Modif:Objet Modif:Ð-----------------------------------------------------------------------------------------------------*)	BIF Traction.iMotor_speed > 0 THENl	Speed_encoder_front_right := Revolution_rpm_av_droit;l	Speed_encoder_front_left := Revolution_rpm_av_gauche;l	Speed_encoder_rear_right := Revolution_rpm_arr_droit;l	Speed_encoder_rear_left := Revolution_rpm_arr_gauche;N	Vehicle_speed := vitesse_ms_train_arr;HELSIF Traction.iMotor_speed < 0 THEN	Speed_encoder_front_right := OSCAT_BASIC.NEGX(Revolution_rpm_av_droit); 	Speed_encoder_front_left := OSCAT_BASIC.NEGX(Revolution_rpm_av_gauche);!	Speed_encoder_rear_right := OSCAT_BASIC.NEGX(Revolution_rpm_arr_droit);"	Speed_encoder_rear_left := OSCAT_BASIC.NEGX(Revolution_rpm_arr_gauche);#r	Vehicle_speed := OSCAT_BASIC.NEGX(vitesse_ms_train_arr);$END_IF%jFonction: Appel - Gestion des vitesses Train Arrière &0Vitesse_train_arriere();'fFonction: Appel - Gestion des vitesses Train Avant (,Vitesse_train_avant();)ZFonction: Appel - Gestion Calcul kilometrage *Î-----------------------------------------------------------------------------------------------------*)+:Kilometrage_roue_av_droite();,:Kilometrage_roue_av_gauche();-þPersistent_tags.Metrage_moy_auto := ((Persistent_tags. Metrage_av_droit_auto + Persistent_tags. Metrage_av_gauche_auto) / 2.0);.þPersistent_tags.Metrage_moy_manu := ((Persistent_tags. Metrage_av_droit_manu + Persistent_tags. Metrage_av_gauche_manu) / 2.0);/°Tag_shared_to_CR1083.Shared_var_cr1083_metrage_auto := Persistent_tags.Metrage_moy_auto;0°Tag_shared_to_CR1083.Shared_var_cr1083_metrage_manu := Persistent_tags.Metrage_moy_manu;1fMileage_manual := Persistent_tags.Metrage_moy_manu;2nMilage_autonomous := Persistent_tags.Metrage_moy_auto; 3–IF Global_tags.Mode_conduite = Global_tags.Struct_Vehicle_mode.Autonom THEN4	5\	IF triggInc_compt_av_droit_auto.Q = TRUE THEN6†		Persistent_tags. Metrage_av_droit_auto := (Persistent_tags.Metrage_av_droit_auto + (Param_odometrie.Perimetre_roue_av / 1000.0));7	END_IF8^	IF triggInc_compt_av_gauche_auto.Q = TRUE THEN9Š		Persistent_tags. Metrage_av_gauche_auto := (Persistent_tags.Metrage_av_gauche_auto + (Param_odometrie.Perimetre_roue_av / 1000.0));:”IF Global_tags.Mode_conduite = Global_tags.Struct_Vehicle_mode.Manuel THEN;\	IF triggInc_compt_av_droit_manu.Q = TRUE THEN<†		Persistent_tags. Metrage_av_droit_manu := (Persistent_tags.Metrage_av_droit_manu + (Param_odometrie.Perimetre_roue_av / 1000.0));=^	IF triggInc_compt_av_gauche_manu.Q = TRUE THEN>Š		Persistent_tags. Metrage_av_gauche_manu := (Persistent_tags.Metrage_av_gauche_manu + (Param_odometrie.Perimetre_roue_av / 1000.0));?Interface@L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}A2PROGRAM Gestion_OdometrieBVARCX	Param_odometrie:				Struct_Param_Odometrie;Dz	(*Déclaration des variables de vitesse ROUE ARRIERE GAUCHE*)Et	FB_odometrie_arr_gauche:		Function_Speed_Sensor_BISIGNAL;FD	Revolution_rpm_arr_gauche:		REAL;GH	Vitesse_kmh_train_arr_gauche:	REAL;HF	Vitesse_ms_train_arr_gauche:	REAL;I|	(*Déclaration des variables de vitesse ROUE ARRIERE DROITE*)	Jt	FB_odometrie_arr_droit:			Function_Speed_Sensor_BISIGNAL;KB	Revolution_rpm_arr_droit:		REAL;LF	Vitesse_kmh_train_arr_droit:	REAL;MF	Vitesse_ms_train_arr_droit:		REAL;Nx	(*Déclaration des variables de vitesse ROUE AVANT GAUCHE*)	Ox	FB_odometrie_av_gauche:			Function_Speed_Sensor_MONOSIGNAL;PB	Revolution_rpm_av_gauche:		REAL;QF	Vitesse_kmh_train_av_gauche:	REAL;RF	Vitesse_ms_train_av_gauche:		REAL;Sx	(*Déclaration des variables de vitesse ROUE AVANT DROITE*)	Tv	FB_odometrie_av_droit:			Function_Speed_Sensor_MONOSIGNAL;U@	Revolution_rpm_av_droit:		REAL;VF	Vitesse_kmh_train_av_droit:		REAL;WD	Vitesse_ms_train_av_droit:		REAL;Xp	(*Déclaration des variables de vitesse ROUES ARRIERES*)Y4	vitesse_ms_arr:					REAL;Z<	vitesse_ms_train_arr:			REAL;[>	vitesse_kmh_train_arr:			REAL;\j	(*Déclaration des variables de vitesse ROUES AVANT*)]2	vitesse_ms_av:					REAL;^:	vitesse_ms_train_av:			REAL;_<	vitesse_kmh_train_av:			REAL;`r	(* Comptage pour incrémentation compteur kilométrique *)a:	countFront_av_gauche:			CTU;b8	countFront_av_droit:			CTU;cL	triggInc_compt_av_droit_auto:	R_TRIG;dN	triggInc_compt_av_gauche_auto:	R_TRIG;eL	triggInc_compt_av_droit_manu:	R_TRIG;fN	triggInc_compt_av_gauche_manu:	R_TRIG;g@	Inc_compteur_av_gauche:			BOOL;h>	Inc_compteur_av_droit:			BOOL;iEND_VARj"UniqueIdGeneratork232lPOULevelmL{8e575c5b-1d37-49c6-941b-5c0ec7874787}nStandardo ChildObjectGuidsp8System.Collections.ArrayListq,AddAttributeSubsequentrboolÐÐ-ÐÐ	E
+FÐÐ
­GÚÐ-ÐÐ
­JÚÐ-ÐÐ
­KÚÐ-ÐÐ
­LÚÐ-ÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­IÚÐ-ÐÐ
­EÚÐ-ÐÐ
­1ÚÐ-ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-ÐÐ
­4ÚÐ-ÐÐ
­5ÚÐ-ÐÐ
­6ÚÐ-ÐÐ
­8ÚÐ-ÐÐ
­9ÚÐ-ÐÐ
­:ÚÐ- ÐÐ
­;ÚÐ-!ÐÐ
­<ÚÐ-"ÐÐ
­=ÚÐ-#ÐÐ
­?ÚÐ-$ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-%ÐÐ
­RÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-&ÐÐ
­SÚÐ-ÐÐ
­TÚÐ-'ÐÐ
­UÚÐ-ÐÐ
­BÚÐ-ÐÐ
­CÚÐ-(ÐÐ
­[ÚÐ-ÐÐ
­\ÚÐ-)ÐÐ
­]ÚÐ-ÐÐ
­ZÚÐ-*ÐÐ
­ÚÐ-+ÐÐ
­^ÚÐ-,ÐÐ
­ÕÚÐ-ÐÐ
­ÃÚÐ--ÐÐ
­ÖÚÐ-.ÐÐ
­çÚÐ-ÐÐ
­ãÚÐ-/ÐÐ
­åÚÐ-0ÐÐ
­èÚÐ-ÐÐ
­äÚÐ-1ÐÐ
­æÚÐ-2ÐÐ
­ÀÚÐ-ÐÐ
­¿ÚÐ-3ÐÐ
­ÍÚÐ-4ÐÐ
­ÁÚÐ-5ÐÐ
­ËÚÐ-6ÐÐ
­ÌÚÐ-7ÐÐ
­ÏÚÐ-4ÐÐ
­ÑÚÐ-8ÐÐ
­ÒÚÐ-9ÐÐ
­ÐÚÐ-7ÐÐ
­ÓÚÐ-4ÐÐ
­ÂÚÐ-$ÐÐ
­ØÚÐ-ÐÐ
­ÙÚÐ-:ÐÐ
­ÚÚÐ-4ÐÐ
­ÛÚÐ-;ÐÐ
­ÜÚÐ-<ÐÐ
­ÝÚÐ-7ÐÐ
­ÞÚÐ-4ÐÐ
­ßÚÐ-=ÐÐ
­àÚÐ->ÐÐ
­áÚÐ-7ÐÐ
­âÚÐ-4ÐÐ
­×ÚÐ-$Ð?@Ð	E
 3ÐÐ
­ÚÐ-AÐÐ
­ÚÐ-ÐÐ
­‘ÚÐ-BÐÐ
­’ÚÐ-CÐÐ
­“ÚÐ-DÐÐ
­”ÚÐ-EÐÐ
­•ÚÐ-FÐÐ
­–ÚÐ-GÐÐ
­—ÚÐ-HÐÐ
­˜ÚÐ-ÐÐ
­™ÚÐ-IÐÐ
­šÚÐ-JÐÐ
­›ÚÐ-KÐÐ
­œÚÐ-LÐÐ
­ÚÐ-MÐÐ
­žÚÐ-4ÐÐ
­ŸÚÐ-NÐÐ
­ ÚÐ-OÐÐ
­¡ÚÐ-PÐÐ
­¢ÚÐ-QÐÐ
­£ÚÐ-RÐÐ
­¤ÚÐ-4ÐÐ
­¥ÚÐ-SÐÐ
­¦ÚÐ-TÐÐ
­§ÚÐ-UÐÐ
­¨ÚÐ-VÐÐ
­©ÚÐ-WÐÐ
­ªÚÐ-4ÐÐ
­«ÚÐ-XÐÐ
­¬ÚÐ-YÐÐ
­­ÚÐ-ZÐÐ
­®ÚÐ-[ÐÐ
­¯ÚÐ-4ÐÐ
­°ÚÐ-\ÐÐ
­±ÚÐ-]ÐÐ
­²ÚÐ-^ÐÐ
­³ÚÐ-_ÐÐ
­´ÚÐ-4ÐÐ
­µÚÐ-`ÐÐ
­¶ÚÐ-aÐÐ
­·ÚÐ-bÐÐ
­ÇÚÐ-cÐÐ
­ÈÚÐ-dÐÐ
­ÉÚÐ-eÐÐ
­ÊÚÐ-fÐÐ
­¸ÚÐ-gÐÐ
­¹ÚÐ-hÐÐ
­¼ÚÐ-ÐÐ
­½ÚÐ-4ÐÐ
­¾ÚÐ-iÐÐ
­ÚÐ-Ðj-kÐlm-nopÐqr­
\ No newline at end of file