affichage liste defaut - Unity

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7162
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: affichage liste defaut - Unity

Message par itasoft »

slts,
disons que j'ai un exemple mais c'est en langage ST
Automaticien privé (de tout)
itasoft@free.fr
md42
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 116
Enregistré le : 22 mars 2016, 08:54

Re: affichage liste defaut - Unity

Message par md42 »

Itasoft
Si tu veux la mettre en ligne je veux bien regarder ta solution aussi.
Merci à tous
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7162
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: affichage liste defaut - Unity

Message par itasoft »

(*-- LES DEFAUTS SONT DANS LES BITS DU MOT WDEF_N ---*)

(*Bit horloge 5s*)
TON_0(IN:=NOT H5s, PT:=t#5s, Q=>H5s);

(* Bits qui ont changés d'état dans WDEF_N *)
WXOR:=WDEF_N XOR WDEF_M;
(* Bits en apparitions*)
WAPP:=WXOR AND WDEF_N;
(* Mémoire Etat N->N-1 *)
WDEF_M:=WDEF_N;

(*Raz FIFO *)
FIFO_0 (R:=%S0 or %S1 or %S13, SET:=false,GET:=false, X:=XX,N_MAX:=128, FULL=>FIFO_PLEIN,EMPTY=>FIFO_VIDE,Y=> OUT_DEF) ;

(*Entrée des défauts en apparition dans registre FIFO *)
for XX:=1 to 16 do
if WAPP.0 then
FIFO_0 (SET:=true,GET:=false, X:=XX, N_MAX:=128, Y=>OUT_DEF) ;
end_if;
WAPP:=SHR(WAPP,1);
END_FOR;

(*Extraction des n°de défauts du FIFO pour affichage toutes les 5s *)
if H5s then
FIFO_0(SET:=false,GET:=true, X:=XX,N_MAX:=128, Y=>OUT_DEF) ;
if OUT_DEF>0 then
(*n°défaut*)
BYTE0:=INT_TO_BYTE(OUT_DEF);
(*faire l'affichage ici*)

OUT_DEF:=0;
end_if;
end_if;
02.JPG
01.JPG
Automaticien privé (de tout)
itasoft@free.fr
md42
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 116
Enregistré le : 22 mars 2016, 08:54

Re: affichage liste defaut - Unity

Message par md42 »

Merci pour ton retour Itasoft.
je viens te tester :
Quand WDEF_N vaut 1 alors BYTE0 vaut 1
Quand WDEF_N vaut 2 alors BYTE0 vaut 2
mais quand WDEF_N vaut 3 alors BYTE0 vaut 2 alors que je voudrais 1 puis au bout de 5s 2 - Clignotement en alternance des défauts
Possible?
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7162
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: affichage liste defaut - Unity

Message par itasoft »

slts,
ça traite les bits en apparition donc mettre à zéro le WDEF_N avant de y mettre une nouvelle valeur

Si tu met la valeur 1 dans WDEF_N puis la valeur 2 puis la valeur 3 avec la valeur 3 ya que le bit 0 qui est apparu le bit 1 était déjà là

met 255 dans WDEF_N et tu verra BYTE0 compter de 1 à 8
Automaticien privé (de tout)
itasoft@free.fr
md42
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 116
Enregistré le : 22 mars 2016, 08:54

Re: affichage liste defaut - Unity

Message par md42 »

Super Itasoft, ça fonctionne bien.
Je te remercie de ton aide :D
Répondre