Wie Diadem Script im LabView am besten erstellen?

Guten morgen zusammen,
 ich bearbeite im Moment ein Projekt, in dem Messdaten aus LV in Diadem Report umgewandelt werden, dazu übergebe ich die Messkanäle und ein Script. Das Script habe ich in einen großen String getippt, der Schlüsselworte wie "PFAD1" enthält, die dann mit "String suchen und ersetzen gegen die richtige Werte ausgetauscht werden. Dann wird dies in eine Script Datei gespeicher, die an Diadem übergeben wird.
Gibt es eine Möglichkeit dies "eleganter" zu lösen?
Ich fände es praktisch, wenn man Diadem Code so erzeugen könnte, wie mit dem "Formelknoten", dies wäre viel übersichtlicher.
Gruss
N.Schnitzler

Ja das wäre eine Lösung, aber ich kann es den Usern nicht zumuten sich selber mit Diadem-Script zu beschäftigen, die Möglichkeit mit den String Konstanten habe ich als erstes getestet, dies wird aber viel zu unübersichtlich.
Meine jetzige Lösung sieht so wie im Anhang aus. 
Ein VB-Script/Diadem-Script - Knoten wäre eine sinnvolle Ergänzung, da man ja den Export eines Scriptes an Diadem anbietet, sollte man auch die programmatische "Konstruktion" des Scriptes ermöglichen.
Gruss
N.Schnitzler
PS. Dies ist nur ein kleines Script als Beispiel
Message Edited by N.Schnitzler on 01-16-2009 04:46 AM
Attachments:
Script.JPG ‏163 KB

