DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Filtern und neuen Kanal generieren

Solved!
Go to solution

Hallo. Ich Suche die Möglichkeit die folgendes kann. "Filtere die Werte aus dem Kanal X nach allen Werten z.B. 1000 und gebe dann die zugehörigen Daten des Kanals Y in einem neuen Kanal aus, alle anderen Werte sollen als No Value dargestellt werden"... 

 

Mir fehlt da der Ansatz.... 

 

Vielen Dank für eure Tipps.... 

0 Kudos
Message 1 of 4
(1,589 Views)
Solution
Accepted by topic author Stefan1606

Hallo Stefan1606,

 

in DIAdem gibt es die sogenannten Ereignis-Funktionen (Event functions) mit denen gefiltert, gesucht, kombiniert und neue Kanäle basierend auf dem Ergebnis erzeugt werden können. Diese sind sehr mächtig und können in beliebigen Kominationen eingesetzt werden.

 

Deinen Anwendungsfall könntest du mit der Event-Funktion ChnEventDetectionWindow lösen. Um die gefundenen Stellen in einen neuen Kanal zu schreiben, rufst du anschließend die Funktion ChnEventCreateFilteredTrueChn auf.

 

Hier ein kleines Beispiel, bei dem alle Werte im Zeit-Kanal gesucht werden, die >= 40 und <= 41 sind und anschließend aus dem Y-Kanal Geschwindigkeit die zugehörigen Werte in den neuen Kanal FilterResult geschrieben werden.

' Beispieldatensatz zur Demonstration laden.
call Data.Root.Clear()
call DataFileLoad("EXAMPLE.TDM", "", "Load|ChnXYRelation")

const XChnName = "Example/Zeit"
const YChnName = "Example/Geschwindigkeit"
const ResultChnName = "Example/FilterResult"

ChnEventList1 = ChnEventDetectionWindow("", XChnName, 40, 41, 0, 0)
call ChnEventCreateFilteredTrueChn(ResultChnName, ChnEventList1, YChnName, NOVALUE)

' Nice to have, wenn mit XY-Kanälen gearbeitet wird:
' Ergebniskanal als XY-Kanal festlegen
Set Data.GetChannel(ResultChnName).xRelation = Data.GetChannel(XChnName)

 

In der Hilfe sind alle verfügbaren Ereignisfunktionen aufgelistet. Es können auch mehrere Suchen durchgeführt und diese mit AND oder OR verknüpft werden. Doch für deinen Anwendungsfall sollte das obige Beispiel ausreichen ;-).

0 Kudos
Message 2 of 4
(1,567 Views)

Noch ein kleiner Tipp, wie man an die Namen der Funktionen für das Script kommt. Die Ereignisfunktionen sind in ANALYSIS bei den Kanalfunktionen zu finden. Aktiviere den Aufzeichnungsmodus von DIAdem im Modul SCRIPT, öffne den Dialog der Ereignisfunktion, gebe deine Werte ein und lasse das Ergebnis berechnen. Anschließend stehen die vom Dialog verwendeten Funktionen im aufgezeichneten Script :-).

 

AnJalpaka_1-1702044032603.png

 

AnJalpaka_0-1702043938525.png

 

Alternativ zum Aufzeichnungsmodus kann jederzeit mit der Tastenkombination CTRL+SHIFT+C ein Scriptblock in der Zwischenablage erzeugt werden, der den Inhalt eines geöffneten Dialogs wiederspiegelt.

 

0 Kudos
Message 3 of 4
(1,558 Views)

Vielen Dank für die Hilfe!

0 Kudos
Message 4 of 4
(1,531 Views)