Ich habe eine Datentabelle mit Zeitinkrementen von 0 -> n für jeden Schritt für eine Reihe von mehreren Schritten.
Ich frage mich, ob es ein bkm zum Skript gibt, damit jede Schrittzeit zur Endzeit des vorherigen Schritts beginnt.
alias:
aktuell: step1, time = 0--> 7, step2, time = 0-->12
Ziel: step1, time=0-->7, step2, time7-->19
Beratung?
Säulen:
Sensoretikett | Wert | Zeit | Schritt
Entschuldigung für die Missverständnisse.
Ich habe versucht zu meinen:
Ich versuche, Achsenbeschriftungen auf der x-Achse zu schreiben, die der maximalen oder minimalen Schrittzeit entsprechen. Ich versuche, das Zusammenfassungsskript herauszufinden oder eine Variable = colMax (Zeit für Schritt) zuzuweisen, habe aber Probleme, die Syntax zum Laufen zu bringen.
In Bezug auf Ihr erstes Problem lautete Ihre Anforderung an das Inkrement zwischen den Schritten
Ziel: step1, time=0-->7, step2, time7-->19
Beachten Sie, dass der Zeitwert für den letzten Wert im ersten Schritt sowie für das erste Mal im zweiten Schritt derselbe war.
Wenn Sie zwischen den Schritten inkrementieren möchten, ändern Sie einfach den Addiererwert auf die gewünschte zusätzliche Inkrementierung
adder = :time[Row() - 1] + 1
Ich verstehe nicht, wonach Sie fragen, wenn Sie sagen: " Hinzufügen von X-Achsen-Markierungen in das Skript, um die Blöcke der Spur zu beschriften ".
Schließlich sind alle Funktionen, wie z. B. Lag(), im Scripting Index dokumentiert, der im Pulldown-Menü Hilfe verfügbar ist.
das funktioniert super! Ich bemerke nur ein kleines Problem. bei dem Zeitinkrement, wo sich der Schritt ändert, wird der Zeitwert wiederholt, anstatt zu inkrementieren. Ich versuche immer noch, die LAG-Funktion zu verstehen. Irgendwelche Tipps?

Abschließend irgendwelche Tipps zum Hinzufügen von X-Achsen-Markierungen in das Skript, um die Blöcke der Spur zu beschriften?
Ich kann basierend auf step# neue Spalten für lokale Min/Max erstellen, bin mir aber nicht sicher, wie ich das in eine Achsenbeschriftung schreiben soll.


Hier ist eine Beispieldatentabelle und ein einfaches Skript, das die Zeit anpasst, wenn sich der Schritt ändert.Das Skript zeigt zunächst die Datentabelle für 10 Sekunden an, damit Sie sehen können, wie die ursprüngliche Tabelle aussieht, und führt dann das kleine Skript aus, um die Zeitwerte anzupassen.
Names Default To Here( 1 );
dt = New Table( "example",
Add Rows( 42 ),
New Column( "time",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
)
),
New Column( "Step",
Character,
"Nominal",
Set Values(
{"Step1", "Step1", "Step1", "Step1", "Step1", "Step1", "Step1", "Step1",
"Step2", "Step2", "Step2", "Step2", "Step2", "Step2", "Step2", "Step2",
"Step2", "Step2", "Step2", "Step2", "Step2", "Step3", "Step3", "Step3",
"Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3",
"Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3",
"Step3", "Step3"}
)
)
);
wait(10);
For Each Row(
If( Row() == 1,
adder = 0,
If( Lag( :step ) != :step,
adder = :time[Row() - 1]
)
);
:time = :time + adder;
);