Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1365 connectés 

 


Dernière réponse
Sujet : TWIDO SUITE 2.0
Marc Ce sujet a été déplacé de la catégorie Hardware vers la categorie Programmation par Marc

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Marc Ce sujet a été déplacé de la catégorie Hardware vers la categorie Programmation par Marc
roya78 Bonjour
je suis actuellement sur un projet de BTS Electrotechnique et je suis chargé de la partie automatisme.
Je suis actuellement sur la programmation d'un API pour une station d'épuration où le but est de faire de la régulation d'eau.
Mon but est de réaliser deux parties dans un même programme:
1) visualiser la hauteur de la cuve sachant qu'il y a un débit de 5M^3/h et qu'à partir de 2m de hauteur d'eau une pompe A se met en route progressivement et atteint les 6m^3/h quand elle est à moins de 4m de hauteur d'eau.
2)visualiser la hauteur de la cuve sachant qu'il y a un débit de 7M^3/h et qu'à partir de 2m de hauteur d'eau une pompe A se met en route progressivement et atteint les 6m^3/h quand elle est à moins de 4m de hauteur d'eau et arriver à cette hauteur une pompe B se déclenche et pompe 2m^3/h d'eau.
je réalise mon programme en list sur twido suite 2.0:
0   LD    %S13
1   JMPCN %L6
2   [ TEMPS_DE_FONC := 0.0 ] (* INITIALISATION DU TEMPS DE FONCTIONNEMENT *)
3   %L6:
4   LD    MARCHE             (* %M1=1 POUR MARCHE *)
5   JMPCN %L24               (* SI %M1=0 SAUT À L'ÉTIQUETTE 24 *)
6   LD    MARCHE
7   IN    TEMPS
8   [ TEMPS_MW := TEMPS.V ]
9   [ TEMPS_F := INT_TO_REAL( TEMPS_MW ) ]
 
10  [ VOLUME := C_5M3 * TEMPS_F ]
11  [ H_REMP_BAS := VOLUME / SURFACE ]
12  [ V_POMPE_1 := V_POMPE_A * TEMPS_F ]
13  [ H_POMPE_A := V_POMPE_1 / SURFACE ] (* VOLUME POMPAGE POMPE A *)
14  [ H_REMP_BAS_2 := H_REMP_BAS - H_POMPE_A ] (* HAUTEUR FINAL POUR 5M3 *)
15
16  [ VOLUME := C_7M3 * TEMPS_F ] (* CALCUL VOLUME POUR 7M3 *)
17  [ H_REMP_BAS := VOLUME / SURFACE ] (* CALCUL DE LA HAUTEUR D'EAU *)
18  [ V_POMPE_1 := V_POMPE_A * TEMPS_F ]
19  [ H_POMPE_A := V_POMPE_1 / SURFACE ]
20  [ H_REMP_BAS_2 := H_REMP_BAS - H_POMPE_A ] (* NOUVELLE HAUTEUR AVEC LA DIFFERENCE DE LA HAUTEUR DE POMPAGE*)
21  [ V_POMPE_2 := V_POMPE_B * TEMPS_F ] (* CALCUL DE POMPAGE POMPE B*)
22  [ H_POMPE_B := V_POMPE_2 / SURFACE ]
23  [ H_REMP_BAS_3 := H_REMP_BAS_2 - H_POMPE_B ] (* HAUTEUR FINAL POUR LE CYCLE 7M3 *)
24  %L24:
 
Voici mon programme sous list, j'ai attribué ces mots donc mots mémoires (temps_mw = %MW0), bit mémoire (marche=%M1), des constantes flottantes (C_5M3=%KF0, C_7M3=%KF2, surface =%KF4) le reste sont des mots flottants de %MF21 à %MF47.
 
ma question est donc: comment faire soit le choix de débiter la partie avec 5m3/h soit la partie avec 7m3/h (les deux parties séparer par la ligne 15) tout en laissant la parti commune (ligne 0 à 9)?
 
j'ai essayer de mettre des saut conditionnelle quand la logique précédente est égale à 1 (JMPC) ou 0 (JMPCN) rien ni fait la magélis de mon camarade via modbus arrive à communiquer mais je ne trouve pas comment séparer ces deux parties.
 
Merci pour votre aide.

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR