demande renseignements proficy

Partie du forum pour tout ce qui concerne les automates industriels B&R, Beckhoff, Phoenix Contact etc...
clara3481
Asservi son premier moteur
Asservi son premier moteur
Messages : 21
Enregistré le : 03 janv. 2017, 21:08

demande renseignements proficy

Message par clara3481 »

Bonjour tout le monde.
Je souhaiterai controler l'état d'une cellule à une position donnée.
Ex: Ma bouteille rentre dans une nettoyeuse, elle passe devant une cellule entrée blles. Grace à un registre à décalage je vais retarder mon contrôle jusqu'à la position de ma cellule qui doit controler la présence blles.
Existe t'il une fonction qui me permettrai de contrôler l'etat d'un bit à une position données?
Un grand merci
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: demande renseignements proficy

Message par itasoft »

slts,
comment avance la bouteille ? sur un tapis roulant ?, sur un barillet tournant ? ................
Automaticien privé (de tout)
itasoft@free.fr
clara3481
Asservi son premier moteur
Asservi son premier moteur
Messages : 21
Enregistré le : 03 janv. 2017, 21:08

Re: demande renseignements proficy

Message par clara3481 »

sur un barillet tournant
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: demande renseignements proficy

Message par itasoft »

slts
ça veut dire quoi "blles" ?
Automaticien privé (de tout)
itasoft@free.fr
clara3481
Asservi son premier moteur
Asservi son premier moteur
Messages : 21
Enregistré le : 03 janv. 2017, 21:08

Re: demande renseignements proficy

Message par clara3481 »

pardon. Bouteille.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: demande renseignements proficy

Message par itasoft »

slts,
tu ne peux pas écrire le mot en entier feignasse !!!!!!!!, ça m'as énervé, je répond pas à la question !!!!!
Automaticien privé (de tout)
itasoft@free.fr
clara3481
Asservi son premier moteur
Asservi son premier moteur
Messages : 21
Enregistré le : 03 janv. 2017, 21:08

Re: demande renseignements proficy

Message par clara3481 »

tu n'es pas gentil :cry:
clara3481
Asservi son premier moteur
Asservi son premier moteur
Messages : 21
Enregistré le : 03 janv. 2017, 21:08

Re: demande renseignements proficy

Message par clara3481 »

tu vas me répondre quand même ou tu continu à faire la tète. :roll:
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2230
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: demande renseignements proficy

Message par JC87 »

Bonjour,

Bon je vais tenter une réponse à la place du méchant Itasoft :P Donc normalement dans ton registre à décalage "constructeur" il y a surement moyen de tester directement les bits du registres mais si cela n'était pas possible il est tout à fait possible de se créer son propre registre en utilisant un mot de 16 bits voire 32 et décaler les bits à l'intérieur à chaque top d'avance avec une fonction de décalage circulaire à droite ou à gauche, ensuite il est très facile de tester les bits du mot en question. Après je ne sais pas ce qui existe en Proficy mais ce serait très surprenant que cela ne soit pas possible avec cette méthode "universelle".

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
Cyril93
Maître du binaire
Maître du binaire
Messages : 484
Enregistré le : 29 oct. 2015, 14:22
Localisation : IDF

Re: demande renseignements proficy

Message par Cyril93 »

clara3481 a écrit : 06 févr. 2017, 23:18 Existe t'il une fonction qui me permettrai de contrôler l'etat d'un bit à une position données?
Un grand merci
Salut,

Oui avec un décalage à droite du numéro du bit, un masque pour ne voir que le premier bit et un test de la valeur 0 ou 1, cela donne ça :

Code : Tout sélectionner

RESULT : BOOL; (* le résultat *)
IN : INT; (* le registre à tester *)
N : INT; (* le numéro du bit à tester (mettre 0 pour le 1er bit) *)
Tmp: INT; (* mot temporaire de travail *)

Tmp:=IN;
RESULT:=((SHR(Tmp,N) AND 1)=1);
Répondre