Flankenauswertung funzt nicht

det

Level-2
Beiträge
259
Reaktionspunkte
35
Zuviel Werbung?
-> Hier kostenlos registrieren
Tach zusammen,

eine S7-212 soll den E0.0 auf stetigen Wechsel überwachen. Ist für den Werkzeugschutz an einer Exzenterpresse.

Prog:
NW 1
LD E0.0
EU
S M0.0 ,1

NW 2
LDN E0.0
ED
S M0.1 ,1



Wenn die Presse arbeitet wird keiner der Merker gesetzt. In der Micro Win in der Hilfe steht LD E0.0 ; EU ; =A0.0
Warum funzt es nicht. Für nen Tipp wäre ich dankbar.

Grüße Detlef
 
Du setzt den Merker in beiden Netzwerken.
Irgendwann und irgendwo wirst du ihn zurücksetzen müssen. Ansonsten bleibt er bis Nikolaustag gesetzt.
 
Tach zusammen,

eine S7-212 soll den E0.0 auf stetigen Wechsel überwachen. Ist für den Werkzeugschutz an einer Exzenterpresse.

Prog:
NW 1
LD E0.0
EU
S M0.0 ,1

NW 2
LDN E0.0
ED
S M0.1 ,1



Wenn die Presse arbeitet wird keiner der Merker gesetzt. In der Micro Win in der Hilfe steht LD E0.0 ; EU ; =A0.0
...
Also erstmal überwachst Du in beiden Netzwerken genau die gleiche Sache:
Im ersten Netzwerk - positive Flanke (0->1) von E0.0.
Im zweiten Netzwerk - negative Flanke (1->0) von NICHT E0.0. Das bedeutet, NICHT E0.0 wechselt von 1 auf 0, wenn E0.0 von 0 auf 1 wechselt.
Was bemerkt und wenn ja, war das so gewollt?

Als Nächstes - ob Du die Flanken mit Setzen, Rücksetzen oder Zuweisung (=) weiterverarbeitest, ist Dein Problem. Kommt halt darauf an, was Du weiter damit vorhast. Der Flankenauswertung selber ist das egal.

Und schließlich zur Hauptfrage:
Werden Deiner Merker gar nicht gesetzt (wenn E0.0 aktiv ist)? Dann kommt der Eingang nicht an. Kontrollieren, ob er richtig angeschlossen ist und der zugehörige Kontakt funktioniert. Ist das Programm auch in RUN. Sind manchmal Kleinigkeiten.
Oder werden sie nur einmal gesetzt und nicht wechselseitig, wie vermutlich erwartet -> vlt. nicht so programmiert, wie gewollt (siehe ersten Punkt).


PS: Eine Rückmeldung wäre nicht schlecht. Ist ziemlich ungewöhnlich, das jemand einen Thread mit 'ner Frage eröffnet und dann 3 Tage darin nicht auf Antworten reagiert. Wir sind ja schließlich keine Hellseher, ob Du noch an weiteren Antworten interessiert bist oder nicht.
Und andere User mit ähnlichen Problemen würden sich sicher auch für einen bei Dir erfolgreichen Lösungsweg interessieren.
Bei 71 Beiträgen dürfte Dir das ja nicht so neu sein ;)
 
Zuletzt bearbeitet:
N' abend allerseits,
sorry für's späte Antworten. Hatte einfach keine Zeit. :sm24: :sm24:

@ Wilhelm, Online Natürlich werden Die wieder zurückgesetzt. Werden weiter verwendet. Ist ja nur ein Teil des Prog's.

@ Hucki, all Der E0.0 steuert die gesamte Abfrage und funktioniert. Auch der Rest des Prog's funzt erstklassig. Ist auf Run.

Ich hol noch mal etwas weiter aus.

Werkzeugschutz an einer Exzenterpresse
Die Presse macht 60 -80 U/min. Von Winkelposition 10° - 30° ist der E0.0 aus. Von 31° - 9° ist der E0.0 an. (Startwinkel ist 12 Uhr CW).
In dem Bereich wo E0.0 aus ist, werden diverse Eingänge und Merker abgefragt. Wenn alle Bedingungen wahr sind, läuft die Presse weiter, wenn nicht sofort Stop. Wenn der Eingang E0.0 dauerhaft an wäre, würde keine Abfrage der Eingänge, Merker stattfinden, somit würden auch keine gefährlichen Zustände im Werkzeug erfasst. Was dann evt. einen satten 5 stelligen Euro Betrag als Schaden ergibt. Ich sag nur Murphy :twisted:.

Mein Gedanke war jetzt über die Flankenauswertung das ein und ausschalten des E0.0 zu überwachen, (bei jeder Umdrehung an, aus) und diesen Wechsel (ist ja nur einen Zyklus lang erfasst) in Merkern zu speichern um ihn weiter zu verarbeiten. Mein erster Versuch war halt die steigende und fallende Flanke in den Merkern M0.0 und M0.1 zu speichern. Aber in Micro Win wird beim Beobachten keine Reaktion der beiden Merker angezeigt. Andere Eingänge , Merker, Ausgänge werden aber mit Reaktion angezeigt.
Deshalb meine Vermutung das ich das falsch programmiert habe.

