* @USPOST PROCEDUR MB234859 19/11/27 21:15:01 10399 *********************************************************************** * PROCEDURE @USPOST * * Procedure de post-traitement specifique aux calculs d'usure * * Entrees : * T1 : Table de PASAPAS * ID_BU : Entier donnant le numero de la BOITE D'USURE a considerer * * Sortie : * T1 : Table de PASAPAS avec les resultats calcules * * Appelee par @USURE * [Collaboration LTDS - These E. Marc] * *********************************************************************** DEBP @USPOST T1*'TABLE' ID_BU*'ENTIER'; * BOITE_US = T1.'BOITES_USURE' ; CycActu = BOITE_US.'INFOS'.'INDICE_CYCLE_ACTUEL' ; NCyNum = BOITE_US.'INFOS'.'NB_CYCLES_NUM' ; * 'SI' ('EGA' ID_BU 1) ; * Numero du cycle calcule LstNCN = BOITE_US.'POST'.'LISTE_CYCLES_NUMERIQUES' ; LstNCN = LstNCN 'ET' CycActu ; BOITE_US.'POST'.'LISTE_CYCLES_NUMERIQUES' = LstNCN ; * * Nombre de Cycle Reel Equivalent LstNCRE = BOITE_US.'POST'.'LISTE_CYCLES_REELS' ; BETA = BOITE_US.'DONNEES'.'ACCELERATION' ; NCRE = BETA*CycActu ; LstNCRE = LstNCRE 'ET' NCRE ; BOITE_US.'POST'.'LISTE_CYCLES_REELS' = LstNCRE ; 'FINSI' ; * * Pression de contact moyenne et cisaillement moyen NbIncCy = BOITE_US.'INFOS'.'NB_INCREMENTS_PAR_CYCLE' ; 'REPE' BCL NbIncCy ; PrfPress = BOITE_US. ID_BU .'EVO_PRESSION_CONTACT' . &BCL ; PrfCisai = BOITE_US. ID_BU .'EVO_CISAILLEMENT_CONTACT'. &BCL ; 'SI' (&BCL 'EGA' 1); PressCum = OrdPress ; CisaiCum = OrdCisai ; 'SINON' ; PressCum = PressCum + OrdPress ; CisaiCum = CisaiCum + OrdCisai ; 'FINSI' ; 'FIN' BCL ; * LstPrMax = BOITE_US. ID_BU .'PRESSION_MAX' ; LstCiMax = BOITE_US. ID_BU .'CISAILLEMENT_MAX' ; BOITE_US. ID_BU .'PRESSION_MAX' = LstPrMax ; BOITE_US. ID_BU .'CISAILLEMENT_MAX' = LstCiMax ; * yPresMoy = PressCum / NbIncCy ; yCisaMoy = CisaiCum / NbIncCy ; BOITE_US. ID_BU .'EVO_PRESSION_MOYENNE_CYCLE' . CycActu = PressMoy ; BOITE_US. ID_BU .'EVO_CISAILLEMENT_MOYEN_CYCLE'. CycActu = CisaiMoy ; * * Calcul de delta_g et delta_t CyclFret = BOITE_US. ID_BU .'CYCLE_DE_FRETTING'. CycActu ; * - Delta_g DltG_Est = ECycFret / 2. / Ampl_F_N ; LstDltaG = BOITE_US. ID_BU .'DELTA_G' ; LstDltaG = LstDltaG 'ET' DltG_Est ; BOITE_US. ID_BU .'DELTA_G' = LstDltaG ; * - Delta_t DltT_Est = (Ampl_Dlt / 2.) - DltG_Est ; LstDltaT = BOITE_US. ID_BU .'DELTA_T' ; LstDltaT = LstDltaT 'ET' DltT_Est ; BOITE_US. ID_BU .'DELTA_T' = LstDltaT ; * * Est-on en glissement partiel ou glissement total? 'SI' ('EGA' ID_BU 1) ; ECycGtot = Ampl_F_N * Ampl_Dlt ; BOITE_US.'INFOS'.'AJUSTE_PAS' = FAUX ; 'SI' ((ECycFret / ECycGtot) '>' 0.2) ; 'SI' ('EGA' CycActu 1) ; BOITE_US.'INFOS'.'AJUSTE_PAS' = VRAI ; 'SINON' ; Var_DltT = ('ABS' ((DltT_Est - DltT_Pre) / DltT_Est)) * 100. ; BOITE_US.'INFOS'.'AJUSTE_PAS' = (Var_DltT '>' 10.) ; 'FINSI' ; 'FINSI' ; 'FINSI' ; * * - Energie dissipee pendant le cycle CycActu EvEnDCyc = BOITE_US. ID_BU .'EVO_ENERGIE_DISSIPEE_CYCLE' ; LstEdPC = BOITE_US. ID_BU .'L_ENERGIE_DISSIPEE_CYCLE' ; LstEdPC = LstEdPC 'ET' EdSurCyc ; BOITE_US. ID_BU .'L_ENERGIE_DISSIPEE_CYCLE' = LstEdPC ; * * - Energie dissipee totale EvEnDTot = BOITE_US. ID_BU .'EVO_ENERGIE_DISSIPEE_TOTALE' ; LstEdTot = BOITE_US. ID_BU .'L_ENERGIE_DISSIPEE_TOTALE' ; LstEdTot = LstEdTot 'ET' EdTotale ; BOITE_US. ID_BU .'L_ENERGIE_DISSIPEE_TOTALE' = LstEdTot ; * * - Volume use pendant le cycle CycActu EvNouvUs = BOITE_US. ID_BU .'EVO_USURE_CYCLE' ; LstVUsPC = BOITE_US. ID_BU .'VOLUME_USE_CYCLE' ; LstVUsPC = LstVUsPC 'ET' VolUsCyc ; BOITE_US. ID_BU .'VOLUME_USE_CYCLE' = LstVUsPC ; * * - Volume use total EvCumuUs = BOITE_US. ID_BU .'EVO_USURE_TOTALE' ; LstVolUs = BOITE_US. ID_BU .'VOLUME_USE_TOTAL' ; LstVolUs = LstVolUs 'ET' VolUsTot ; BOITE_US. ID_BU .'VOLUME_USE_TOTAL' = LstVolUs ; * * Construction des evolutions s'il s'agit du dernier cycle calcule 'SI' ('EGA' CycActu NcyNum) ; * * Pour les Evols '_TOTAL', on veut commencer le trace a 0 LstNCN = BOITE_US.'POST'.'LISTE_CYCLES_NUMERIQUES' ; Lst0NCN = 0 'ET' LstNCN ; LstNCRE = BOITE_US.'POST'.'LISTE_CYCLES_REELS' ; Lst0NCRE = 0 'ET' LstNCRE ; * * Legendes TxtNCRE = 'Cyc. Reels' ; TxtNCN = 'Cyc. Num.' ; * * Pression max et cisaillement max en fonction du cycle calcule BOITE_US. ID_BU .'PRESSION_MAX_VS_CYCLES_NUMS' = EvMaxPre ; BOITE_US. ID_BU .'CISAILLEMENT_MAX_VS_CYCLES_NUMS' = EvMaxCis ; * * Delta_g et Delta_t en fonction du cycle calcule 'Delta G (mm)' LstDltaG ; 'Delta T (mm)' LstDltaT ; BOITE_US. ID_BU .'DELTA_G_VS_CYCLES_REELS' = EvDtGCRE ; BOITE_US. ID_BU .'DELTA_T_VS_CYCLES_REELS' = EvDtTCRE ; * * Energie dissipee par cycle et totale en fonction du cycle calcule BOITE_US. ID_BU .'ENER_DISS_CYCLE_VS_CYCLES' = EvEdByCN ; BOITE_US. ID_BU .'ENER_DISS_TOT_VS_CYCLES' = EvEnDisT ; * * Volume use en fonction du cycle reel et de l'energie dissipee 'Volume use total' LstVolUs ; BOITE_US. ID_BU .'V_USE_TOT_VS_CYCLES_REELS' = EvVUsCRE ; BOITE_US. ID_BU .'V_USE_TOT_VS_ENER_DISS_TOT' = EvVUsEdT ; * 'FINSI' ; * FINP T1 ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales