Stage - Automatisation d'une série de test diélectrique

Aide à la résolution d'exercices ou devoirs en automatisme industriel, electrotechnique, régulation, electronique.
Avatar de l’utilisateur
ProfnovA
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 321
Enregistré le : 21 oct. 2015, 08:21

Re: Stage - Automatisation d'une série de test diélectrique

Message par ProfnovA » 23 mai 2019, 13:55

ProfnovA a écrit :
23 mai 2019, 11:42
tu fais 2 boucles imbriquée:
pistolet1 va de 1 à n-1
pistolet2 va de p1+1 à n

for p1 =1 to n-1
avance le pistolet à la position p1
for p2 =p1+1 to n
avancer le pistolet à la position p2
faire le test
next
next

un truc du genre

si tu veux absolument faire du grafcet, il faut gérer les 2 compteurs dans les étapes

Elkilleros
Asservi son premier moteur
Asservi son premier moteur
Messages : 25
Enregistré le : 16 mai 2019, 14:29

Re: Stage - Automatisation d'une série de test diélectrique

Message par Elkilleros » 23 mai 2019, 14:36

Merci pour vos réponses seulement, je suis absolument incapable de retranscrire le bout de code de ProfnovA en grafcet.

Pour ce qui est du registre à décalage, cette solution me parait plus simple, cependant j'ai quelques difficultés à comprendre son fonctionnement.

Malgré mes recherches sur l'aide de soMachine, je comprends pas comment je peux faire pour décaler un bit d'un mot binaire, par exemple si j'ai le mot suivant 1000 0000 0000 j'aimerais que sur chaque front montant de l'étape %Xi ça décale le '1' vers la droite donc : 0100 0000 0000 ect ect.

Je comprends comment le bloc de registre à décalage fonctionne : 3 entrées :

Une pour décaler à droite, l'autre à gauche et enfin pour reset, mais je sais pas sur quel mot binaire ça agit

Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 3282
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Stage - Automatisation d'une série de test diélectrique

Message par itasoft » 23 mai 2019, 15:09

slts,
voir les instructions SHL et SHR
Automaticien privé (de tout)
itasoft@free.fr

Avatar de l’utilisateur
ProfnovA
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 321
Enregistré le : 21 oct. 2015, 08:21

Re: Stage - Automatisation d'une série de test diélectrique

Message par ProfnovA » 23 mai 2019, 15:36

Bon en grafcet voila une idée de ce que ça pourrait donner
Fichiers joints
Image 1.jpg

Elkilleros
Asservi son premier moteur
Asservi son premier moteur
Messages : 25
Enregistré le : 16 mai 2019, 14:29

Re: Stage - Automatisation d'une série de test diélectrique

Message par Elkilleros » 24 mai 2019, 11:26

Merci pour vos réponses.

J'ai donc opté pour la solution des registres à décalages, sauf que, petit problème en utilisant ces registres je fais :

---------- première boucle ----------

---------- première sous-boucle ----------

borne 1 : 1000 0000 0000 ... 0000
borne 2: 0100 0000 0000 ... 0000

---------- deuxième sous-boucle ----------

borne 1 : 1000 0000 0000 ... 0000
borne 2: 0010 0000 0000 ... 0000

.
.
.

---------- nième sous-boucle ----------

borne 1 : 1000 0000 0000 ... 0000
borne 2: 0000 0000 0000 ... 0001

.
.
.

---------- deuxième boucle ----------

---------- première sous-boucle ----------

borne 1 : 0100 0000 0000 ... 0000
borne 2: 0100 0000 0000 ... 0000

---------- deuxième sous-boucle ----------

borne 1 : 0100 0000 0000 ... 0000
borne 2: 0010 0000 0000 ... 0000

.
.
.

---------- nième sous-boucle ----------

borne 1 : 0100 0000 0000 ... 0000
borne 2: 0000 0000 0000 ... 0001

ect ect jusqu'à :

borne 1 : 0000 0000 0000 ... 0001
borne 2 : 0000 0000 0000 ... 0001


