Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Entwicklungsingenieur Messtechnik und Fahrzeugelektronik (m/w)
Planung und Durchführung von Projekten im Bereich NFZ-Messtechnik
MBtech Group GmbH Co. KGaA
Magstadt, Sindelfingen bei Stuttugart, Stuttgart
Versuchsingenieur innovative Chassissysteme (m/w)
Erprobung von Chassissystemen, Koordination des Aufbaus von Aggregateträgern
MBtech Group GmbH Co. KGaA
Magstadt
Laboringenieur / Messtechnikingenieur mit Labview (w/m)
Entwicklung und Auslegung von Versuchsaufbauten
Brunel GmbH
Frankfurt/Offenbach
Versuchsingenieur Chassis Erprobung (m/w)
Grundsatzuntersuchungen, Fahrversuche und Freigabeuntersuchungen im Fahrwerkbereich
MBtech Group GmbH Co. KGaA
Magstadt
Applikationsingenieur Abgasnachbehandlung / SCR Dosiermodul (m/w)
Spezifikation, Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung
MBtech Group GmbH Co. KGaA
Fellbach
Entwicklungsingenieur Getriebemechatronik (m/w)
Getriebe und Hybrid Aufgabenstellungen
MBtech Group GmbH Co. KGaA
Fellbach, Stuttgart
Entwicklungsingenieur Fahrzeugapplikation Verbrennungsmotor (m/w)
Applikation, Test und Validierung von Motorsteuergerät-Funktionen auf den Gebieten Fahrbarkeit und Regelungssysteme
MBtech Group GmbH Co. KGaA
Fellbach
Applikationsingenieur Abgasnachbehandlung /-OBD Otto (m/w)
Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung / - OBD
MBtech Group GmbH Co. KGaA
Fellbach
Versuchsingenieure / Produktionsingenieure (m/w)
Prozessentwicklung, Versuchswesen in den Bereichen Messtechnik, Elektronik, Getriebetechnik
über Steinbach Partner Executive Consultants
Region Stuttgart und Unterfranken
Versuchsingenieur Betriebsfestigkeit (m/w)
Auswerten von Messdaten, Erstellung von Autosequenzen
MBtech Group GmbH Co. KGaA
Wörth, Untertürkheim
Versuchsingenieur (m/w) Sonderversuch
Entwicklung neuer Testmethoden im Sonderversuch
Continental AG
Hannover
Test Engineer (m/w)
Durchführung und Analyse von Versuchen an PKW-Innenraumkomponenten
Johnson Controls Automotive Experienc über Scheerer Werbung GmbH
Burscheid

Stand: 10:34:43 06.02.2012



.
 
Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Ersetzen von Werten mit NoVal
01.02.2010, 10:45
Beitrag #1
DIAdem-Version: 11
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
Ersetzen von Werten mit NoVal

Hallo an alle,
ich bin gerade dabei mal wieder ein paar Daten mit DIAdem zu Klassieren weil das wesentlich schneller geht als mit Excel. Nun habe ich aber das Problem das Klassierdaten die Außerhalb meiner Klassiergrenzen liegen das Makro stoppen. Ist es möglich nach dem Öffnen der Quelldatei und vor dem Klassieren erst alle Werte außerhalb des Klassierbereichs mit NoValu zu ersetzen?
Wie muss ich das in mein Script einbauen?
Vielen Dank schonmal, ich hoffe Ihr könnt mir weiterhelfen.



Code:
'-------------------------------------------------------------------------------
'-- VBS-Script-Datei
'-- Neu erstellt am 07.10.2009 12:37:42
'-- Ersteller:
'-- Kommentar:
'-------------------------------------------------------------------------------
Option Explicit  'Erzwingt die explizite Deklaration aller Variablen in einem Skript.

Dim MyChnName

MyChnName = ChnLinGen("[1]/Häufigkeit Sztl",0,0,284)
MyChnName = ChnLinGen("[1]/Häufigkeit Sztr",0,0,284)


Dim oMyResultsList, Element
Set oMyResultsList = Navigator.Display.CurrDataProvider.ResultsList
For Each Element in oMyResultsList.Elements
  If Element.IsKindOf(eSearchFile) Then
    
    Call Navigator.LoadData(Element,"Load") 'Datei laden

  
dim myZwSp


ClassNo          = 284
ClassBegin       = -22318
ClassEnd         = 79119.09375
Call ChnHistogram("[2]/Sztl [µm\m]","[1]/Klassen Sztl", myZwSp,"NoBeginEnd","absolute") '... Y,E,E,ClassMeth1,FrequencyType

ChnAdd"[1]/Häufigkeit Sztl",myZwSp,"[1]/Häufigkeit Sztl"
'Kanäle kopieren (Kanal1 + Kanal2 = Kanal3)




ClassNo          = 284
ClassBegin       = -22655
ClassEnd         = 78810.64844
Call ChnHistogram("[2]/Sztr [µm\m]","[1]/Klassen Sztr", myZwSp,"NoBeginEnd","absolute") '... Y,E,E,ClassMeth1,FrequencyType

