Gestion de l'apparition d'une 1ere information
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Gestion de l'apparition d'une 1ere information
slts,
mon exemple c'est pas la solution au problème, ceci dit, ça doit pas planter l'automate, envoi ce que tu as écris exactement pour contrôle.
mon exemple c'est pas la solution au problème, ceci dit, ça doit pas planter l'automate, envoi ce que tu as écris exactement pour contrôle.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Gestion de l'apparition d'une 1ere information
J'avais écrit ;
MW0:=0;
MD4:=MD2;
WHILE(MD4<>0 AND (MD4 AND 1)=0) DO
INC MW0;
MD4:=SHR(MD4,1);
END_WHILE;
Avec MW0 en INT, MD2 et MD4 en DINT.
J'ai fais une DFB avec en pate d'entrée un Double mot qui correspond a MD2 qui est un paramètre d'entrée du DFB et MW0 un paramètre de sortie.
Sinon je cherche une solution lol.
MW0:=0;
MD4:=MD2;
WHILE(MD4<>0 AND (MD4 AND 1)=0) DO
INC MW0;
MD4:=SHR(MD4,1);
END_WHILE;
Avec MW0 en INT, MD2 et MD4 en DINT.
J'ai fais une DFB avec en pate d'entrée un Double mot qui correspond a MD2 qui est un paramètre d'entrée du DFB et MW0 un paramètre de sortie.
Sinon je cherche une solution lol.
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Gestion de l'apparition d'une 1ere information
slts,
MW0:=0;
MD4:=MD2;
WHILE(MD4<>0 AND (MD4 AND 1)=0) DO
INC(MW0);
MD4:=SHR(MD4,1);
END_WHILE;
MW0:=0;
MD4:=MD2;
WHILE(MD4<>0 AND (MD4 AND 1)=0) DO
INC(MW0);
MD4:=SHR(MD4,1);
END_WHILE;
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Gestion de l'apparition d'une 1ere information
Oui j'avais mis les parenthèses sinon la syntaxe n'était pas accepté.
Mais bon pas grave j'ai testé avant en simulateur.
Marrant que rien n'existe d'origine dans un automate.
J'ai fait des bricoles mais mon soucis est de bloqué ce système au tour de scan d'après car si je le fais dans mon bloc cela ne marche pas.
Mais bon pas grave j'ai testé avant en simulateur.
Marrant que rien n'existe d'origine dans un automate.
J'ai fait des bricoles mais mon soucis est de bloqué ce système au tour de scan d'après car si je le fais dans mon bloc cela ne marche pas.
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Gestion de l'apparition d'une 1ere information
slts,
es que le but est d'afficher les défauts sur un IHM dans l'ordre ou ils arrivent dans un même laps de temps (mais pas dans le même tour de cycle)
ex: 4 défauts arrivent espacés de plus de un tour de cycle automate.
ceci dit, sur un IHM les défauts s'affichent déjà dans l'ordre ou ils arrivent (sur Vijeo-designer) et la "Bannière d'alarme" affiche un seul défaut , le dernier
Présentation standard IHM cliquer dessus pour agrandir c'est la présentation standard pratiquée par tous, pourquoi innover ?????????
es que le but est d'afficher les défauts sur un IHM dans l'ordre ou ils arrivent dans un même laps de temps (mais pas dans le même tour de cycle)
ex: 4 défauts arrivent espacés de plus de un tour de cycle automate.
ceci dit, sur un IHM les défauts s'affichent déjà dans l'ordre ou ils arrivent (sur Vijeo-designer) et la "Bannière d'alarme" affiche un seul défaut , le dernier
Présentation standard IHM cliquer dessus pour agrandir c'est la présentation standard pratiquée par tous, pourquoi innover ?????????
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Gestion de l'apparition d'une 1ere information
Salut !
Toutes les solutions proposées sont confrontées à la scrutation du programme...
En cas de défauts multiples, le premier défaut est le premier scruté..quoi qu'on fasse...
Je pense que de bien structurer l'écriture de ses défauts et de n'en avoir qu'un seul actif à la fois permet une meilleure maintenance non ? qu'en pensez-vous ?
Un bit de blocage est pour moi, simple, efficace, facile a faire..
Toutes les solutions proposées sont confrontées à la scrutation du programme...
En cas de défauts multiples, le premier défaut est le premier scruté..quoi qu'on fasse...
Je pense que de bien structurer l'écriture de ses défauts et de n'en avoir qu'un seul actif à la fois permet une meilleure maintenance non ? qu'en pensez-vous ?
Un bit de blocage est pour moi, simple, efficace, facile a faire..
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
Re: Gestion de l'apparition d'une 1ere information
Bonjour,
Voilà, à quoi ressemble un bloc de gestion 1er défaut, réaliser sur Siemens. Sachant que :
- CM1 à CM7 sont les informations
- PCM_1 à PCM_7 désigne le type d'info, CI, CP
- BCI_OK : CI OK
- BCP_OK : CP OK
- BCS_OK : CS OK
- MDEF1_DW à MDEF7_DW : UNE seule info sera à 1 remontant le premier défaut apparu.
Bien sûr, c'est pour la gestion du 1er défaut. Dans tous les cas, tous les défauts sont affichés en page d'alarme.
++
Voilà, à quoi ressemble un bloc de gestion 1er défaut, réaliser sur Siemens. Sachant que :
- CM1 à CM7 sont les informations
- PCM_1 à PCM_7 désigne le type d'info, CI, CP
- BCI_OK : CI OK
- BCP_OK : CP OK
- BCS_OK : CS OK
- MDEF1_DW à MDEF7_DW : UNE seule info sera à 1 remontant le premier défaut apparu.
Bien sûr, c'est pour la gestion du 1er défaut. Dans tous les cas, tous les défauts sont affichés en page d'alarme.
++
Re: Gestion de l'apparition d'une 1ere information
J'ai vu cette problematique de defaut dans l'industrie petroliere au niveau des barres de securite.
Plusieurs causes peuvent declencher une barre de securite.
Neanmoins, il est possible si les defauts tombent dans des cycles automates differents de les differencier, le cas echeant il faut utiliser le SOE (Sequence Of Event). Cette fonction n'est pas disponible sur tous les automates (je l'ai vue sur les Triconex).
La logique du premier defaut est simple.
Il faut un bit Defaut general peut etre %M10 lui meme etant l'image d'un OU logique de plusieurs defauts.
Ensuite il faut definir une variable pour chaque defaut qui teste en permanence l'etat du defaut avec le defaut general.
Passe en MP je te file le code implemente sur un systeme tu pourras t'en inspirer. Par contre comme j'ai dit si tu passe dans le meme cycle automate tu dois utiliser le SOE,
Plusieurs causes peuvent declencher une barre de securite.
Neanmoins, il est possible si les defauts tombent dans des cycles automates differents de les differencier, le cas echeant il faut utiliser le SOE (Sequence Of Event). Cette fonction n'est pas disponible sur tous les automates (je l'ai vue sur les Triconex).
La logique du premier defaut est simple.
Il faut un bit Defaut general peut etre %M10 lui meme etant l'image d'un OU logique de plusieurs defauts.
Ensuite il faut definir une variable pour chaque defaut qui teste en permanence l'etat du defaut avec le defaut general.
Passe en MP je te file le code implemente sur un systeme tu pourras t'en inspirer. Par contre comme j'ai dit si tu passe dans le meme cycle automate tu dois utiliser le SOE,
Re: Gestion de l'apparition d'une 1ere information
Bonsoir et merci pour votre aide précieuse.
J'ai réussi a faire mon DFB grâce a vos indications.
Je voulais améliorer mon bloc, actuellement je met un bit a un en sortie du DFB mais je voulais utilisé en entré un Numéro qui correspond au bit de défaut.
Donc si je met NUM=1 je voudrais que je monte le bit 0 d'un mot en sortie.Etc
Ex : Mot_def = %MW3000.0 avec pourquoi pas en entrée la valeur 3000.
Mais je n'y arrive pas.
Mon soucis c'est que j'ai vu qu'il faillais mettre un masque et faire un décalage.Et je maitrise pas grand chose lol.
Merci encore de votre précieuse aide.
J'ai réussi a faire mon DFB grâce a vos indications.
Je voulais améliorer mon bloc, actuellement je met un bit a un en sortie du DFB mais je voulais utilisé en entré un Numéro qui correspond au bit de défaut.
Donc si je met NUM=1 je voudrais que je monte le bit 0 d'un mot en sortie.Etc
Ex : Mot_def = %MW3000.0 avec pourquoi pas en entrée la valeur 3000.
Mais je n'y arrive pas.
Mon soucis c'est que j'ai vu qu'il faillais mettre un masque et faire un décalage.Et je maitrise pas grand chose lol.
Merci encore de votre précieuse aide.
Re: Gestion de l'apparition d'une 1ere information
Pour résumer :
Je veux seter le bit 0 si j'ai les conditions et le NuM= 0 en entrée du DFB, seter le bit 5 si j'ai les conditions et le NUM=5, etc.
Autre variante, mettre MOT=3000 en entree du DFB et seter le bit MOT.0 si j'ai les conditions et le NUM=0.
Merci de votre precieuse aide.
A plus.
Je veux seter le bit 0 si j'ai les conditions et le NuM= 0 en entrée du DFB, seter le bit 5 si j'ai les conditions et le NUM=5, etc.
Autre variante, mettre MOT=3000 en entree du DFB et seter le bit MOT.0 si j'ai les conditions et le NUM=0.
Merci de votre precieuse aide.
A plus.

