Page 1 sur 2

demande renseignements proficy

Posté : 06 févr. 2017, 23:18
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

Re: demande renseignements proficy

Posté : 07 févr. 2017, 00:12
par itasoft
slts,
comment avance la bouteille ? sur un tapis roulant ?, sur un barillet tournant ? ................

Re: demande renseignements proficy

Posté : 07 févr. 2017, 07:47
par clara3481
sur un barillet tournant

Re: demande renseignements proficy

Posté : 07 févr. 2017, 07:57
par itasoft
slts
ça veut dire quoi "blles" ?

Re: demande renseignements proficy

Posté : 07 févr. 2017, 08:15
par clara3481
pardon. Bouteille.

Re: demande renseignements proficy

Posté : 07 févr. 2017, 10:38
par itasoft
slts,
tu ne peux pas écrire le mot en entier feignasse !!!!!!!!, ça m'as énervé, je répond pas à la question !!!!!

Re: demande renseignements proficy

Posté : 07 févr. 2017, 10:43
par clara3481
tu n'es pas gentil :cry:

Re: demande renseignements proficy

Posté : 07 févr. 2017, 11:17
par clara3481
tu vas me répondre quand même ou tu continu à faire la tète. :roll:

Re: demande renseignements proficy

Posté : 07 févr. 2017, 14:30
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

Re: demande renseignements proficy

Posté : 07 févr. 2017, 14:47
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);