DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Kanalwertauswahl in ComboBox (ChnToValue)

Hallo,
 
Ich darf seit kurzem endlich DIAdem 11 mein Eigen nennen und Erfahrungen damit sammeln.
Nun ich möchte erst einmal gerne die Werte eines Kanals, in diesem Fall eines Zeitkanals, in einer Combobox darstellen, um den Start bzw. das Ende eines Auswertezeitraum definieren zu können. Da bin ich auf "ChnToValue" gestoßen, da ein Schreiben der Kanalwerte in eine Variable mit "CHD" bei tausenden Werte ewig dauert. Leider führt das bei mir zu Fehlermeldung: "Falsche Anzahl an Argumenten oder ungültige Eigenschaftszuweisung: "126""
Die Hilfe ist da auch sehr zurückhaltend.
 

'chZE ist die Kanalnummer des Zeitkanals

Call GlobalDim("zeit")

GlobalReDim "zeit(" & CL(chZE) & ")"

zeit = ChnToValue(chZE)

 
Als Weiteres wäre es auch noch interessant, wie ich diese Variable dann der Combobox zuweise.
 
 
Danke und Gruß
Tilo 
0 Kudos
Message 1 of 8
(5,682 Views)
Hallo Tilo!
 
Verzeih mir das ich mit der Tür ins Haus Fall Smiley Wink Tausende Werte in einer ComboBox einem Anwender zur Auswahl anzubieten kann ich mir nicht unbedingt gut bedienbar vorstellen. Ich würde da ehr das Gerät View für verwenden. Da ich mich aber auch irren kann hier die Info wie es geht (wenn auch nur bedingt gut). Dein Ansatz mit ChnToValue ist eine gute Idee! Nur hat man leider bei den SUD ComboBox so was nicht vorgesehen. Bleibt leider doch nur eine Schleife. Performanter wird die wenn man statt dem Befehl CHD den CHDX verwendet. Auf einem zeitgemäßen Rechner hört der Spaß aber wirklich bei 2-3000 Werten auf. Deine Fehlermeldung kann ich nicht nachvollziehen, fehlen da noch Infos?
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 2 of 8
(5,679 Views)

Hallo Matthias,

danke für die Antwort. Ich befürchtete leider, dass sie so ausgefallen könnte. Vorher hab ich meine Berechnungen mit Excel durchgeführt, doch es stößt einfach irgendwann eine seine Grenzen und es ist auch ziemlich langsam, wenn es ums Verrechnen endloser Datenkanäle geht. Allerdings konnte ich dort einer ComboBox mit dem Befehl "ComboBox.RowSource" und ".ListIndex" zügig einen ganzen Zeitkanal mit 64k Zeilen als Auswahlliste zur Verfügung stellen. Schade ich dachte, es ginge hier bei DIAdem ähnlich.

Gruß,

Tilo

0 Kudos
Message 3 of 8
(5,669 Views)
Hi Tilo,
 
Wenn Sie nur "den Start bzw. das Ende eines Auswertezeitraum" darstellen wollen, warum benutzen Sie nicht zwei Editbox Objekte die jeweils den Minimumwert und Maximumwert enthalten?
 
Die ChnToValue() Funktion ist rein dafuer gedacht, alle Kanalwerte an externe Programme durch ActiveX weiterzureichen-- deswegen bekommt man davon ein DBL Pointer, womit VBScript leider nichts anfangen kann.  Hier gibt die DIAdem 11 Hilfe leider taeuschende Information vor.
 
Brad Turpin
DIAdem Product Support Engineer
National Instruments
0 Kudos
Message 4 of 8
(5,656 Views)

Hallo Brad,

danke für die Erklärung.

Der Sinn dieser ComboBoxen sollte es sein, aus dem Zeitkanal einen frei wählbaren Start- bzw. Endwert eines Auswertezeitraumes zu definieren, so dass bei DataBlCopy nur ein entsprechender Bereich kopiert wird. Sollte sich da noch eine Idee auftun, bin ich für diese Vorschläge dankbar.

Gruß

Tilo

0 Kudos
Message 5 of 8
(5,653 Views)

Hallo Tilo!

Bei meinen Anwendungen war es immer sinnvoll auch die Kurve dazu zu sehen. Darum war für mich eine Wahl im Gerät VIEW am besten. Bevor ich jetzt selber hier viel erkläre, schau dir mal bei den mit DIAdem gelieferten Beispielen 'Daten sichten und automatisch analysieren' (Menü 'Hilfe'->'Beispiele', 'Beispiele'->'Sichten und Bearbeiten von Daten'->'Daten sichten und automatisch analysieren'). Das sollte schon mal in die richtige Richtung weisen. Mit DIAdem 11 kann man nun auch statt dem Interaktions-Modus nicht modale Dialoge verwenden, habe ich aber noch nicht ausprobiert.

Matthias

Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 6 of 8
(5,647 Views)

Hi Tilo,

Der Vorschlag von Matthias, die Selektion des Zeitregions interaktiv in VIEW mit Bandkursern zu machen, faende ich persoenlich auch optimal.  Da kann man Start- und Endezeit zusaetzlich digital eintippen wenn man das Koordinatenfenster sichtbar macht.

Aber, wenn Sie aus irgendwelchen Gruenden immer noch das ganze im SUDialog abspielen lassen wollen, dann wuerde ich immer noch zwei Editbox Objekte vorschlagen, ein Startzeit Editbox mit dem Minimalwert des Zeitkanals vorbelegt, und ein Endezeit Editbox mit dem Maximalwert des Zeitkanals vorbelegt.  Diese Editbox Objekte koennen nach jeder Kundeneditieraktion nachschauen, ob der eingetippten Wert erlaubt ist und ungueltige eingetippte Werte nicht zulassen.

Brad Turpin
DIAdem Product Support Engineer
National Instruments

0 Kudos
Message 7 of 8
(5,645 Views)

Hallo Matthias und Brad,

 

danke für die Tipps, werde ich bein nächster Gelegenheit unbedingt mal versuchen.

 

Danke

Tilo

0 Kudos
Message 8 of 8
(5,622 Views)