Le problème étant qu'avec ceci je ne gère absolument pas les répétitions et parfois même les superposition, car comme dit précédemment il est inutile de tester borne 1 et 6 puis borne 6 et 1 par exemple, avec ce système il y'a même des cas ou on à deux fois le même mot pour les deux bornes et c'est problématique.

J'ai pas mal réfléchie mais je n'arrive pas à trouver un moyen d'éviter ces répétition toujours en utilisant le système des registres à décalage, auriez vous des idées à me soumettre ?

Merci par avance.

Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 3282
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Stage - Automatisation d'une série de test diélectrique

Message par itasoft » 24 mai 2019, 14:38

slts,
ya pas de répétitions
Modifié en dernier par itasoft le 24 mai 2019, 16:38, modifié 2 fois.
Automaticien privé (de tout)
itasoft@free.fr

Kallysto
Créateur de langage
Créateur de langage
Messages : 556
Enregistré le : 27 avr. 2017, 11:11
Localisation : Loin de la civilisation

Re: Stage - Automatisation d'une série de test diélectrique

Message par Kallysto » 24 mai 2019, 14:51

Un début d'idée que je vais écrire en C (mettons qu'il y ait 4 bornes à tester)

Code : Tout sélectionner

For (R =0; R <4; R++)
{
	If(R=0)
	{
		borne A : 1000
	}
	
	For (S = 0; S< 4; S++)
	{
		If (S = 0)
		{	
			borne B = borne A;
			S = R; *-
		}
		borne B = décallage de 1;
		Test;
	}
	Borne A = décallage de 1;
}

Voilà... en mettant toujours au départ de ta boucle de test la borne B au même niveau que la borne A, tu ne refais pas les bornes d'avant. Et tu décalles tout de suite après ton registre B de 1 donc tu ne fais pas de test type "borne 2 + borne 2".
Par contre il faut bien penser à mettre ton comptage de ta boucle de test à la bonne valeur tout de suite : t'en ait au test de la borne 6 tu lui mets la valeur 5. Le plus simple pour ça c'est de lui mettre directement la valeur de ton comptage de ta boucle primaire.

Et en grafcet ça doit donner un truc similaire et bien plus simple que tes 1500 boucles...

philou77
Dieu du process
Dieu du process
Messages : 857
Enregistré le : 21 oct. 2015, 10:00

Re: Stage - Automatisation d'une série de test diélectrique

Message par philou77 » 24 mai 2019, 14:56

Re !

Ton mot 'Mobile' est égal au Mot FIXE décalé de 1 pour la première boucle
Donc par exemple

ETAPE 1 :
Initialiser valeurs pour test
FIXE := 1000 0000 0000 0000

ETAPE 2
Mobile := SHR(FIXE,1)

ETAPE 3
TEST


si pas fin de MOBILE alors ETAPE 4
PROCHAIN TEST MOBILE
MOBILE := SHR(MOBILE,1)
Boucle sur Etape 3

si fin de mobile et pas fin de FIXE alors ETAPE 4
FIXE:=SHR(FIXE,1)
Retour sur ETAPE 2

si fin de MOBILE et FIN DE FIXE alors ETAPE 5
FIN DE TEST


La fin est
Fixe 0000 0000 0000 00010
Mobile 0000 0000 0000 0001

La fin de MOBILE est bit 0 MOBILE =1 (soit MOBILE = 1)
La fin de fixe est Bit 1 FIXE = 1 ( oit FIXE =2)


Je vois pas ou sont les répétitions.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D

Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 3282
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Stage - Automatisation d'une série de test diélectrique

Message par itasoft » 24 mai 2019, 16:39

@philou77, c'est juste peut pas y avoir de répétitions
Automaticien privé (de tout)
itasoft@free.fr

philou77
Dieu du process
Dieu du process
Messages : 857
Enregistré le : 21 oct. 2015, 10:00

Re: Stage - Automatisation d'une série de test diélectrique

Message par philou77 » 24 mai 2019, 18:27

@Itasoft,

Dans sa façon de programmer, oui il en y a des répétitions ;)

Dans la mienne, c'est moins sûr !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D

Répondre