Similar Messages

  • Controlling dialog boxes in a DIAdem script from LabVIEW

    I have a DIAdem script that prompts the user for the data file it will process. The datafile was created from a labview test routine.   I can now run the script from LabVIEW using the "DIAdem Run Script.VI", but in the interest of automation, I would like to have LabVIEW place the filename in this dialog.  I would like to keep the dialog in the script, since sometimes we run this script manually. (without LabVIEW)
    Bill W.

    Bill,
    Which dialog are you using to prompt for the file name?  It
    appears that you cannot send any information to the script through the
    Run Script.vi.  However, you can call automation commands using
    the "DIAdem Run Automation Command.vi".  If you want to pass data
    to the script, then you can set a Global Variable, or a DIAdem Script
    Variable.  As an example, you could use the global variable, T1,
    and send "T1 := 'myfile'".  When the script is executed, that
    variable will be accessible within the script and it will be set to
    "myfile".  You could also set the FileDlgName variable to your
    file name.  Then it may be possible to send those variables to
    your dialog so that they are automatically populated.
    Good Luck!
    Tyler Tigue
    NI

  • Error while runing diadem asynchronous script from labview on dual core processor

    Urgent need of some help / advice here!
    Single core runs fine... dual core produces error: Error in <XYaxis.vbs> (line: 17, column: 1): Error while opening object. The object currently open has no subobjects. Forgotten ObjClose?
    The main software built in labview used for daq and analysis generates a PDF report on completion of a test, utilising diadem. For this I use the diadem express vi in labview to generate a multi page report, whereby I use for loop to iterate an array of channels for each page. This for loop has a shift register too. After each page I run a script to adjust a few parameters like linear/log, begin/end and line thickness using the diadem connectivity tookit. See script below:
    Call GraphObjOpen("2D-Axis1")
    Call GraphObjOpen("2DXAxis8_1")
    D2AxisXDivMode = "linear"
    D2AxisXScaleType = "begin/end manual"
    D2AxisXBegin = 20
    D2AxisXEnd = 20000
    Call GraphObjClose("2DXAxis8_1")
    Call GraphObjOpen("2DYAxis8_1")
    D2AxisYDivMode = "linear"
    D2AxisYScaleType = "complete automatic"
    D2AxisYBegin = 0
    D2AxisYEnd = 0
    Call GraphObjClose("2DYAxis8_1")
    FOR c = 1 TO CurveNoMax
    If D2CurveObj(c) = "" Then Exit For ' c
    Call GraphObjOpen(D2CurveObj(c))
    D2CurveLineWidth = 0.75
    Call GraphObjClose(D2CurveObj(c))
    NEXT ' c
    Call GraphObjClose("2D-Axis1")
    There is also a screenshot of the vi: (script file is generated by the Dscript vi and saved to disk. then path is passed to the diadem script vi.)
    What I find is, after the first report page is complete in diadem the second page ALWAYS shows the error as shown at the top. However, on my P4 laptop with single core (no hyperthreading) its runs FINE EVERY TIME with any given number of channels/pages in the report.
    My current chain of thought is that the superfast dual core is doing something in parallel therefore not waiting for the previous page to complete or finish closing its object!? however, in my for loop I use a shift register as named before, surely this kind of loop cannot be divided over more cores/parallel threads? as it has to wait for the response of the previous.!?!? Im running LV 8.6 on WinXP for this project and I didnt even think multicore processing for for loops is included in this version.
    The other thing is... this script used to run fine on the dual core until I added the last part that uses a for loop to get every line of the graph to be the thinkness I need. Is this for loop the culprit? Can I stop it from executing over multiple cores/threads? I read a post saying that from diadem 8 there was multi core support. this triggered my doubt
    As always any comments are most appreciated
    AL
    :. LV2010 SP1 ... W7 .:
    Solved!
    Go to Solution.

    Hi Al,
    I have a theory, but only you can test it.  In your VI screenshot, you have the boolean input for the DIAdem Execute Script.vi set to asynchronous=TRUE.  My theory says that if you change that boolean (and all others like it) to asynchrous=FALSE that the error will not occur on the multicore computer.  The other thing you could try would be to consolidate all REPORT commands that pertain to one REPORT page into a single ActiveX call to DIAdem.  In the screenshot below you have at least 2 separate VIs calling DIAdem, so that's at least 2 separate ActiveX calls for one REPORT sheet.
    Here's what I think is going on.  On a multicore computer there is the potential for different ActiveX commands from LV to DIAdem to execute on different cores, which may result in a timing problem on the DIAdem side.  DIAdem 11.x and earlier runs exclusively on 1 CPU, so the incoming ActiveX commands should be sequenced correctly by DIAdem's ActiveX to-do list.  Theoretically DIAdem should serialize all the incoming ActiveX commands (regardless of which CPU processed them) in the order that they arrived at the DIAdem ActiveX server(s).  On the sending side, LabVIEW's dataflow execution should theoretically guarantee that all the ActiveX requests are being sent in the correct order.  But it is theoretically possible that the operating system's ActiveX processing queue might not send all the ActiveX commands to DIAdem in the order that it receives them from LabVIEW-- IF YOU'VE SELECTED ASYNCHRONOUS PROCESSING.
    See if these clues help,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Diadem Script von 9.0 nach 2012

    Hallo DIAdem-Gemeinde,
    ich befinde mich leider in der glücklichen Position, ein altes DIAdem Script, welches unter Diadem9.0 geschrieben wurde, in Diadem2012 anzupassen.
    Im Moment macht mir folgendes Problem Sorgen:
    Vor jeder Berechnung werden die aktuellen Kanalnamen in ein array gespeichert mit name(i)= ChnName(i). Wenn ich das mit allen 501 Kanälen machen möchte, geht das ganze nur bis i = 450. Gibt es eine max. Begrenzung der Einträge eines arrays in DIAdem bzw. vbs?
    Wenn ich nun versuche das ganze anders sinnvoll zu lösen, verstricke ich mich nur in mehr Fehler... Das ganze wir dazu gemacht, um nach der jeweiligen Berechnungsroutine die Kanalnamen wieder zurück zu kopieren. Sonst steht da nur noch Copy1 bis... und MatScalMul1 bis....
    Gibt es dafür eine sinnvolle Alternative? Und wie greife ich generell auf Kanäle zu? Wenn ich mit den alten Befehlen wie ChnName(i) z.b. darauf zugreife, benutzt DIAdem dann den Index oder die Kanalnummer?
    Vielen vielen Dank schonmal im Voraus,
    ich hoffe ich finde eine geeignete Lösung, langsam geht mir die Puste aus
    Grüße

    Hallo ihr beiden,
    also vielleicht kann ich ein wenig mehr über das Skript erzählen. Weil es an die 5500 Zeilen hat und ich nicht weiß ob ich es der "Öffentlichkeit" zugänglich machen darf, mal ein paar Erklärungen. Im Prinzip besteht das Skript aus einzelnen Subroutinen, die die gewonnenen Messdaten erst einlesen und dann sukzessive weiter verarbeiten (Nullpunktverschiebung, Umrechnung in physikalische Einheiten, andere Berechnungen mit Hilfe einer DLL und darin befindlichen c++ Routinen).
    Da das vbs Skript unter Diadem 9 von (leider wenig begabten) Programmierern erschaffen wurde, gibt es bei meiner "Implementierung" in Diadem 2012 einige Probleme.
    Mit das größte Problem ist jedoch, dass die Übergabeparameter für die dll bzw. die c++ Routinen in die Kanäle 470-500 geschrieben werden. Die dll(gpiexl) ist so (schlecht) programmiert, dass sie sich aus Diadem die Werte (Kanäle 470-500) nimmt und die Ergebnisse der Berechnung wiederrum in Kanäle zwischen 470 und 500 schreibt. Nun konnte man im alten Diadem ohne dynamische Kanalverwaltung noch auf Kanäle mit beliebig großem Index zugreifen, diese wurden direkt erstellt. Im neuen Diadem kann man leider keinen Kanal 400 erstellen wenn die bisherigen Kanäle nur bis z.B. 45 gehen. Daher habe ich zuerst 500 Kanäle mit jeweils 32768 1sen erstellen lassen in die dann die Werte eingelesen werden (zumindest erstmal in die ersten 58).
    Im alten Skript wird vor jeder Operation der Name und der Typ des Kanals folgendermaßen gespeichert:
    for i=1 to GlobUsedChn
    name(i)= ChnName(i)
    sondentyp(i) = CC(i)
    next
    und nachher wieder andersherum zurück gelesen.
    Alle Operationen wie Messwerte verkürzen, einzelne Abschnitte ausschneiden wurden bis jetzt auch immer für jeden Kanal ausgeführt. Nun habe ich das Skript soweit angepasst, dass es vor jeder Berechnung die Kanalnamen wie oben angegeben speichert und nachher zurück liest. Problematisch wird dies jedoch in den Subroutinen wo eine Zwischengruppe erstellt wird, in der die Werte der Berechnung abgelegt werden. Im alten Diadem 9.0 konnte man auf die jeweiligen Kanäle im aktiven Datenset noch mit (i) zugreifen, im neuen muss ich das auch irgendwie ändern. Daher war meine Frage ob ich bei einer Operation wie 
    call matscaladd(i,mittelwert,1)
      den Namen des Kanals erhalten kann und damit nicht vorher alle Namen einlesen und nachher wieder überschreiben muss? Denn kommen neue Kanäle durch kopieren etc. hinzu, verzettelt man sich schnell und es gibt Chaos...
    Noch eine Frage: Ich habe Diadem 9.0 neu installiert und plötzlich gibt es bei dem Befehl:
    call chncopy (cno("A"),C_Zwischenspeicher1)
     die Fehlermeldung dass auf den Kanal C_Zwischenspeicher1 nicht zugegriffen werden kann. C_Zwischenspeicher 1 = 493 wird aber vorher zugewiesen und funktioniert auch einwandfrei unter anderem in anderen Diadem 9.0 Installationen. Es existieren nur Kanäle bis ca. Index = 63. Sollte aber in den alten Diadem Versionen kein Problem sein. Gibt es vielleicht eine kleine versteckte Option der dynamischen Kanalverwaltung in Diadem 9.0 die ich bei der Neuinstallation übersehen hab?
    Noch eine letzte Frage zum Schluss: 
    Sollte ich mir jetzt lieber angewöhnen das Skript konsequent in die Objekt-orientierte Zugriffsweise umzuschreiben oder lieber bei den alten Codes bleiben?
    Vielen Dank schon im Voraus für eure Hilfe!!!
    P.S.: Raphael: Ich hatte wohl übersehen, dass ich bei den arrays nur dim name(501) initialisiert hatte aber sondentyp() übersehen hatte -.- Nachts um halb zwei darf das dann auch schonmal passieren... 

  • Halt script with labview

    let's say I execute a script using the "diadem run script.vi" due to user request.  Later, the user wants to cancel because it was taking longer than expected.
    How do i halt the script using labview tools?
    jim
    Solved!
    Go to Solution.

    Hi Jim,
    This is possible, but not in the way I believe you are hoping.  I know of no way to halt a VBScript running in DIAdem from the "outside".  If you were staring at DIAdem you could hit the <ESC> key, but any subsequent request from LabVIEW will go onto DIAdem's "Script Stack" and will not be executed until the first VBScript is done naturally.
    Of course you have to run all your LabVIEW calls to DAdem asynchronously, or nothing helps.
    So what you can do is set up each VBScript that you think you might want to abort to periodically poll a DIAdem global variable, say "B9", and terminate from inside the VBScript if B9=TRUE.  The command interface from LabVIEW to DIAdem (ToCommand) goes onto the DIAdem Script Stack, but the variable interface from LabVIEW to DIAdem (ToDataSheet) does not.  So you can "poke" variable B9 from LabVIEW while the first VBScript is running and affect it's behavior, but only if and when that VBScript uses that (B9) variable you poked.
    Of course none of this helps if your VBScript is busy waiting for a single VBScript command to execute, and it only helps if your VBScript is running multiple activities, between which it can poll the (B9) variable.
    Hope that helps,
    Brad Turpin
    DIAdem Product Support Engineer

  • Frage zu Kanalbenennung in DIAdem-Script

    Ich habe mir im DIAdem-Script folgende Kanalbenennung erstellt:
    Data.Root.ChannelGroups("Statistik_pcs_Q3").Channels("ArithmeticMean").Name = "ArithmeticMean_alle40"
    Zu dieser Benennung hätte ich jetzt gern noch automatisch den Dateinamen hintendran gehangen.Wie kann ich das lösen?

    Hallo SAFU,
    Wenn Sie diesen Dateiname schon in einer VBScript Variable zu Verfuegung haben ( sagen wir "DateiName" ), dann koennen Sie den neuen Kanalname auf dieser Weise zusammenstellen:
    KanalName = "ArithmeticMean_all340" & " - " & DateiName
    Wenn Sie aber den Dateiname dynamisch ablesen moechten, Koennen Sie das durch die Kanaleigenschaften "SourceDataFilePath" und SourceDataFileName" oder durch die globalen Variablen "DataFile" oder "DataFileName" realisieren.
    Gruss,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Using variables in a calculation function in Diadem script

    Hey guys,
    I'm new to working with Diadem Scripts.  I have tried the two different ways below to make the values of a channel equal to the results of a formula containing created variables.  I can do it if the formula contains values in place of the variables using the calculator method.  I would appreciate any guidance on how to correct the syntax in the below scripts.
    Option Explicit 'Forces the explicit declaration of all the variables in a script.
    dim a, b, c
    a = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef1").Value
    b = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef2").Value
    c = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef3").Value
    Ch ("[2]/ROP (ft/hr)") = a + b* Ch("[2]/Backhead Pressure (psi)") + c* Ch("[2]/Backhead Pressure (psi)")^2
    Or
    Option Explicit 'Forces the explicit declaration of all the variables in a script.
    dim a, b, c
    a = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef1").Value
    b = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef2").Value
    c = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef3").Value
    call ChnCalculate("Ch(""[2]/ROP (ft/hr)"")="&a+&b"*Ch(""[2]/Backhead Pressure (psi)"")+"&c"*Ch(""[2]/Backhead Pressure (psi)"")^2")

    I think you need to use channel name strings of the format "Group Name/Channel Name" in your ChnCalculate function.  I usually use a formula, a symbol array, and a value array to get this done:
    Dim a, b ,c, sFormula, aSymbols, aValues
    Redim aSymbols(6), aValues(6)
    aSymbols(0) = "a"
    aSymbols(1) = "b"
    aSymbols(2) = "c"
    aSymbols(3) = "A"
    aSymbols(4) = "B"
    aValues(0) = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef1").Va
    lue
    aValues(1) = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef2").Value
    aValues(2) = Data.Root.ChannelGroups(2).Channels("rop regression formula").Properties("ResultNonLinearFitCoef3").Value
    aValues(3) = Data.Root.ChannelGroiups(2).Channels("ROP (ft/hr)").GetReference('ref type')
    aValues(4) = Data.Root.ChannelGroiups(2).Channels("Backhead Pressure (psi)").GetReference('ref type')
    sFormula = "Ch(A) = a + b*Ch(B) + c*(Ch(B))^2"
    Call ChnCalculate(sFormula,aSymbols,aValues)
    CLAD

  • Is there any changes in the DIAdem script between DIAdem 9.x and DIAdem 10.x ?

    Hello,
    I have got a question about DIAdem Script.
    I saw the compatibility problem described in KB.
    'Why do my DIAdem 9.1 Scripts not work in DIAdem 10?'
    Many problems were solved, but some case were not.
    So I guess there is some changes in the DIAdem script between DIAdem 9.x and DIAdem 10.x
    Thanks for your help.

    Hi supportko...
    Yes, there were a lot of new features introduced in DIAdem 10.0, and 10.1.  These are described in detail in each product's ReadMe file, and also in the Online Help under  the "Index" tab at the node "DIAdem>>New Features>>New Commands and Variables"-- you will see 2 sections there:  "Version 10.1", and "Version 10.0", showing you exactly what has changed.  In most cases there is a compatability switch whenever a new feature creates a compatability issue for scripts developed in a previous DIAdem version.  R&D works very hard to minimize the impact of new features on existing VBScript applications.
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments
    Message Edited by Support on 05-02-2007 03:56 PM

  • Example for loading a csv file into diadem from a labview application

    Hi everyone, i'm using labview 8.2 and DIAdem 10.1.
    I've been searching in NI example finder but I had no luck so far.
    I have already downloaded the labview connectivity VIs.
    Can anyone provide a example that can help me loading a csv file into diadem from a labview application?
    Thanks

    Hi Alexandre.
    I attach an example for you.
    Best Regards.
    Message Edité par R_Duval le 01-15-2008 02:44 PM
    Romain D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    NIDays 2010 : Conférence mondiale de l'instrumentation virtuelle
    >>Détails et Inscription<<
    Attachments:
    Classeur1.csv ‏1 KB
    Load CSV to Diadem.vi ‏15 KB

  • Same code gives different results in Matlab Script in Labview and Matlab

    I am implemeting a Matlab code into a LabVIEW application using Matlab script. When I import the exactly same code to the Matlab Script in LabVIEW it gives a different result than it is in Matlab. This code is a simulation code including first kind bessel functions. Using LabVIEW 7.1 and Matlab R14 service pack 3.

    Labview 8.5
    Matlab R2009b
    Attached are the graphs produced by matlab script in labview and in matlab.
    The minimum of graph produced by matlab code is below 1 and that in labview is above 1.
    Thanks a lot for your reply.
    Sorry, I haven't quantified the "sometimes" yet. 
    Attachments:
    matlabsResult.jpg ‏29 KB
    LV.png ‏84 KB

  • Scripting in LabVIEW

    Hi, could you please let me know what is the easiest scripting method that can be used in LabVIEW, we have engineers that know nothing about LabVIEW, they want an scripting language to do simple things like assignments , for loop, while loop and basic math functions such Mean . Is math script ( Matlab) the best choice?
    The problem I have with Math Script is , I think it is good for complicated mathematics but it can't be used as a command script for LabVIEW ?
    For example if I have this line in that scripting window
    vpp= 10
    then I would like to pass that value to a VI, if I don't have this line then there is no need to have that VI
    Is there any LabVIEW scripting language that can be good for this purpose?

    Thanks jcarmody and Yamaeda for your suggestions
    Before working on your idea about using Paython I would like to show you one example and if you think the toolbox can handle that I will continue
    This is one of the m files ( matlab ) provided by them:
    As you can see below they can call functions , use basic math functions and use basic commands such as if , for , while?
    They would like to have an environment like this but when for example they call a function I don't want to run a Matlab or Paython code. I want to run a SubVI which is specified for that command and then we goto to the second line and continue. SO everything should be implemented in LabVIEW but I want to give them this capability to write scripts (since they don't know LabVIEW) but everything should be execute in LabVIEW. Can the Paython toolbox give me this capability?
    If not do you have any suggestion
    vTest = 0.8; %default voltage value for current measurements is 0.8V
    end
    atpMode = 2;
    atpAddress = 3;
    tpCfg = 'ATP';
    tpAnaBuff = 'OFF';
    configATP(dutNum,ATPmode,ATPaddress,tpCfg,tpAnaBuff);
    %This function sets up the DUT test mode and test point
    vdd = [];
    vpp = [];
    configTIBVolt(vdd,vpp,vTest);
    % This funciton configures the analog voltages on the test interface board
    % Variables that are empty would retain their previous values
    bufferOn = 0;
    configDUTRelay(bufferOn);
    % This function configures the relay that selects the analog buffer on the
    % DUT board. For current measurements, the buffer should be bypassed
    k = 1;
    trimCode = 0;
    while(trimCode(k) < 8 && trimCode(k) > -9) %iBias Trim is 2's complement 4-bit
    numBits = 4;
    trimCode_twosComp = dec2twosComp(trimCode(k),numBits);
    % this function converts the decimal trimCode into its 4-bit two's
    % complement form since the iBias trim codes are in two's complement
    regData = ['xxxx',trimCode_twosComp];
    regAddr = 13;
    regReadModifyWrite(dutNum,regAddr,regData)
    % This function reads the register value, modifies only the selected bits,
    % (i.e. those that aren't 'x'), then writes back to that register.
    % This is to avoid overwriting unrelated bits in the same byte
    dutOut = 'CURR_MEAS';
    pxiAnaIn = 'CURR_MEAS';
    dutVpp = [];
    dutVdd = [];
    configTIBMux(dutNum, dutVpp, dutVdd, dutOut, pxiAnaIn);
    % This function configures the test interface board analog switches for
    % VDD, VPP, DUTout, and PXIanaIn
    % Variables that are empty would retain their previous values
    pauseTime = 1e-3;
    pause(pauseTime);
    % Wait for everything to settle.
    if( k>2 && direction(k)~=direction(k-1) )
    % If the sign of the error changed, then the best trim code is
    % either this one or the one just before it
    [Y, minIndx] = min(abs(iBias-targetIBias));
    % Finds the index with the min error
    iBiasTrimCode = trimCode(minIndx);
    iBiasMeas = iBias(minIndx);
    % assigns values to output variables
    trimCode_twosComp = dec2twosComp(iBiasTrimCode,numBits);
    regData = ['xxxx',trimCode_twosComp];
    regReadModifyWrite(dutNum,regAddr,regData)
    % write the best trim code t0 the DUT
    return
    % Exit the function
    end
    trimCode(k+1) = trimCode(k) + direction;
    k=k+1;
    end
    % If we've reached this portion of the code, then we failed to find an optimal
    % trim code. We should just return the last values, since these are as close
    % as we can get to the target (i.e. we're at the edge of the range)
    iBiasTrimCode = trimCode(end-1);
    iBiasMeas = iBias(end);

  • How to execute a "real" VBS command in DIAdem script?

    Hello,
    I've some troubles to execute specific "real" VBS command lines in DIAdem script: 
    e.g.: 
    Workbooks.OpenText filname, DataType:=xlDelimited, tab:=True, DecimalSeparator:=",", ThousandsSeparator:="."  
    Using other writings as
    Workbooks.OpenText(filname, DataType:=xlDelimited, tab:=True, DecimalSeparator:=",", ThousandsSeparator:=".")Workbooks.OpenText filname, "DataType:=xlDelimited", "tab:=True", "DecimalSeparator:=','", "ThousandsSeparator:='.'"  
    don't help, I always get error messages. It seams, that DIAdem has problems with recognition of  := .
    How can I include such kind of VBS command line in a DIAdem script without getting problems?
    Sven

    Hi,
    thanks for answer, but unfortunately its not over yet.
    I tryed the following possibilities:
    Set create_tabfile = Excel.Workbooks.OpenText(Filename,,,xlDelimited,,,True,,,,,,,,".",",",,True)Set create_tabfile = Excel.Workbooks.OpenText(Filename,,,xlDelimited,,,1,,,,,,,,".",",",,1) Set create_tabfile = Excel.Workbooks.OpenText(Filename,,,"xlDelimited",,,True,,,,,,,,".",",",,True)  Set create_tabfile = Excel.Workbooks.OpenText(Filename,,,"xlDelimited",,,1,,,,,,,,".",",",,1)  Set create_tabfile = Excel.Workbooks.OpenText(Filename,,,1,,,True,,,,,,,,".",",",,True)Set create_tabfile = Excel.Workbooks.OpenText(Filename,,,1,,,1,,,,,,,,".",",",,1)but always I get some error messages. I assume, that there is just a format error in the command line, may you help me out with some hints, how to do it right?
    Regards
    Sven

  • Command line script in LabView 2010 Win7

    Hi guys,
    How to execute a CL script in LabView 2010 and pass parameters to it?

    Hi JoVMo,
    you'll find it in the connectivity section. If you need some other functions and you don't know where it is, then you can search it. Click on the search button in the function palette from the blockdiagram.
    Hope it helps.
    Mike

  • Using Matlab script in Labview

    Hello,
    I am trying to use matlab script in labview to post process the sampled signals from DAQ(attached is the vi I tried)
    After every 10 seconds I want to the send the sampled voltage data to matlab scritp block which does 1) detection of peaks using peakdetection function and plots the obtained peaks on the sampled signal 2) calculates standard of 10 secs data and plots on chart.
    But I am confused of 1) how to call the peakdetection function inside the matlabscript block
    2) How to send the 10secs data of voltage and time values to the matlab script block
    3) How to plot the signal and detected peaks on the same plot (which can be done in matlab using holdon as shown in the atached vi).
    Can someone suggest for implementing these .
    Thanks.
    Solved!
    Go to Solution.
    Attachments:
    Labview&Matlab.vi ‏55 KB

    Thanks  GabeG,
    Now, Labview&Matlab_TestNoAq.vi  is woking Good and for the second one  Labview&Matlab_TestAq.vi it is showing error as shown in the attached image when these ines of code are present in the matlab scrtip 
    subplot(2,1,1),plot(maxtab(:,1),maxtab(:,2),'*r');
    SDN=std(maxtab(:,1));
    and SDN output of the Matlab script
    but when I removed these it is working fine(but not showing the detected peaks).
    Can you suggest me a solution for the above and also can I know the best method to add one more channel that samples another device signal which has to be processed in this same way(Signals sampled from 2 devices have to be porcessed in this same way).
    Thanks.
    Attachments:
    Script_Error.JPG ‏133 KB

  • Is there a DIAdem Script command that can automatically create folders/directories in Windows?

    Hi there!
    I need to automatically create folders/directories in the Windows file system? Is there a DIAdem Script command to do this (like the way you do it in DOS/Unix or even Matlab (mkdir command)? Thanks!

    Hi,
    there are two ways to create folders within a DIAdem script:
    Call FolderCreate("d:\New Folder")
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    Call fso.CreateFolder("d:\New Folder 2")
    Christian

Maybe you are looking for

  • IBook hard drive errors

    My brother's iBook G4 12" started freezing randomly, and when I tried to run disk utility it would give me lots and lots of errors. Apple Hardware Test spit some errors which I don't remember (unfortunately), and then the hard drive stopped showing u

  • Chart legend : adding tooltip on each item

    Hi, My app displays a simple Linechart and its legend. I'm surprised to see that the Legend component doesn't provide many possibilities in accessing each of the items that compose it. First, I'd like to add a tooltip on each item of the legend. Then

  • Preview Icons vanishing when dragged into new folder.

    When dragging an image file (with a preview icon showing the small representation of that image) is dragged from it's original folder to a new one, the preview disappears and is replaced with a generic "EPS" or "Jpeg" grey icon. Futher, if I get info

  • I can no longer pdf Word 1997-2003 documents in Acrobat X Pro... help!

    This has only happened since I updated at the beginning of the week.

  • Creating an alpha channel in an odd way ?

    My question is about the functionality of After Effects. I highly doubt it's possible but would like to run it through people who would know. My question may not be clear as I'm not sure how to describe it! I'm wondering if I can create an alpha chan