Grüße Detlef
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...
Mein erster Versuch war halt die steigende und fallende Flanke in den Merkern M0.0 und M0.1 zu speichern.
...
Aber das machst Du ja nicht mit Deinem obigem Code:
Also erstmal überwachst Du in beiden Netzwerken genau die gleiche Sache:
Im ersten Netzwerk - positive Flanke (0->1) von E0.0.
Im zweiten Netzwerk - negative Flanke (1->0) von NICHT E0.0. Das bedeutet, NICHT E0.0 wechselt von 1 auf 0, wenn E0.0 von 0 auf 1 wechselt.
Was bemerkt und wenn ja, war das so gewollt?
...

Ich denke mal, das es das ist, was Du eigentlich versuchen wolltest:
Code:
Network 1
LD     E0.0
EU
S      M0.0, 1


Network 2
LD     E0.0
ED
S      M0.1, 1

Ich würde das aber mit einem verlängertem Impuls versuchen. Ich müßte da noch irgendwo was für haben, das man den sich mit der 200er selber basteln kann. Muss nur mal schauen, wie arg die 212 gegenüber meiner 224XP beschnitten ist.
 
Moin Moin,

so ich stell das gesamte Prog mal rein. Die Flankenauswertung ist hier noch nicht integriert. Habe das noch über den T37 als Watch Dog gelöst. Taugt aber nicht richtig.

@ Hucki Was für einen Unterschied macht es ob ich LD E0.0 ; EU ; S M0.0 sage oder LDN E0.0 ; EU ; S M0.0
Stelle ich die falsche Abfrage um mein VKE zu erhalten.

@ Tiegerente Nee, alles in einem Baustein. Ich hatte die im 1. Post angegebenen 2 Netzwerke einfach nur eingefügt, und geschaut ob die beiden Merker 0.0 und 0.1 auch gesetzt werden. Wie gesagt, der Rest des Prog's zeigte Reaktion beim Beobachten. Nur meine beiden Merker nicht. Rücksetzen der beiden Merker ist noch nicht programmiert, bleiben also dauernd an.

Ach so, ich sollte vielleicht noch erwähnen.: Der E0.0 ist im Prog E0.7 Die Merker M0.0 und M0.1 sind im Prog M1.0 und M1.1 und die sind in der ZOL noch nicht eingetragen.

Grüße Detlef

Anhang anzeigen Helmerding wkz schutz GB Hülse_awl.pdf
 
Zuletzt bearbeitet:
...
@ Hucki Was für einen Unterschied macht es ob ich LD E0.0 ; EU ; S M0.0 sage oder LDN E0.0 ; EU ; S M0.0
Stelle ich die falsche Abfrage um mein VKE zu erhalten.
...
Einen Großen:
EU untersucht das vorangegangene VKE auf die Flanke von 0 auf 1 - im ersten Fall ist Dein VKE -> LD E0.0
Du bekommst also ein positives Ergebnis, wenn E0.0 von 0 auf 1 wechselt.
Beim zweiten wird das VKE vor der Flanke aus dem Ergebnis von LD E0.0 und NICHT gebildet.
Du bekommst also ein positives Ergebnis, wenn E0.0 von 1 auf 0 wechselt.

Insgesamt heißt das in diesem Fall:
LD E0.0; EU ergibt das gleiche Ergebnis wie LDN E0.0; ED (positive Flanke) und
LD E0.0; ED ergibt das gleiche Ergebnis wie LDN E0.0; EU (negative Flanke).
 
Was ist eine Flanke?
Eine Flanke erkennt die Signaländerung, entweder von "0" -> "1" oder von "1" -> "0"

Eine Flanke kann und darf nur einen SPS-Zyklus den Zustand "1" haben.

Und genau mit diesem Signal musst Du arbeiten!

Ich programmier zwar keine S7-200 aber der Sinn sollte gleich sein:

U E 0.0........Dein Ereignis kommt
UN M 10.0....Flankensperrmerker
= M 10.1......Die eigentliche Flanke
S M 10.0......Der Spermerker wird gesetzt

UN E 0.0......Das Ereignis geht
R M 10.0......Der Sperrmerker wird nichtr mehr benötigt

Das ist ein Beispiel für eine positive Flanke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

jetzt läuft es :p. Fragt mich bitte nicht warum. Das einzige was ich jetzt anders gemacht habe ist, das ich es in KOP programmiert habe statt AWL:?:. Sollte doch eigentlich egal sein, oder?

Ein Danke an Alle, die versucht haben zu helfen.

Grüße Detlef
 
Nicht ganz, es kann durchaus sein das die Befehlsreihenfolge etwas anders ist!
Im KOP/FUP werden die Oprerationen bei der Übersetzung oft mit Klammern versehen. Falls es geht (in Step-7 geht es), stell doch mal die Ansicht von KOP auf AWL um und vergleiche mal die Abschnitte.
 
Zurück
Oben