LabVIEWForum.de
VBS: Zugriff auf einzelne Werte in Messkanal - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: Weitere NI Software (/Forum-Weitere-NI-Software)
+---- Forum: DIAdem (/Forum-DIAdem)
+---- Thema: VBS: Zugriff auf einzelne Werte in Messkanal (/Thread-VBS-Zugriff-auf-einzelne-Werte-in-Messkanal)



VBS: Zugriff auf einzelne Werte in Messkanal - RuffRyder - 27.02.2008 14:08

Hallo,

Ich arbeite seit einiger Zeit mit DIADem. Dabei nutze ich das Programm vor allem um Messdaten zu sichten und in Reports darzustellen.

Nun kommt es hin und wieder vor, dass gewisse Falschwerte entfernt werden müssen. Es handelt sich dabei meist um Peaks welche nur einen Wert groß sind. Ich würde gern mittels eines VBS Scripts die Werte finden, mit NoValues ersetzen und die entandenen Lücken wieder interpolieren.
Leider bin ich was Visual Basic angeht nicht sehr bewandert, noch schwieriger wird das ganze durch die DIADem spezifischen Befehle.

Ich würde nun gern wissen wie ich im DIADem den Zugriff auf einen einzelnen Kanalwert realisieren kann. Ich würde gern den gesamten Messkanal mit einer Schleife Wert für Wert überprüfen. Die Lösung steht und fällt jedoch mit dem Zugriff auf einzelne Kanalwerte.

Ich hoffe jemand kennt die Problematik sowie eine Lösungsmöglichkeit.

Vielen Dank

RR


VBS: Zugriff auf einzelne Werte in Messkanal - Carpe_DIAdem - 27.02.2008 15:25

Hallo RR,

es gibt zwei Varianten um auf einen numerischen Kanalwert zuzugreifen: CHD und CHDX. Letzterer ist der schnellere Befehl.

Syntax: CHD(Zeile, Spalte)
Zeile ist die Zeile innerhalb des Kanals.
Spalte ist der Kanal in beliebiger DIAdem-Schreibweise (z. B. [GruppenNr]/KanalName)

Syntax: CHDX(Zeile, Spalte)
Zeile ist die Zeile innerhalb des Kanals.
Spalte ist der Kanal - hierbei kann aus Gründen der Geschwindigkeit nur die Kanalnummer eingesetzt werden. (Kanalnr = cno([GruppenNr]/KanalName)
Nach dem Verwenden von CHDX müssen die Kanalkennwerte berechnet neu werden (ChnCharacter)

Carpe DIAdem


VBS: Zugriff auf einzelne Werte in Messkanal - RuffRyder - 05.03.2008 14:53

Vielen Dank Carpe DIADem,

Das war genau die Funktion nach der ich gesucht habe.
Ich möchte die Sache jetzt allerdings etwas ausbauen. Und zwar würde ich gern den Parameter "Spalte", also den Kanalname (ich verwende CHD) mit einer String Variable belegen.
Meine Funktion soll nämlich für mehrere Kanäle in gleicher Weise ausgeführt werden. Damit sich das Script auch noch vernünftig bearbeiten lässt, wollte ich die Befehle nicht einfach hintereinander in der Ablauf kopieren sondern mit einer Übergabevariable etwas flexibler gestalten.
Leider bin ich mit meinen Experimenten in puncto Strings in VBS bisher nur auf Granit gestoßen. Ich würde mich freuen wenn du auch hier wieder passenden Rat weisst.
Ausserdem bin ich auf der Suche nach geeigneter Literatur zu VBS. Zu VisualBasic existiert ja einiges, etwas VBS spezifisches wäre mir allerdings lieber.

Vielen Dank

RR


VBS: Zugriff auf einzelne Werte in Messkanal - Carpe_DIAdem - 06.03.2008 16:31

Hallo RR,

das könnte wie folgt aussehen:

Dim sChnName : sChnName = "[1]/MyName"

call SubMachWas(sChnName)

' ------------------------
sub SubMachWas(sNmae)

chd(1, sName) = xxxxx

end sub

Literatur weiß ich leider keine.

Carpe DIAdem