Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo,
ich habe folgendes Problem: Ich modernisiere eine Messanlage mit einem Linienschreiber.
Während der Messung schreibt der Schreiber kontinuierlich eine Messwertlinie mit 2 Peaks aufs Papier, der Anwender nimmt dann ein Lineal und misst den Abstand der beiden peaks in cm, da er weiss wie schnell der Papiervorschub ist, kann er aus dem Abstand in cm die Zeit in s berechnen.
Das macht er schon 15 Jahre so und ist glücklich....
Dennoch: es soll nun mit dem Laptop gemacht werden.
Dazu habe ich eine eventgesteuerte Datenerfassung aufgesetzt die sekündlch 1000 Messwerte liefert, die stelle ich in einem Graph mit zwei Cursorn dar, den Cursorabstand kann ich über Eigenschaftenknoten wunderbar auslesen und die Zeit zwischen beiden Cursorn anzeigen.
Problem ist, der Graph zeichnet sekündlich alles neu, weil er ja die Messdaten bei jedem ADC-Event komplett ersetzt, ich brauche also eine Art Diagramm, bei dem die neuen Daten von rechts reinlaufen, und schreiberähnlich durchs Bild laufen.
Blöderweise hat ein Diagramm keine Cursor ! Da beginnt mein Problem.
Ich habe mir überlegt, so eine Art FiFo zu bauen, und quasi dort die letzten 10 Signalverläufe zu halten, und diese dann sekündlich dem Graphen einzuspeisen.
Habt Ihr da eine bessere Idee, oder gibt es ein Beispiel "Diagramm mit Cursorn" ?
Werner
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Bau dir mit nem Graph + Schieberegister ein eigenes Diagramm...das Schiebregister bringt die aktuellen Daten in den nächsten Schleifendurchlauf...und dort schneidest du dann soviele Daten vorne weg, wie du in dieser Iteration hinten als neue Daten anghängst und schiebst dann alles zusammen auf den Graph bzw. wieder ins Schieberegister!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
25.06.2010, 11:16 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2010 11:18 von dimitri84.)
Ich mache das eigentlich immer mit einem Ringpuffer (du hast es FiFo genannt) und dem Graphen, weil ich die LV-Diagramme nicht leiden kann. Dabei nutze ich die Cursor aber immer nur zum zeigen/markieren und nicht zum setzen. Ist das kein Problem, dass die Messung weiterläuft beim Cursor setzen?
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Bau dir mit nem Graph + Schieberegister ein eigenes Diagramm...das Schiebregister bringt die aktuellen Daten in den nächsten Schleifendurchlauf...und dort schneidest du dann soviele Daten vorne weg, wie du in dieser Iteration hinten als neue Daten anghängst und schiebst dann alles zusammen auf den Graph bzw. wieder ins Schieberegister!
A.
Aaahhh Schieberegister. Die idee ist mir nicht gekommen. Danke.
Werner
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
' schrieb:Da wäre z.B. diese Idee von Lucki. Habe ich auch mal ausprobiert.
...
Ist das kein Problem, dass die Messung weiterläuft beim Cursor setzen?
danke für die gute Idee und den link, da steht in etwa das:
"Man braucht doch nur eine Taste Ein/Aus, die folgendes macht: Das SV-Diagr wird unsichtber, darübergelegt wird ein gleichgroßer und gleich aussehender SV-Graph - natürlich mit Cursoren. Und der Dateneinhalt muß natürlich mit Eigenschaftsknoten "History" aus dem SV-Diag gelesen und in eine loklae Variable des SV-Graphen geschrieben werden.Wärend der Cursorbedienung kann dann sogar das SV-Diag im Hinterund weiter upgedated werden."
Statt unsichtbar machen, könnte man ja auch ein Registerkartenelement zum Umschalten der Graphen/Diagramme verwenden...
Gibts das als Beispiel ?
Was ist denn ein SV-Graph ?
Zu deiner Frage: Ist das kein Problem, dass die Messung weiterläuft beim Cursor setzen ?
In meinem Falle fände ich das gar nicht schlecht. Jetzt läuft der Schreiber mit dem Papier ja auch weiter, während man den Zollstock (äh Geodreick) dranhält. Vermessen wird eigentlich ein Impuls mit einem Doppelpeak. Wenn nun da die Messung weiterliefe, dann blieben ja die beiden Cursor an ihrer Position im richtigen Abstand stehen, und die "Kurve" läuft drunter weg - das Auge des Betrachters würde trotzdem recht intuitiv den Abstand des neuen Doppelpeaks mit dem Cursorabstand vergleichen können. Denk ich, probiert hab ichs aber noch nicht...
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Ich wüsste nicht wo. Im Prinzip ist das nur ein Trick um den Ringpuffer nicht selbst machen zu müssen ... Also alternativ einfach ein SR und ein paar zusammengewürfelte Arrayfunktionen und dein FiFo ist fertig
Zitat:Was ist denn ein SV-Graph ?
SV = Signalverlauf
Zitat:Vermessen wird eigentlich ein Impuls mit einem Doppelpeak.
Zeig mal ein Bild davon. Wieso machst du den guten Mann nicht komplett arbeitslos und lässt das programmatisch messen? Sicher kein großer Aufwand.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
' schrieb:Zeig mal ein Bild davon. Wieso machst du den guten Mann nicht komplett arbeitslos und lässt das programmatisch messen? Sicher kein großer Aufwand.
Hier das Bild. Im eingerahmten Bereich siehst du die 2 Peaks, da legt er per Hand das Geodreieck an und misst den Abstand (2,74cm), da er weiss wie schnell der Schreiber läuft, kann er dann den Winkel 1,37° ausrechnen.
Ich mache Ihm erst mal eine Lösung, wo er beide Cursor per Maus setzen kann, und aus dem dT des Signalverlaufs und der Cursorposition kann ich den Abstand der Cursor in Sekunden mal Faktor = gesuchter Winkel berechen.
Danke für eure Hilfe, das Bild nur weil du danach gefragt hast....
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
' schrieb:Danke für eure Hilfe, das Bild nur weil du danach gefragt hast....
Wir wollen ja nicht, dass das LVF für Stellenabbau verantwortlich ist ...
Das wird bestimmt lustig, wenn dein Programm einmal nicht laufen sollte: "15 Jahre lang hat mit dem Geodreieck alles funktioniert und dann kommt dieser Computerfuzzy und pfuscht mir ins Handwerk!":lol:
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
' schrieb:Wir wollen ja nicht, dass das LVF für Stellenabbau verantwortlich ist ...
Das wird bestimmt lustig, wenn dein Programm einmal nicht laufen sollte: "15 Jahre lang hat mit dem Geodreieck alles funktioniert und dann kommt dieser Computerfuzzy und pfuscht mir ins Handwerk!":lol:
Fast, der Mitarbeiter geht bald in Rente, und sonst kann hier keiner mehr mit einem Geodreieck umgehen, daher muss da eine Software her...
(Büro Temperatur: 28°C, daher...)
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
' schrieb:"Man braucht doch nur eine Taste Ein/Aus, die folgendes macht: Das SV-Diagr wird unsichtber, darübergelegt wird ein gleichgroßer und gleich aussehender SV-Graph - natürlich mit Cursoren. Und der Dateneinhalt muß natürlich mit Eigenschaftsknoten "History" aus dem SV-Diag gelesen und in eine loklae Variable des SV-Graphen geschrieben werden.Wärend der Cursorbedienung kann dann sogar das SV-Diag im Hinterund weiter upgedated werden."
Das habe ich mal probiert, und mit Eigenschaftsknoten "History" aus dem SV-Diag gelesen und den erhaltenen Signalverlauf in den SV-Graphen geschrieben. Dabei habe ich folgendes Problem: Es sind nicht die gesamten Historiedaten ausgelesen worden (Einstellung im Diagramm Historienlänge bei mir 100) sondern nur die letzte Historie (also 1/100 der gesamten Anzeige im Diagramm bei mir).
Wie schaffe ich es, die gesamte Historie aus dem Diagramm in den Graphen zu bekommen (ausser selber mit den von euch erklärten Methoden ein FiFo zu bauen)
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard