Bild wird nach Wertänderung nicht weitergeschaltet!

Tommy843

Level-1
Beiträge
147
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe wiedermal ein Problem mit Flexible. Ich möchste eigentlich nur ein Bild über Wertänderung aktivieren. Ich hab keine Ahnung wieso das nicht funktioniert. Ich habe den Erfassungszyklus mittlerweile bei 100ms und zyklisch fortlaufend stehen. Wenn ich die Wertänderung über einen Eingang mache funktioniert es so halbwegs. Ich muss das aber leider über einen Merker machen um einen eindeutigen Zustand zu schaffen, weil der Eingang noch wo anders verwendet wird. Wieso kann das nicht funktionieren, hat jemand eine Idee?

MFG
 
Also wenn die SPS der Befehlsgeber sein soll,
dann würde sich der entsprechende Bereichszeiger "Auftrag" (oder so ähnlich), anbieten,
hier wiederum die Auftragsnummer "51".

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wenn die SPS der Befehlsgeber sein soll,
dann würde sich der entsprechende Bereichszeiger "Auftrag" (oder so ähnlich), anbieten,
hier wiederum die Auftragsnummer "51".

Mfg
Manuel


Ja die SPS ist der Befehlsgeber.Jetz steh ich aber völlig auf dem Schlauch. Was meinst du damit?
 
Du musst das nicht mit Steuerungsaufträgen machen. Normalerweise kannst du mit der Wertänderung einer Variable - wie du schon geschrieben hast - einen Bildaufruf triggern. Variable auf zyklisch lesen und gut ist.
Wie lange steht denn dein Signal auf dem Merker an. Wenn du vom Eingang eine positive Flanke bildest und mit dieser Flanke den Bildaufruf triggern willst schaffst du das wahrscheinlich nicht weil der Impuls zu kurz ist um von der Visu erkannt zu werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du vom Eingang eine positive Flanke bildest und mit dieser Flanke den Bildaufruf triggern willst schaffst du das wahrscheinlich nicht weil der Impuls zu kurz ist um von der Visu erkannt zu werden.
Deswegen hat es sich bewährt, die Variable zum Bildwechsel von der Steuerung mit "S" setzen zu lassen und in der Visu bei Bildaufbau zurücksetzen zu lassen.
 
Ja damit hab ich auch schon experimentiert, den Befehl setzen zu lassen. Nur komischerweise wird das SR-Flip-Flop nicht gesetzt, obwohl es normal mit einer negativen Flanke gesetzt werden müsste. Versteh das sowieso nicht.
 
Ich denke wir kommen dem Phänomen langsam auf die Spur...

Kannst du das Bit denn manuell setzten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich brauch das bit nicht mal manuell zu setzen. Der Witz is, der Merker wird wirklich weiter oben im Programm gesetzt, dieses Signal liegt dann auch sichtbar vor der Flanke an. Nur, nach der Flanke is tote Hose. Selbst Flip-Flops, wo der Rücksetzeingang nicht belegt ist, passiert rein garnichts. Ich kanns leider nicht nachvollziehen und leider erst wieder nächsten montag testen.
 
Soo, das ursprüngliche Problem habe ich in den Griff bekommen. Jetzt ist eine neues Problem aufgetaucht. Wenn mein Prozess abgelaufen ist und ich auf der letzten Seite meiner Visualisierung bin, drücke ich einen Button der erstens einen Merker zurücksetzt welcher wiederum alles im Prozess rücksetzt, aktiviere aber auch wieder das erste Bild im Prozess. In der SPS läuft ein Schrittkettenprogramm und die Merker schalten dann zur nächsten Bedienoberfläche. Mein Problem sieht jetzt folgendermaßen aus:

Wenn ich den Button auf dem letzten Bild drücke und ich eigentlich wieder zur Anfangsfolie will, zappt er mir bestimmt 5 Bilder durch wo ich dann schlussendlich irgendwo in der Mitte des Prozesses lande und nicht am Anfang.

Kann mir irgend jemand von euch zu diesem Phänomen was sagen?

MFG
 
... anscheinend ändert sich der Wert der jeweils anderen Merker auch.
Wertänderung für die Visu ist nicht nur die Änderung von 0 -> 1 sondern genauso auch umgekehrt.
Wie sieht deine Schrittkette also aus ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja stimmt, das is auch das, was mich generell irgendwo aufregt. Kann man das nicht präziser steuern? Mit eindeutigeren Zuständen?

Aber ich dachte, das der Befehl, zu welchem Bild er springen soll Vorrang hat. Logische Schlussfolgerung, ich müsste das Rücksetzen der Merker an erste Stelle bei dem Button und das springen zum Anfangsbild als letzten Befehl bei Wertänderung stehen haben, oder bringt mir das nichts?
 
