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!
' schrieb:hahah ... nein!! schau dir noch mal dein VI an welches du mir hochgeladen hast! da ist was anderes drinne ... kam mir schon so komisch vor *g*
Meinst du das VI, das ich in Beitrag #5 hochgeladen habe? Davon hab ich doch gestern das Bild gemacht.
Naja, wenn du sagst, dann kuck ich mirs halt noch mal an.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
ersteinmal danke für die hilfe, auslesen und darstellen funktioniert! hab aber trotzdem noch ein paar probleme bzw. fragen ...
1. wie bekomme ich jetzt weitere signale in das diagramm? ich will aus dem eingelesenen zyklus ein band (+-1 km/h) machen ... er soll also zwei kurven die parallele zueinander laufen darstellen. wenn ich die beiden zusammenführe, ändert sich der datenfluss und er zeigt auf dem diagramm nix gescheites mehr an!?
2. zu dem zyklus möchte ich dann noch die reale vom auto (rollenprüfstand) gefahrene geschwindigkeit darstellen (über can ausgelesen). diese sollte dann am besten als punkt in der mitte des diagrammes angezeigt werden ... ist das irgendwie realisierbar, dass ich den zyklus in dem abschnitt komplett darstelle und die geschwindigkeit nur als punkt in der mitte aktualisiert wird?
3. wie kann ich bei schaltplanneustart das diagramm "leeren", so dass er von anfang an nur die aktuellen daten anzeigt?
zu punkt 1,2 kann man das eventuell irgendwie über den methoden- bzw. eigenschaftsknoten realisieren?
' schrieb:1. wie bekomme ich jetzt weitere signale in das diagramm? ich will aus dem eingelesenen zyklus ein band (+-1 km/h) machen ... er soll also zwei kurven die parallele zueinander laufen darstellen.
Prinzipell wei folgt. Vergleiche das Bild von obebn.
Zuerst generierst du die beiden neuen Kurven als 1D-Array als genauso lang wie die aus dem TDMS gelesenen Kurven. Dann gibst du diese beiden Arrays auf die For-Schleife - mit Autoindizierung. Diese beiden nun Double-Werte hängst du an das in der For-Schleife bereits bestehende 1D-Array. => 2 Kurven mehr, wenn das 1D-Array dann in ein 2D-Array überführst wird - und schon hast du zwei Kurven mehr.
Zitat:2. zu dem zyklus möchte ich dann noch die reale vom auto (rollenprüfstand) gefahrene geschwindigkeit darstellen (über can ausgelesen). diese sollte dann am besten als punkt in der mitte des diagrammes angezeigt werden ... ist das irgendwie realisierbar, dass ich den zyklus in dem abschnitt komplett darstelle und die geschwindigkeit nur als punkt in der mitte aktualisiert wird?
Im Prinzip geht das. Es gibt mehrere Möglichkeiten.
1. Du verwendest einen Cursor als Punkt (wenn das mit dem gewählen Graph-Typen geht).
2. Du verwendest eine komplette Kurve, deren Werte alle 0 sind - außer dem einen, der die Geschwindigeit darstellt. Dann machst du die Linie als gepunktet.
3. Statt der Nuller schreibst du NAN. Wenn NAN als Wert übergeben wird, wird dieser Punkt nicht angezeigt. Ob das auch mit NAN am Anfang geht, weiß ich nicht.
4. Umksteigen auf XY-Graph. Da gehen auf jeden Fall Cursoren. Da hier die Kurve als X/Y-Paare (und nicht als X/T-Paare mit T als implizietem Zeitwert) vorgegeben werden müssen, kann man auch Kurven aus nur einem Punkt machen (und muss nicht den Trick min den NAN's machen).
Zitat:3. wie kann ich bei schaltplanneustart das diagramm "leeren", so dass er von anfang an nur die aktuellen daten anzeigt?
Zuerst über Eigenschaftsknoten Historen und Wert löschen und dann das aktuelle anzeigen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Prinzipell wei folgt. Vergleiche das Bild von obebn.
Zuerst generierst du die beiden neuen Kurven als 1D-Array als genauso lang wie die aus dem TDMS gelesenen Kurven. Dann gibst du diese beiden Arrays auf die For-Schleife - mit Autoindizierung. Diese beiden nun Double-Werte hängst du an das in der For-Schleife bereits bestehende 1D-Array. => 2 Kurven mehr, wenn das 1D-Array dann in ein 2D-Array überführst wird - und schon hast du zwei Kurven mehr.
ich habe die kurven nach dem extrahieren getrennt (daten+1, daten-1) und zwei 1d-arrays erzeugt und diese dann in der zweiten for-schleife zusammengeführt! wenn ich mir das in einem 2d-array anzeigen lasse, zeigt er mir auch zwei spalten mit je einem wert (daten+1, daten-1). im diagramm liest er diese zwei spalten aber hintereinander und nicht gleichzeitig aus. damit bekomme ich eine zick-zack kurve und keine 2 kurven ... wo liegt da jetzt der fehler?
siehe vi ... bild kann ich hier in der uni leider keins hochladen
leider habe ich dann aber noch eine weitere frage! ich hätte für das abfahren des zyklus gerne eine festes delta_y im signalverlaufsdiagramm welche aber trotzdem über autoskalierung nach oben und unten verschoben wird ... ist das mit dem diagramm machbar?
' schrieb:ich habe die kurven nach dem extrahieren getrennt (daten+1, daten-1) und zwei 1d-arrays erzeugt und diese dann in der zweiten for-schleife zusammengeführt! wenn ich mir das in einem 2d-array anzeigen lasse, zeigt er mir auch zwei spalten mit je einem wert (daten+1, daten-1). im diagramm liest er diese zwei spalten aber hintereinander und nicht gleichzeitig aus. damit bekomme ich eine zick-zack kurve und keine 2 kurven ... wo liegt da jetzt der fehler?
Der Fehler liegt an "Array erstellen". Die beiden 1D-Array müssen zu einen 1D-Array "hintereinander gehängt" werden. So wie du es hattest, wurden sie "nebeneinander gehängt" zu einen 2D-Array. Beachte im Eigenschaftsmenü die Funktion "Eingänge verknüpfen". Das Gesamt-1DArray muss dann mit einem zweiten "Array erstellen" in ein 2D-Array gewandelt werden. Dieses 2D-Array hat die Dimensionen 1x(AnzChan). 1 deswegen, weil von jeder Kurve immer genau 1 Wert pro Zeiteinheit dargestellt werden soll. AnzChan sind die Anzahl der Kurven, die erscheinen sollen.
Zitat:ich hätte für das abfahren des zyklus gerne eine festes delta_y im signalverlaufsdiagramm welche aber trotzdem über autoskalierung nach oben und unten verschoben wird ... ist das mit dem diagramm machbar?
Was heißt "festen delta_Y (dY)"? Egentlich hast du doch ein festen dT bei einen "Abfahren.". Möglicherweise verstehe ich diese Frage aber falsch.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
versteh ich das richtig, dass ich nur noch das zweite "array erstellen" einbinden muss und dann sollte es funktionieren?
zu der zweiten frage ... da das band +-1 fahrgeschwindigkeit ist soll die y achse immer ein delta_v von 4 km/h haben. beschleunige ich, soll dieses band nach oben verschoben werden, ... . bei autoskalierung ändert sich das delta_v ja in abhängigkeit der angezeigten werte, je nach dem welche in der zeit gerade auf dem diagramm zu sehen sind! ohne autoskalierung verschiebt es die kurve nicht! --> hoffe das war verständlich! ^^
' schrieb:versteh ich das richtig, dass ich nur noch das zweite "array erstellen" einbinden muss und dann sollte es funktionieren?
Nein, das verstehst du falsch. Aus dem ersten "Array erstellen" muss ein 1D-Array herauskommen. Bei dir kommt ein 2D-Array heraus. Um aus dem ersten "Array erstellen" ein 1D+1D=1D zu machen (anstelle 1D+1D=2D) musst die die "Eingänge verknüpfen".
Zitat:zu der zweiten frage ... da das band +-1 fahrgeschwindigkeit ist soll die y achse immer ein delta_v von 4 km/h haben. beschleunige ich, soll dieses band nach oben verschoben werden, ... . bei autoskalierung ändert sich das delta_v ja in abhängigkeit der angezeigten werte, je nach dem welche in der zeit gerade auf dem diagramm zu sehen sind! ohne autoskalierung verschiebt es die kurve nicht! --> hoffe das war verständlich! ^^
Ich glaube die Frage ist kompliziert. Da muss ich nachdenken. Da sie mit der ursprünglichen Frage (Punktweise Darstellung) nur sehr bedingt zu tun hat, mach lieber ein neues Thema auf. (Ohne Verweis aus dieses. Die neue Frage findet sowieso hier keiner). Zwei Antworten in einem Thema verwirrt nur.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
03.07.2008, 11:11 (Dieser Beitrag wurde zuletzt bearbeitet: 03.07.2008 11:11 von Joachim.Franck.)
' schrieb:Nein, das verstehst du falsch. Aus dem ersten "Array erstellen" muss ein 1D-Array herauskommen. Bei dir kommt ein 2D-Array heraus. Um aus dem ersten "Array erstellen" ein 1D+1D=1D zu machen (anstelle 1D+1D=2D) musst die die "Eingänge verknüpfen".
ah und das geht im eigenschaftsmenü ... alles klar ^^