Speicherproblem mit zeitlichem Ablauf

MadDog

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

ich hab noch ein paar kleine Probleme in meinem SPS S7 Programm und ich komme damit leider nicht mehr weiter.

Kurz zum Projekt. Es werden Messwerte analog eingelesen, verarbeitet, vergleiche berechnet, intern gespeichert und dann sollten sie an den PC ausgegeben werden und am ende leuchten LED für gut oder schlechtteile.

Es klappt auch alles recht gut, jedoch habe ich das problem, wenn ich die Messwerte zwischenspeichern will (sie werden auch am TouchPanel angezeigt) und ich die Messung beende lösen sich ja die Ventile und die Messspitzen verlassen die Sensoren. Genau in diesem Moment werden aber noch Daten in die SPS eingelesen und so passiert es das manche Werte korrekt bleiben und andere jedoch sie ändern obwohl die Messung ja abgeschlossen sein sollte.

Wie kann ich der SPS quasi sagen dass sie aufhören soll Werte einzulesen und dann die Messung zu beenden ? Ich denke mal es ist eine ziemliche Anfängerfrage und ich hoffe ihr könnt mir helfen ;)

Die Messung geginnt mit einem Starttaster und wenn die Werte in den Toleranzgrenzen liegen sollen sie abgespeichert und ausgegeben werden.

Hier noch ein Codeteil von der Messrückgabe:

Code:
                    U       Grenzen.ok
                    U       Endlage Sensor oben
                    U       Endlage Sensor unten
                    UN      M10.1
                    SPBN   sp1 
                    L       BerechnungsWerte.R_temp1
                    T       Berechnungs_Werte.Messwert1
               sp1: UN     Endlage Sensor oben
                    UN     Endlage Sensor unten
                    =       M10.1
Die Werten werden so zwar gespeichert jedoch verändern Sie sich noch wenn ich die Messung per Stop-Taste beende und Prüfkopf die Messfühler verlässt.

Vielen Dank schonmal !
 
Hallo MadDog,
es fällt mir gerade sehr schwer deiner Beschreibung zu Folgen aber ich glaub ich hab verstanden wo dein Problem liegt.
Löse es doch mit einer Flanke (P)

Beispiel:
Code:
      U     M     10.0                // Impuls "Berechnen"
      FP    #Imp_Berechnen            // Flanke
      SPBNB _002
      L     PEW  280                  // Eingangswert Lesen
      T     #Wert1                    // Und Zwischenspeichern
_002: NOP   0
Nun werden deine Werte nur 1 mal gemessen (o.k. bei jeder Flanke :rolleyes: )
und nach "#Wert1" abgelegt.

Mit diesem Wert kannst du nun deine weiteren Berechnungen machen :D

Viel Spaß
wiesel187
 
Zuviel Werbung?
-> Hier kostenlos registrieren
oder: die Übertragung der Messwerte in deinen DB und in den PC packst du in eine eigene FC die nur während der Messung bearbeitet wird.

Wenn deine Messung beendet ist, schließt du die Bearbeitung aus (zb im OB1 wird der FC nur aufgerufen wenn die Messung läuft)

ev musst du den Aufruf des FC ein paar Zyklen vor dem Auslösen des tatsächlichen Messendes unterbrechen. (Sollte aber eigentlich nicht notwendig sein)
 
Hi,
leider geht nicht richtig aus deiner Beschreibung hervor, wie die Messung beendet wird. Wenn du die Ventile und Messspitzen nur von deinem Prüfstück weg fährst und nur die Signal „Endlage Sensor …“ überwachst, könnte meiner Meinung nach es schon zu falschen messwerten kommen, wenn du nicht mehr optimal am Prüfstück bist.
Füg einfach mal noch vor deinen Sprungbefehl den Start- bzw. Stopptaster ein.

Code:
      [COLOR=red]U       Messung ein[/COLOR]
      U       Grenzen.ok
      U       Endlage Sensor oben
      U       Endlage Sensor unten
      UN     M10.1
      SPBN   sp1 
      L       BerechnungsWerte.R_temp1
      T       Berechnungs_Werte.Messwert1
 sp1: UN     Endlage Sensor oben
      UN     Endlage Sensor unten
      =       M10.1

Gruß Dirk
 
Zurück
Oben