From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
10-30-2015 06:16 AM
Hallo liebe Mitglieder des NI Forum's,
ich erstelle gerade selbst ein Skript, welches Zeitpunkte herausfinden soll, wo Sensor_X,Y,Z bestimmte Werte aufzeigt (Bsp: F_01>10; relF_01>80; B_02=0).
Habe es zunächst mit der Funktion: "Find" bzw. "ChnFind" probiert, doch leider ohne großen Erfolg. Nun bin ich zufällig auf die neue Funktion in DIAdem 2015 "Ereignissuche" gestoßen.
Nun einmal eine Frage an euch, hat schon jemand Erfahrung mit dieser Funktion im Skript oder vielleicht eine brauchbare Alternative für mein Problem?
Mit freundlichen Grüßen
Carsten
Solved! Go to Solution.
11-02-2015 12:32 AM
Hallo jochenknochen,
die Ereignissuche in DIAdem 2015 ist genau für solche Aufgaben wie der deinen entwickelt worden. Sie ist vor allem auf Performance getrimmt. Du suchst in einem Kanal nach bestimmten Ereignissen (wie F_01 > 10, mit der Fensterfunktion "ChnEventDetectionWindow", dabei ist 10 die untere Grenze, die obere ist ein sehr hoher Wert) und kannst dieses mit anderen durch "and" oder "or" verknüpfen. Es ist auch möglich zu prüfen, ob ein Ereignis für eine bestimmte Zeit in einem Kanal aufgetreten ist.
Als Ergebnis bekommst du einen zweidimensionalen Vektor, der den Anfang und das Ende der Fundstellen (Zeilennummer im Kanal) enthält. Weitere Infos findest du in der Hilfe. Da solltest du dir auch das Beispiel-Script "Ereignissuche" ansehen.
Gruß
Walter
11-02-2015 02:09 AM
Hallo Walter,
vielen vielen Dank. Hab ewig nach der passenden Syntax gesucht, aber nie gefunden. Funktioniert genau wie ich es mir vorgestellt habe.
MfG
Carsten
11-10-2015 05:22 AM
Hallo,
ich hätte nochmal eine ergänzende Frage zum Thema Ereignissuche. Als Ergebnis habe ich jetzt einen simplen Rechteckverlauf, welcher mir mit Hilfe von 1 und 0 optisch zeigt, wann das zuor definierte Ereignis auftritt. Nun möchte ich in einem neuem Report Sheet alle Fundstellen mit der entsprechenden Dauer/Datumsangabe auflisten. Folgenden Ansatz habe ich aus einem anderen Skript:
For i= stline to enline
If Chd(i,"[8]/Fundstellen")=1 Then 'Entscheidung Kanalwert = 0
c=c+1 'ja-> Zähler um 1 erhöhen
else
if c > cmax then 'nein-> Entscheidung ob Zählung größer als bisher größte Zählung
cmax=c 'ja-> neue größte Zählung definieren
c=0 'c für nächste Zählung 0 setzen
else c = 0 'nein-> c für nächste Zählung 0 setzen
End If
End If
Next
If c > cmax then 'nochmalige Prüfung nach größter Zählung für letzten Abschnitt in Kanal
cmax=c
Else c=0
End If
Allerdings komme ich damit nicht zur Lösung. Könnt ihr mich vielleicht nochmal helfen?
11-10-2015 05:50 AM
Hallo jochenknochen,
im ausgelieferten Beispiel „Ereignissuche“ gibt es im Script „EventDetection.vbs“ die Prozedur „CreateSegmentGraph“. Darin werden die gefundenen Bereiche (Anfangs- und Endwerte des X-Kanals) in einen neuen Kanal gespeichert. Wenn du das etwas umbaust und durch die Differenz ergänzt, sollte es das sein, was du suchst.
Gruß
Walter
11-10-2015 06:02 AM
Vielen Dank für die schnelle Antwort. Alles klar ich versuche mein Glück.
11-11-2015 10:10 AM
Guten Abend Walter,
ich probiere nun seit 3 Tagen herum, aber komme zu keinem gelungenem Ergebnis. könntest du bitte deine Idee nochmal genauer erläutern oder vielleicht sogar die Syntax dazu nennen?
Mit freundlichen Grüßen
Carsten
11-12-2015 04:07 AM