ChnAdd"[1]/Häufigkeit Sztr",myZwSp,"[1]/Häufigkeit Sztr"
'Kanäle kopieren (Kanal1 + Kanal2 = Kanal3)



    Call GroupDel(2)    'beim Laden neu entstandene, Gruppen löschen  
    
  
    
  End If
Next

MfG STG

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren



01.02.2010, 17:19
Beitrag #2
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Ersetzen von Werten mit NoVal

Hallo STG,

die Problematik wird in der Hilfe unter Vorgehensweisen / Mathematik / Eliminieren von Ausreißern durch NoValues recht gut beschrieben. Oder such einfach nach dem Befehl CTNV. Es gibt auch einen Link zu einem VBS Beispiel...

Mit Hilfe des Taschenrechners (der ja uch per Script ausgeführt werden kann) wird eine Formel der Art

PHP-Code:
Ch("Group2/Result") = Ch("Group1/Input")+CTNV(Ch("Group1/Input")>10
berechnet...

Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2010, 11:56
Beitrag #3
DIAdem-Version: 11
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Ersetzen von Werten mit NoVal

Hallo,
vielen Dank für Deine Antwort Bruno, hat zwar ne ganze weile gedauert bis ich es zum laufen bekommen habe aber jetzt gehts:

Code:
Call ChnCalculate("Ch(""[2]/[1]"")=Ch(""[2]/[1]"")+CTNV(Ch(""[2]/[1]"")<(-26))")

Kann ich die Bedingung auch durch 2 Bedingungen die ODER-Verknüpft sind ersetzen?

Mfg STG

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2010, 18:26
Beitrag #4
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Ersetzen von Werten mit NoVal

Hallo STG,
ich habe es zwar jetzt nicht getestet, aber da CTNV nur den Boolschen Wert der Bedingung in NoValue (bzw. 0) umwandelt, kannst Du auch zwei Bedingungen verknüpfen.
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2010, 09:50
Beitrag #5
DIAdem-Version: 11
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Ersetzen von Werten mit NoVal

Hey Bruno,
ich versuchs jetzt schon wieder seit über einer Stunde diese blöde Zeile zum laufen zu bekommen.... leider ohne erfolg.
Hab es mit einer Zwischenvariable versucht, habe auch versucht die beiden Bedingungen gleich in die Zeile reinzuschreiben. Hat leider nicht geklappt.
Also irgendwie find ich Excel VBA viel einfacher. :-S

Hier mal meine Versuche:

Code:
dim B1
B1=("(ch(""[1]/[3]"")<1500)OR(Ch(""[1]/[3]"")>1800)")
call ChnCalculate("Ch(""[1]/[3]"")=(Ch(""[1]/[3]"")+CTNV(Ch(""[1]/[3]"")=B1)")


Code:
call ChnCalculate("Ch(""[1]/[3]"")=(Ch(""[1]/[3]"")+CTNV(Ch(""[1]/[3]"")=("(ch(""[1]/[3]"")<1500)OR(Ch(""[1]/[3]"")>1800)")
)")

Habe es auch noch in anderen Varianten probiert. Hoffe oben Stimmen die Klammern und "-Zeichen, hab den Code nicht kopiert, nur abgeschrieben. Mein Dia läuft auf einem Internetfreien Rechner - ...leider.
Auf jeden Fall habe ich schon sehr viele Varianten probiert, die einzige die Funktioniert ist die
call ChnCalculate(........CTNV....<1500)
call ChnCalculate(........CTNV....>1800)

Dauert ja aber doppelt so lang, weil Dia die Daten dann auch doppelt durchsuchen muss.

Vielen Dank schonmal und viele Grüße
MfG STG

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2010, 11:16
Beitrag #6
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Ersetzen von Werten mit NoVal

Hallo STG,

versuche einmal diese Variante:

PHP-Code:
Call Calculate("Ch(""[1]/[3]"")=Ch(""[1]/[3]"")+CTNV(Ch(""[1]/[3]"")>1800 Or Ch(""[1]/[3]"")<1500)",NULL,NULL,""

Und wenn Du mit Excel VBA klar kommst, ist DIAdem doch ein Kinderspiel Big Grin...
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.02.2010, 12:59
Beitrag #7
DIAdem-Version: 11
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Ersetzen von Werten mit NoVal

(08.02.2010 11:16)Bruno schrieb:  Hallo STG,

versuche einmal diese Variante:
PHP-Code:
Call Calculate("Ch(""[1]/[3]"")=Ch(""[1]/[3]"")+CTNV(Ch(""[1]/[3]"")>1800 Or Ch(""[1]/[3]"")<1500)",NULL,NULL,""

Hallo Bruno,
diese Variante funktioniert sehr gut. Vielen Dank an dieser Stelle.
Ich weiß nur nicht wieso jetzt am ENDE )",NULL,NULL,"") steht.

MfG STG

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.02.2010, 10:15
Beitrag #8
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Ersetzen von Werten mit NoVal

Hallo STG,
das sind die optionalen Parameter [CalculateSymbols], [CalculateValues] und [CalculateTargetUnit].
Ich habe den Befehl per Aufzeichnungsmodus und Taschenrechner erstellt...
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu: