Je bidouille depuis un moment avec les M/MW qui ne "s'actualisent pas" je sais pas comment expliquer.
Je cherche des conseils ou méthode pour palier a ce genre de problème. Je sais que le problème viens aussi du fait qu'en st le programme lit lignes par lignes.
Ici par exemple MW4 ne passe jamais a un a cause de Mw1 et si je met Mw1:=0 alors mon mw1 restera toujours a 0 je me mord la queue en quelque sorte.
Code : Tout sélectionner
(*Demande de remplissage Sac*)
FM(CLK:=Demande_Remplissage,Q=>);
IF FM.Q AND Presence_Sac1 AND Presence_Sac2 AND Nv_PT=100 THEN
MW1:=1;
END_IF;
(*Commande Moteur Ecluse*)
IF MW1 THEN
WCMD_VAR_ECLUSE:=15;//Sens Avant Ecluse
LSP_VAR_ECLUSE:=50;//Vitesse en x0.1Hz
MW3:=0;
MW4:=0;
END_IF;
IF MW3 OR MW4 THEN
MW1:=0;
LSP_VAR_ECLUSE:=0;//Arrêt moteur Ecluse
END_IF;
(*Arret Temporisé Ecluse pour Vidage*)
TPInst4(IN := Position_Ecluse, PT:= T#5S);
MW115 :=TPInst4.Q;
FD(CLK:=MW115,Q=>);
IF MW115 THEN
MW1:=0;
MW3:=1;
ELSIF FD.Q THEN
MW3:=0;
MW1:=1;
END_IF;
(*Petite Trémie vide*)
IF Nv_PT =0 AND NOT Position_Ecluse AND NOT MW1 THEN
MW4:=1;
END_IF;