INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


VBS: Zugriff auf einzelne Werte in Messkanal



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.02.2008, 14:08
Beitrag #1

RuffRyder Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Feb 2006

8.00
2003
kA


Deutschland
VBS: Zugriff auf einzelne Werte in Messkanal
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
Alle Beiträge dieses Benutzers finden
to top
Anzeige
27.02.2008, 15:25
Beitrag #2

Carpe_DIAdem Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 94
Registriert seit: Jul 2007

alle DIAdem-Versionen
1989
de


Deutschland
VBS: Zugriff auf einzelne Werte in Messkanal
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
Alle Beiträge dieses Benutzers finden
to top
05.03.2008, 14:53
Beitrag #3

RuffRyder Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Feb 2006

8.00
2003
kA


Deutschland
VBS: Zugriff auf einzelne Werte in Messkanal
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
Alle Beiträge dieses Benutzers finden
to top
06.03.2008, 16:31
Beitrag #4

Carpe_DIAdem Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 94
Registriert seit: Jul 2007

alle DIAdem-Versionen
1989
de


Deutschland
VBS: Zugriff auf einzelne Werte in Messkanal
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
Alle Beiträge dieses Benutzers finden
to top
30


Gehe zu: