recherche une fonction sur S7200 ?

  • Auteur de la discussion lapin
  • Date de début
L

lapin

Apprenti
salut a tous

j'apprends a programmer actuellement sur un S7200 ,j'ais fait un petit programme
et je "séche" car je ne trouve pas une fonction un peux "spécial" (elle existe certainement)
ce que je veux c'est on va dire un programme se déroule ,il arrive en milieu de programme,un bit que l'on va appeler X est a 0 ou il vient de passé
a "1" le programme repart au début et recommence le même parcourt .
si au moment ou ce fameux bit X passe de "1" a "0" a ce moment la seulement le programme continu a se déroulé apres ce fameux bit X qui vient
de passé de "1" a "0".(dans tout les autres cas de figure le programme reprends depuis le debut)
c'est posible ça ? comment ?
merci
 
R

rednexage

Compagnon
Salut,

Si j'ai bien compris tu souhaite faire un rebouclage (divergence en ou) un peu comme en Grafcet ?

Si oui il suffit de programmer en pas à pas. Devant chaque réseau qui ne doit pas se dérouler la première fois tu met la condition suivante /X
 
L

lapin

Apprenti
salut , pas tout a fait.

je programme en ladder.(suis plus a l'aise avec ça)
en electronique on appellerait ça une réaction sur un front descendant .
ce que je voudrait faire c'est que le programme se déroule normalement
jusqu'a a un certain bit (mémento) , et...si le bit en question est a "zéro" ou vient de passé a "un" ou est a "un" le programme reprend depuis le début
le programme ne franchit ce bit X (ou mémento) pour continuer la suite du programme , que si ce bit vient de passé de "1" a "zéro"
 
R

rednexage

Compagnon
D'accord ce que tu veux c'est que ton programme boucle tant qu'il n'y ait pas de front descendant sur ton bit X. Le principe est le même la condition change.(d'ailleurs je n'ai jamais parlé de programmer autrement qu'en ladder (sur siemens le graphe est compliqué je trouve, on programme le G7 en ladder).

http://fr.scribd.com/doc/54718987/84/FRONT-DESCENDANT-FN

regarde page 96, sur S7 200 cette fonction doit exister, sinon dis le moi je rechercherais sa fais un moment que je n'ai plus travaillé sur S7-200 (regarde du côté de Mitsubishi, il me semble que les S7-200 soit des Mitsubishi rebadgés)
 
L

lapin

Apprenti
je ne trouve pas ? , j'ais essayé de faire différement avec la fonction "jmp" qui renvoie a un reseau précis si une condition est satisfaite (état d'un bit)
mais ça ne fonctionne pas , en milieu de programme j'ais mis un "jmp" et sur le 1er reseau j'ais mis "LBL" si j'ais bien compris
la fonction de saut "jmp" si la condition "jmp" est "satisfaite" la suite du programme (apres jmp) fait un saut et se retrouve en début de programme
hors il en est rien...ça ne fonctionne pas ainsi semble t'il.
 
R

rednexage

Compagnon
Salut,

Pour faire ton jump il faut quand même la boite qui détecte le front sinon tu ne pourra jamais satisfaire ta condition. La condition pour continuer est front descendant de X.

Donc pour reboucler il faut qu'il y ai pas front descendant de X

Ecris cette ligne de programme dans la partie maitre
X M100.0 M100.1

-------| |--------(N)--------( )

M100.1 sera a 1 quant il y aura un front descendant de X

puis tu fais le complément de X et la tu aura l'information Pas front descendant de X qui conditionnera l'avancée de ton programme.

Mais c'est assez sournois comme programmation car il y'a une histoire de temps réel et de tour de cycle automate.

Donc tu fera ton saut quand tu aura M100.1 ou tu conditionne l'avancée de ton programme par M100.2 qui sera le complément de M100.1

J'espère que je me suis bien exprimé.
 
L

lapin

Apprenti
merci pour ton aide , ça ne fonctionne pas mieux,(certainement moi qui M....)

on va dire un programme qui commence au réseau 1 et se poursuit jusqu'a réseau xxx.

il commence donc au réseau 1 ,arrivé au réseau 13 une sortie (A7.0) passe de "1" a "0"

j'applique ce que tu m'as expliqué, c'est a dire ça.



je met la fonction " LBL" en tout début de programme c'est a dire au réseau "1" , le jump au réseau 14 , mais ca ne fonctionne pas. (quelque chose m'échappe)

en programmation asm on aurait écrit une condition "goto..call" c'est a dire si la condition (X) est satisfaite je passe au réseau (xx) sinon je continu
mais la ?...
 
R

rednexage

Compagnon
Salut,

C'est pas bon.

Je me souviens plus exactement de S7-200 :

Sous S7 300 on écris comme ça :
fronts.jpg


Avec E0.1 : le bit ou l'entrée sur la quelle tu veux surveiller l'apparition d'un front.
M0.0 un bit de calcul et M100.0 le bit qui est a un uniquement sur un tour de cycle automate ( quand il y a le front ).

Sous schneider/telemecanique tu utlise ça :

----|N|------( )



Et tu indique le bit ou tu veux surveiller le front au dessus de ---|N|---

front_2.JPG



Si vraiment aucune de ces deux méthodes ne fonctionne essaye ceci afin de fabriquer ton "détecteur de front"

https://www.usinages.com/threads/automates-siemens-logo.45726/
 
L

lapin

Apprenti
désolé,pas eu le temps de revenir sur le forum.

je vais essayer encore ,merci
 

Sujets similaires

L
Réponses
3
Affichages
603
laurent12100
L
J
Réponses
7
Affichages
390
JLuc69
JLuc69
G
Réponses
1
Affichages
1 233
Greg de Nîmes
G
V
Réponses
0
Affichages
945
v tec
V
N
Réponses
78
Affichages
9 409
nipil
N
F
Réponses
17
Affichages
1 263
dh42
N
Réponses
3
Affichages
1 573
icanbeafrog
I
T
Réponses
28
Affichages
2 913
Tristan l'apprenti
T
Haut