Tommy,
nimm doch eine Integer Variabel, in diese schreibst du rein zu welchen Bild du wechseln
möchtest, mit der entsprechenden Bild Nr. Du kannst ja sowieso nur sinnvoll zu einen Bild
springen, somit reicht auch eine Variabel. So musst du nicht auf deine Batterie von Merker
achten und vor allen Dingen, such mal im Programm und in de Visu nach der Ursache, die
gerade auf deiner Visu zugreift. Eine solche Variante mit mehreren Merkern ist Käse.

Dann den Vorschlag weiter oben, mit Merker setzen von der CPU und als handshake, per Visu
wieder zurücksetzen, ist auch Käse. Da dieses zurücksetzen ja auch wieder eine Wertänderung ist
und die Funktion des bildaufrufs zweimal ausführt.

Wenn du in der Steuerung auswerten möchtest welches Bild gerade aktiv ist, kannst du das über die
Bereichszeiger aus der Visu Auslesen und in der Steuerung entsprechend auswerten.
 
Hmm, ich dachte mir schon das es bestimmt besser geht. Aber nicht wenn man vorher noch nie mit Flexible gearbeitet hat und nur Grundkenntnisse in dem Bereich hat durch ausprobieren hat. Naja, ich hab schon drauf geachtet das jedes Bild nur einmal ausgeführt wird und es läuft auch weitgehend flüssig durch.

So richtig hab ich es noch nicht begriffen, aber ich werde mal versuchen da durch zu steigen. Die Merker Batterie, ja da hast du wohl recht, es sind einige:ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wie dir sicher aufgefallen ist, ist hier immer wieder der Begriff Bereichszeiger und Steuerungsauftrag gefallen. Das wäre eine Möglichkeit.
Eine andere Möglichkeit wäre es, wenn du deine Bits für die Wertänderung nicht setzt und rücksetzt sondern toggelst - es also dann jeweils anderen Zustand annehmen läßt. Dann würde sich Flex auch korrekt verhalten.

Gruß
Larry
 
Hallo,
wie dir sicher aufgefallen ist, ist hier immer wieder der Begriff Bereichszeiger und Steuerungsauftrag gefallen. Das wäre eine Möglichkeit.
Eine andere Möglichkeit wäre es, wenn du deine Bits für die Wertänderung nicht setzt und rücksetzt sondern toggelst - es also dann jeweils anderen Zustand annehmen läßt. Dann würde sich Flex auch korrekt verhalten.

Gruß
Larry

Ja, das ist mir aufgefallen. Das Problem ist nur, ich kann gerade noch so mit dem Begriff Bereichszeiger was anfangen. Bei Steuerungsauftrag hörts definitiv auf. Ich weiß wie man Messwerte in einen DB schreibt, aber beim Steuerungsauftrag muss ich passen.

Was meinst du mit Bits togglen?

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Larry meint mit toggeln, das Bit beim Ereignis nur zu Invertieren, hat es '0' -> '1', hat es '1' -> '0'.
Ich Schätze mal das du für deinen Bildaufruf zur zeit deine Schrittketten Merker nutzt. du solltest aber,
wenn du bei Merkern bleiben möchtest, für jeden Bildaufruf einen separaten Merker nutzen. Aber dazu
musst du das wieder irgendwie Flankengesteuert machen.

Code:
//Schritt 1
..
..
S M 1.0 //Schrittkettenmerker 1
U M 1.0
FP M 20.0 //Flankenmerker 
SPBN M001
UN M 30.0 
= M 30.0 //Merker für Bildaufruf 1
M001: NOP 0

//Schritt 2
..
..
S M 1.1 // Schrittmerker 2
R M 1.0
U M 1.1
FP M 20.1 //Flankenmerker
SPBN M002
UN M 30.1
= M 30.1 //Merker für Bildaufruf 2
M002: NOP 0
..
..
USW
 
Zuletzt bearbeitet:
Ich nutze bereits separate Merker, die mit der negativen Flanke des Schrittmerkers die Bilder weiterschalten!
 
... dann mach es doch vielleicht so :
Code:
U M 10.0      // dein Schrittmerker
FN M 20.0    // dein Flankenmerker
UN M 100.0  // dein Bildmerker 
= M 100.0
... ohne es jetzt getestet zu haben sollte nun der M100.0 mit jeder negativen Flanke deines Schrittmerkers seinen Zustand jeweils ändern (toggeln von 0->1 bzw. beim nächsten Mal von 1->0). Damit kannst du dann auch "bei Wertänderung" deinen Bildwechsel anstossen.

Versuch das Mal ...
Gruß
Larry
 
Zurück
Oben