1 : * CAMPBELL PROCEDUR JC220346 12/09/12 21:15:00 7501 2 : ************************************************************************* 3 : * 4 : * 5 : * Procédure CAMPBELL 6 : * 7 : * Calcule le diagramme de Campbell d'une machine tournante 8 : * Le diagramme peut être calculé dans le repère fixe 9 : * (diagramme classique pour des modélisation de type poutre avec couplage gyrosc 10 : * ou dans le repère tournant (évolution des fréquences en tenant compte 11 : * des raideurs centrifuges, de précontrainte et du couplage de Coriolis) 12 : * 13 : ************************************************************************* 14 : * 15 : * INPUT 16 : *========= 17 : * 18 : * 19 : * PRFREQ: LISTREEL contenant les fréquences de rotation pour lesquelles 20 : * on calcule le diagramme de Campbell 21 : * 22 : * TAB1 Table contenant: 23 : * 24 : * TAB1.'BASE_MODALE': Table contenant la base de modes réels utilisées 25 : * (table générée par VIBR avec l'option TBAS) 26 : * 27 : * Les matrices de masse, de raideur, d'amortissement et de couplage 28 : * peuvent être données déjà projetées sur la base de modes réels ou non: 29 : * 30 : * TAB1.'MASS_PROJ': Matrice de masse projetée sur les modes réels utilisés 31 : * TAB1.'MASSE': Matrice de masse 32 : * 33 : * TAB1.'RIGI_PROJ': Matrice de rigidité projetée sur les modes réels utilisés 34 : * TAB1.'RIGIDITE': Matrice de rigidité 35 : * 36 : * TAB1.'AMOR_PROJ': Matrice d'amortissement projetée sur les modes réels utili 37 : * TAB1.'AMORTISSEMENT': Matrice d'amortissement 38 : * 39 : * Pour les diagrammes de Campbell classique (dans le repère fixe) 40 : * 41 : * TAB1.'KROT_PROJ': Matrice de raideur antisymétrique due à l'amortissement co 42 : * projetée sur les modes réels utilisés 43 : * TAB1.'KROTATIF': Matrice de raideur antisymétrique due à l'amortissement cor 44 : * 45 : * TAB1.'GYRO_PROJ': Matrice de couplage gyroscopique projetée sur les modes ré 46 : * TAB1.'GYROSCOPIQUE': Matrice de couplage gyroscopique pour une vitesse de ro 47 : * 48 : * Pour les diagrammes de Campbell dans le repère tournant 49 : * 50 : * TAB1.'CORI_PROJ': Matrice de couplage de Coriolis projetée sur les modes rée 51 : * TAB1.'CORIOLIS': Matrice de couplage de Coriolis pour une vitesse de rotatio 52 : * 53 : * TAB1.'KSIG_PROJ': Matrice de raideur de précontrainte projetée sur les modes 54 : * TAB1.'KSIGMA': Matrice de raideur de précontrainte pour une vitesse de rotat 55 : * 56 : * TAB1.'KCEN_PROJ': Matrice de raideur centrifuge projetée sur les modes réels 57 : * TAB1.'KCENT': Matrice de raideur centrifuge pour une vitesse de rotation uni 58 : * 59 : * Les matrices de couplage gyroscopique, de raideur de précontrainte et de r 60 : * doivent être données pour une vitesse de rotation unité 61 : * (1 Hz, 1 rad/s ou 1 tour/min selon le choix de l'utilisateur) 62 : * 63 : * TAB1.'AFFICHAGE': VRAI si on veut afficher les fréquences de rotation au cou 64 : * TAB1.'CLASSEMENT': VRAI si on veut classer les modes directs (pulsation reel 65 : * et les modes rétrogrades (pulsation 66 : * 67 : * TAB1.'AXE_DIRECT': Vecteur parallèle à la vitesse de rotation nécessaire pou 68 : * les sens direct et rétrograde 69 : * 70 : * OUTPUT 71 : *========== 72 : * 73 : * TAB1. i Table contenant les résultats pour le mode complexe i 74 : * (N modes réels donnant 2N modes complexes) 75 : * (TAB1. i). 'FREQUENCE_REELLE' : Evolution donnant la fréquence réelle 76 : * en fonction de la fréquence de rotation 77 : * (TAB1. i). 'FREQUENCE_IMAGINAIRE': Evolution donnant la fréquence imaginair 78 : * en fonction de la fréquence de rotation 79 : * (TAB1. i). 'FREQUENCE_MODULE' : Evolution donnant le module de la fréquence 80 : * en fonction de la fréquence de rotation 81 : * (TAB1. i). 'AMORTISSEMENT' : Evolution donnant l'amortissement en fonction 82 : * de la fréquence de rotation 83 : * 84 : * Remarque: Pour chaque fréquence de rotation, les fréquences et amortissement 85 : * sont classés par ordre croissant. La ligne i correspond donc 86 : * à la fréquence ième par ordre croissant (pas de suivi de mode). 87 : * 88 : ************************************************************************ 89 : * 90 : DEBPROC CAMPBELL TAB1*TABLE PRFREQ*LISTREEL; 91 : * 92 : * 93 : ERR = VRAI; 94 : * 95 : 'SI' (EXISTE TAB1 'AFFICHAGE'); 96 : SI ((TAB1.'AFFICHAGE') EGA VRAI); 97 : TESTAF = TAB1.'AFFICHAGE'; 98 : SINON; 99 : TESTAF = FAUX; 100 : FINSI; 101 : 'SINON'; 102 : TESTAF = FAUX; 103 : 'FINSI'; 104 : * 105 : Nfreq = dime PRFREQ; 106 : * 107 : 'SI' (EXISTE TAB1 'FOURIER'); 108 : FLFOUR = TAB1.'FOURIER'; 109 : 'SINON'; 110 : FLFOUR = FAUX; 111 : 'FINSI'; 112 : * 113 : TESTCL = FAUX; 114 : 'SI' (EXISTE TAB1 'CLASSEMENT'); 115 : 'SI' (EGA (TAB1.'CLASSEMENT') VRAI); 116 : TESTCL = TAB1.'CLASSEMENT'; 117 : 'SINON'; 118 : TESTCL = FAUX; 119 : 'FINSI'; 120 : 'SI' (EXISTE TAB1 'AXE_DIRECT'); 121 : ppdirect = TAB1.'AXE_DIRECT'; 122 : 'SINON'; 123 : 'SI' (NON FLFOUR); 124 : ppdirect = 0. 0. 1.; 125 : 'FINSI'; 126 : 'FINSI'; 127 : 'FINSI'; 128 : * 129 : * 130 : 'SI' (EXISTE TAB1 'BASE_MODALE'); 131 : TBasR = TAB1.'BASE_MODALE'; 132 : TMod1 = (TAB1.'BASE_MODALE') . 'MODES' ; 133 : NbModR = (DIME TMod1) - 2 ; 134 : FLAMODE= FAUX; 135 : mess 'Je lis la base modale'; 136 : 'SINON'; 137 : 'SI' (EXISTE TAB1 'NMODES'); 138 : FLAMODE= VRAI; 139 : nmodes = TAB1.'NMODES'; 140 : NbModR = nmodes; 141 : 'SI' (EXISTE TAB1 'FREQ_PROCHE'); 142 : fproche = TAB1.'FREQ_PROCHE'; 143 : 'SINON'; 144 : fproche = 0; 145 : 'FINSI'; 146 : 'SINON'; 147 : MESS 'Il manque la base de modes réels dans TAB1'; 148 : MESS 'Veuillez specifier le nombre de modes reels a calculer'; 149 : ERR = FAUX; 150 : 'FINSI'; 151 : 'FINSI'; 152 : NbModC = 2*NbModR; 153 : * 154 : 'SI' (EXISTE TAB1 'RIGIDITE'); 155 : MRig = TAB1.'RIGIDITE'; 156 : mess 'Je lis la rigidite'; 157 : SI (NON FLAMODE); 158 : MRigP = PJBA TBasR MRig ; 159 : FINSI; 160 : 'SINON'; 161 : 'SI' (EXISTE TAB1 'RIGI_PROJ'); 162 : MRigP = TAB1.'RIGI_PROJ'; 163 : 'SINON'; 164 : MESS 'Il manque la matrice de rigidité dans TAB1'; 165 : ERR = FAUX; 166 : 'FINSI'; 167 : 'FINSI'; 168 : * 169 : * 170 : 'SI' (EXISTE TAB1 'MASSE'); 171 : Mmas = TAB1.'MASSE'; 172 : mess 'Je lis la masse'; 173 : SI (NON FLAMODE); 174 : MMasP = PJBA TBasR MMas ; 175 : FINSI; 176 : 'SINON'; 177 : 'SI' (EXISTE TAB1 'MASS_PROJ'); 178 : MMasP = TAB1.'MASS_PROJ'; 179 : 'SINON'; 180 : MESS 'Il manque la matrice de masse dans TAB1'; 181 : ERR = FAUX; 182 : 'FINSI'; 183 : 'FINSI'; 184 : * 185 : 'SI' (EXISTE TAB1 'AMORTISSEMENT'); 186 : MCam = TAB1.'AMORTISSEMENT'; 187 : mess 'Je lis l amortissement'; 188 : SI (NON FLAMODE); 189 : MCamP = PJBA TBasR MCam ; 190 : FINSI; 191 : 'SINON'; 192 : 'SI' (EXISTE TAB1 'AMOR_PROJ'); 193 : MCamP = TAB1.'AMOR_PROJ'; 194 : 'SINON'; 195 : MESS 'La matrice d amortissement est prise nulle'; 196 : SI FLAMODE; 197 : MCam = 0.*MRig; 198 : SINON; 199 : MCamP = 0.*MRigP; 200 : FINSI; 201 : 'FINSI'; 202 : 'FINSI'; 203 : * 204 : 'SI' (EXISTE TAB1 'KROTATIF'); 205 : MCah = TAB1.'KROTATIF'; 206 : SI (NON FLAMODE); 207 : MCahP = PJBA TBasR MCah ; 208 : FINSI; 209 : 'SINON'; 210 : 'SI' (EXISTE TAB1 'KROT_PROJ'); 211 : MCahP = TAB1.'KROT_PROJ'; 212 : 'SINON'; 213 : MESS 'Absence d amortissement corotatif'; 214 : SI FLAMODE; 215 : MCah = 0.*MRig; 216 : SINON; 217 : MCahP = 0.*MRigP; 218 : FINSI; 219 : 'FINSI'; 220 : 'FINSI'; 221 : * 222 : 'SI' (EXISTE TAB1 'GYROSCOPIQUE'); 223 : MCG = TAB1.'GYROSCOPIQUE'; 224 : SI (NON FLAMODE); 225 : MCGP = PJBA TBasR MCG ; 226 : FINSI; 227 : 'SINON'; 228 : 'SI' (EXISTE TAB1 'GYRO_PROJ'); 229 : MCGP = TAB1.'GYRO_PROJ'; 230 : 'SINON'; 231 : MESS 'La matrice de couplage gyroscopique est prise nulle'; 232 : SI FLAMODE; 233 : MCG = 0.*MRig; 234 : SINON; 235 : MCGP = 0.*MRigP; 236 : FINSI; 237 : 'FINSI'; 238 : 'FINSI'; 239 : * 240 : 'SI' (EXISTE TAB1 'CORIOLIS'); 241 : MCCOR = TAB1.'CORIOLIS'; 242 : mess 'Je lis Coriolis'; 243 : SI (NON FLAMODE); 244 : MCCORP = PJBA TBasR MCCOR ; 245 : FINSI; 246 : 'SINON'; 247 : 'SI' (EXISTE TAB1 'CORI_PROJ'); 248 : MCCORP = TAB1.'CORI_PROJ'; 249 : 'SINON'; 250 : MESS 'La matrice de couplage de Coriolis est prise nulle'; 251 : SI FLAMODE; 252 : MCCOR = 0.*MRig; 253 : SINON; 254 : MCCORP = 0.*MRigP; 255 : FINSI; 256 : 'FINSI'; 257 : 'FINSI'; 258 : * 259 : 'SI' (EXISTE TAB1 'KSIGMA'); 260 : MKSIG = TAB1.'KSIGMA'; 261 : mess 'Je lis Ksigma'; 262 : SI (NON FLAMODE); 263 : MKSIP = PJBA TBasR MKSIG ; 264 : FINSI; 265 : 'SINON'; 266 : 'SI' (EXISTE TAB1 'KSIG_PROJ'); 267 : MKSIP = TAB1.'KSIG_PROJ'; 268 : 'SINON'; 269 : MESS 'La matrice de raideur de precontrainte est prise nulle'; 270 : SI FLAMODE; 271 : MKSIG = 0.*MRig; 272 : SINON; 273 : MKSIP = 0.*MRigP; 274 : FINSI; 275 : 'FINSI'; 276 : 'FINSI'; 277 : * 278 : 'SI' (EXISTE TAB1 'KCENT'); 279 : MKCEN = TAB1.'KCENT'; 280 : mess 'Je lis Kcent'; 281 : SI (NON FLAMODE); 282 : MKCEP = PJBA TBasR MKCEN ; 283 : FINSI; 284 : 'SINON'; 285 : 'SI' (EXISTE TAB1 'KCEN_PROJ'); 286 : MKCEP = TAB1.'KCEN_PROJ'; 287 : 'SINON'; 288 : MESS 'La matrice de raideur centrifuge est prise nulle'; 289 : SI FLAMODE; 290 : MKCEN = 0.*MRig; 291 : SINON; 292 : MKCEP = 0.*MRigP; 293 : FINSI; 294 : 'FINSI'; 295 : 'FINSI'; 296 : * 297 : 'SI' ERR; 298 : * 299 : TFrqRe = TABLE; 300 : TFrqIm = TABLE; 301 : TFrqMo = TABLE; 302 : TAmor = TABLE; 303 : * 304 : Repeter LAB1 Nfreq; 305 : omega1 = extr PRFREQ &lab1; 306 : i1 = &lab1 ; 307 : SI TESTAF; 308 : MESS 'Frequence N°' i1; 309 : FINSI; 310 : * 311 : SI FLAMODE; 312 : TBASR = VIBR 'PROCHE' (prog FPROCHE) (lect nmodes) 313 : (MRig et ((Omega1**2)*MKSIG) et ((Omega1**2)*MKCEN)) 314 : Mmas 'TBAS'; 315 : MRigP = PJBA TBasR MRig; 316 : MCahP = PJBA TBasR MCah; 317 : MCCORP = PJBA TBasR MCCOR ; 318 : MKSIP = PJBA TBasR MKSIG ; 319 : MKCEP = PJBA TBasR MKCEN ; 320 : MCamP = PJBA TBasR MCam ; 321 : MMasP = PJBA TBasR Mmas; 322 : MCGP = PJBA TBasR MCG ; 323 : FINSI; 324 : 325 : * 326 : *+DC Test classement des modes 327 : * 328 : SI (EGA TESTCL VRAI); 329 : * 330 : BasCiB = VIBC MMasP (MRigP et (Omega1*MCahP) et 331 : ((Omega1**2)*MKSIP) et ((Omega1**2)*MKCEP)) 332 : ((Omega1*(MCgP et MCCORP)) et MCamP) TBASR; 333 : Imode = 1; 334 : * 335 : Repeter Lab5 NbModC; 336 : Frq1 = BasCiB.'MODES'. &lab5 . 'FREQUENCE_REELLE'; 337 : Frq1I = BasCiB.'MODES'. &lab5 . 'FREQUENCE_IMAGINAIRE'; 338 : DEFR1 =BasCiB.'MODES'. &lab5 . 'DEFORMEE_MODALE_REELLE'; 339 : DEFI1 =BasCiB.'MODES'. &lab5 . 'DEFORMEE_MODALE_IMAGINAIRE'; 340 : * 341 : 'SI' FLFOUR; 342 : DEFR1 = (CHAN ATTRIBUT DEFR1 NATURE DISCRET) 343 : + (MANU CHPO (extr DEFR1 mail) 8 UR 0. UT 0. UZ 0. 344 : RT 0. IUR 0. IUT 0. IUZ 0. IRT 0. NATURE 'DISCRET'); 345 : DEFI1 = (CHAN ATTRIBUT DEFI1 NATURE DISCRET) 346 : + (MANU CHPO (extr DEFI1 mail) 8 UR 0. UT 0. UZ 0. 347 : RT 0. IUR 0. IUT 0. IUZ 0. IRT 0. NATURE 'DISCRET'); 348 : * 349 : DEFR1R = EXCO DEFR1 UR SCAL; 350 : DEFR1T = EXCO DEFR1 UT SCAL; 351 : DEFR1Z = EXCO DEFR1 UZ SCAL; 352 : DEFR1RI = EXCO DEFR1 IUR SCAL; 353 : DEFR1TI = EXCO DEFR1 IUT SCAL; 354 : DEFR1ZI = EXCO DEFR1 IUZ SCAL; 355 : DEFI1R = EXCO DEFI1 UR SCAL; 356 : DEFI1T = EXCO DEFI1 UT SCAL; 357 : DEFI1Z = EXCO DEFI1 UZ SCAL; 358 : DEFI1RI = EXCO DEFI1 IUR SCAL; 359 : DEFI1TI = EXCO DEFI1 IUT SCAL; 360 : DEFI1ZI = EXCO DEFI1 IUZ SCAL; 361 : * 362 : DEFR1RT = EXCO DEFR1 RT SCAL; 363 : DEFI1RT = EXCO DEFI1 RT SCAL; 364 : DEFR1RTI = EXCO DEFR1 IRT SCAL; 365 : DEFI1RTI = EXCO DEFI1 IRT SCAL; 366 : * 367 : TESTDIRE = (-1.)*Frq1I*(maxi (resu ( 368 : ((DEFR1R*DEFI1RI) - (DEFR1T*DEFI1TI) + 369 : (DEFR1Z*DEFI1ZI) - (DEFR1RI*DEFI1R) + 370 : (DEFR1TI*DEFI1T) - (DEFR1ZI*DEFI1Z)) ))); 371 : * 372 : SI ((abs TESTDIRE) > 1.D-20); 373 : TESTDIRE =TESTDIRE /(abs TESTDIRE); 374 : SINON; 375 : TESTDIRE = 2.; 376 : FINSI; 377 : * 378 : BasCiB.'MODES'. &lab5 . 'FREQUENCE_REELLE' = 379 : (SIGNE Frq1I)*(SIGNE TESTDIRE)* Frq1; 380 : BasCiB.'MODES'. &lab5 . 'FREQUENCE_IMAGINAIRE' = Frq1I; 381 : BasCiB.'MODES'. &lab5 . 'DEFORMEE_MODALE_IMAGINAIRE' = 382 : (SIGNE TESTDIRE)*DEFI1; 383 : * 384 : 'SINON'; 385 : DEFR1 = (CHAN ATTRIBUT DEFR1 NATURE DISCRET) 386 : + (MANU CHPO (extr DEFR1 mail) 3 RX 0. RY 0. RZ 0. 387 : NATURE 'DISCRET'); 388 : DEFI1 = (CHAN ATTRIBUT DEFI1 NATURE DISCRET) 389 : + (MANU CHPO (extr DEFI1 mail) 3 RX 0. RY 0. RZ 0. 390 : NATURE 'DISCRET'); 391 : * 392 : DEFR1X = EXCO DEFR1 UX SCAL; 393 : DEFR1Y = EXCO DEFR1 UY SCAL; 394 : DEFR1Z = EXCO DEFR1 UZ SCAL; 395 : DEFI1X = EXCO DEFI1 UX SCAL; 396 : DEFI1Y = EXCO DEFI1 UY SCAL; 397 : DEFI1Z = EXCO DEFI1 UZ SCAL; 398 : * 399 : DEFR1RX = EXCO DEFR1 RX SCAL; 400 : DEFR1RY = EXCO DEFR1 RY SCAL; 401 : DEFR1RZ = EXCO DEFR1 RZ SCAL; 402 : DEFI1RX = EXCO DEFI1 RX SCAL; 403 : DEFI1RY = EXCO DEFI1 RY SCAL; 404 : DEFI1RZ = EXCO DEFI1 RZ SCAL; 405 : * 406 : TESTDIRE = (-1.)*Frq1*(maxi (resu ( 407 : ((((DEFR1Y*DEFI1Z) - (DEFI1Y*DEFR1Z))) 408 : *(coor 1 ppdirect)) 409 : + ((((DEFR1Z*DEFI1X) - (DEFI1Z*DEFR1X))) 410 : *(coor 2 ppdirect)) 411 : + ((((DEFR1X*DEFI1Y) - (DEFI1X*DEFR1Y))) 412 : *(coor 3 ppdirect))))); 413 : * 414 : * Si le mode est complexe... 415 : * Sinon il est réel et on ne change rien 416 : * 417 : SI ((abs TESTDIRE) > 1.D-13); 418 : SI (TESTDIRE > 0.D0); 419 : BasCiB.'MODES'. &lab5 . 'FREQUENCE_REELLE' = abs Frq1; 420 : BasCiB.'MODES'. &lab5 . 'FREQUENCE_IMAGINAIRE' = Frq1I; 421 : BasCiB.'MODES'. &lab5 . 'DEFORMEE_MODALE_IMAGINAIRE' = 422 : (SIGNE Frq1)*DEFI1; 423 : SINON; 424 : BasCiB.'MODES'. &lab5 . 'FREQUENCE_REELLE' = 425 : (-1.)*(abs Frq1); 426 : BasCiB.'MODES'. &lab5 . 'FREQUENCE_IMAGINAIRE' = Frq1I; 427 : BasCiB.'MODES'. &lab5 . 'DEFORMEE_MODALE_IMAGINAIRE' = 428 : (SIGNE Frq1)*DEFI1; 429 : FINSI; 430 : FINSI; 431 : * 432 : 'FINSI'; 433 : * 434 : * TESTDIRE = TESTDIRE + 435 : * ((-1.)*Frq1*(maxi (resu ( 436 : * ((((DEFR1RY*DEFI1RZ) - (DEFI1RY*DEFR1RZ))) 437 : * *(coor 1 ppdirect)) 438 : * + ((((DEFR1RZ*DEFI1RX) - (DEFI1RZ*DEFR1RX))) 439 : * *(coor 2 ppdirect)) 440 : * + ((((DEFR1RX*DEFI1RY) - (DEFI1RX*DEFR1RY))) 441 : * *(coor 3 ppdirect)))))); 442 : * 443 : * 444 : FIN LAB5; 445 : * 446 : * 447 : SINON; 448 : BasCiB = VIBC MMasP (MRigP et (Omega1*MCahP) et 449 : ((Omega1**2)*MKSIP) et ((Omega1**2)*MKCEP)) 450 : ((Omega1*(MCgP et MCCORP)) et MCamP) ; 451 : FINSI; 452 : * 453 : *+DC Test classement des modes 454 : * 455 : Repeter Lab2 NbModC; 456 : i2 = &lab2; 457 : si (i2 ega 1); 458 : FrqReel = PROG (BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE'); 459 : FrqImag = PROG (BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE'); 460 : FrqModul = PROG 461 : ((((BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE')**2) + 462 : ((BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE')**2))**0.5); 463 : AmorVal = PROG ((extr FrqImag 1)/(extr FrqModul 1)); 464 : sinon; 465 : FrqReel = FrqReel et 466 : (prog (BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE')); 467 : FrqImag = FrqImag et 468 : (prog (BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE')); 469 : FrqModul = FrqModul et (PROG 470 : ((((BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE')**2) + 471 : ((BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE')**2))**0.5)); 472 : AmorVal = AmorVal et 473 : (PROG ((extr FrqImag i2)/(extr FrqModul i2))); 474 : finsi; 475 : FIN lab2; 476 : FrqReel = ORDONNER CROISSANT FrqReel; 477 : FrqImag = ORDONNER CROISSANT FrqImag; 478 : FrqModul = ORDONNER CROISSANT FrqModul; 479 : AmorVal = ORDONNER CROISSANT AmorVal; 480 : * 481 : Repeter Lab3 NbModC; 482 : i3 = &lab3; 483 : si (i1 ega 1); 484 : TFrqRe.i3 = (prog (extr FrqReel i3)); 485 : TFrqIm.i3 = (prog (extr FrqImag i3)); 486 : TFrqMo.i3 = (prog (extr FrqModul i3)); 487 : TAmor.i3 = (prog (extr AmorVal i3)); 488 : sinon; 489 : TFrqRe.i3 = (TFrqRe.i3) et 490 : (prog (extr FrqReel i3)); 491 : TFrqIm.i3 = (TFrqIm.i3) et 492 : (prog (extr FrqImag i3)); 493 : TFrqMo.i3 = (TFrqMo.i3)et 494 : (prog (extr FrqModul i3)); 495 : TAmor.i3 = (TAmor.i3) et 496 : (prog (extr AmorVal i3)); 497 : finsi; 498 : FIN lab3; 499 : FIN lab1; 500 : * 501 : Repeter Lab4 NbModC; 502 : i4 = &lab4; 503 : TAB1.i4 = TABLE; 504 : (TAB1.i4). 'FREQUENCE_REELLE' = evol manu 505 : PRFREQ (TFrqRe.i4); 506 : (TAB1.i4). 'FREQUENCE_IMAGINAIRE' = evol manu 507 : PRFREQ (TFrqIm.i4); 508 : (TAB1.i4). 'FREQUENCE_MODULE' = evol manu 509 : PRFREQ (TFrqMo.i4); 510 : (TAB1.i4). 'AMORTISSEMENT' = evol manu 511 : PRFREQ (TAmor.i4); 512 : FIN lab4; 513 : * 514 : 'FINSI'; 515 : * 516 : 'FINPROC'; 517 : * 518 : 519 : 520 : 521 : 522 : 523 : 524 : 525 : 526 :
© Cast3M 2003 - All rights reserved.
Disclaimer