CVI 8.0 / Diadem 10.0

Hi,
I'm  thinking about introducing DIAdem to our LabWindows/CVI applications. However, I learned on a DIAdem product presentations that CVI 8.0 does not yet has the full capabilities when it comes to generating TDM files.
Can anyone list the limitations (e.g. compared to the LabView connecitivity VI's) please. (If I remember right, it had to to with properties of channels or channel groups.)
I'm sure CVI will get this functionalities some day.  Are there any workarrounds in the meantime?
Thanks,
Greg

Hi Greg,
I'm going to let the CVI support guys answer that question about the built-in TDM functions in CVI, but as for a workaround, there is a stand-alone C DLL that you can use to create your own TDM header file for an existing binary file.  It's a bit more work than a nice built-in function would be, but it will have none of the limitations of said function.
Check out this web support document:
http://zone.ni.com/devzone/conceptd.nsf/webmain/ae11f7a38e8356fd8625709900505d72
Regards,
Brad Turpin
DIAdem Product Support Engineer
National Instruments

Similar Messages

  • LabWindows​/CVI Openings in MN!!

    A Fortune 200 Consulting firm is currently recruiting a talented LabWindows/CVI professional to play an integral role in the success of a high-profile project. 
    Experience and skills needed for this role:
    Solid and current knowledge of LabWindows/CVI
    Experience with Oracle and instrument data acquisition
    Technical Development experience
    Deep understanding of Labwindows/CVI
    Understanding of DIADEM
    User documentation knowledge
    Team player in an IT environment
    Knowledge of Oracle 10g
    Excellent communication and consulting skills 
    Experience with technical requirements gathering
    understanding of Software SDLC
    Qualified candidates please respond via email to [email protected]

    This depends on your CVI version... the full development version includes the advanced math library, which provides functions such as PulseMeas to evaluate waveforms.

  • CVI RT (Real Time) - HOST TCP/IP Communication

    Hi,
    I am using CVI 2012 Real Time with PXI hardware. I am using TCP/IP communication b/n RT and Host. RT is server and Host is client. In my application, after TCP connection is established between client and server, client will send a command , take for example "GET_DATA" to RT, RT has to respond to that by sending that data.
    I am successful in
    Establishing RT-Host TCP communication ( I am able to see that host is reading the welcome message sent by RT).
    Host is sending the command "GET_DATA" to RT.
    RT is receiving the "GET_DATA" command from Host.
    In TCP server call back function, in TCP_DATAREADY event, i am using ServerTCPRead() to read data from Host. After reading the data, i am comparing the data with expected command and based on that i will be sending the data using ServerTCPWrite().
    RT is reading the command from Host, but it is not writing the data to client. I am not sure whether I can use ServerTCPWrite() in TCP Server call back function.
    I also tried using multithreaded concept, but not getting success.
    Please suggest any solution for this.
    Thanks,
    Haari

    Hey Rashid,
    Check out this tutorial with examples and let me know if it helps.
    Stephanie O.
    DIAdem Product Manager
    National Instruments

  • How to replace a word or line in a word document in CVI

    I am trying to edit a word document using activeX in CVI. I want to search for a word and replace it with another. I couldn't find any functions which does the replace in wordreport.c. Could you please help me out?

    Hi Isn,
    You
    will want to use the Microsoft Word 9.0 Object Library to interface
    with Microsoft Word.  You could then potentially be able to use the ActiveX calls
    provided to accomplish your goal.  The specifics on how to do this
    should be found in Microsoft's Documentation.
    Refer to the Microsoft document entitled How to find and use Office object model documentation. In your case, you will be looking at the Vbawrd9.chm help file which I believe will be located in the C:\Program Files\Microsoft Office\OFFICE\1033\ directory.
    Also refer to the Unable to Load Microsoft Excel/Word Help in LabWindows/CVI KnowledgeBase.
    Derrick S.
    Product Manager
    NI DIAdem
    National Instruments

  • DIAdem Connectivi​ty Library and Windows Regional Settings

    Hi,
    I'm having a bit of a problem with a CVI program that uses the DIAdem connectivity library when deployed to PCs that have their "Language for non-Unicode programs" set to some non-English language (Japanese is one, but I suspect this will happen with others).  The problem comes up with file properties in TDM files that use the µ or 'mu' symbol in their Property name.  When I call the DDC_GetFilePropertyNames(...) function, I get different strings from the same .tdm file depending on whether I have Windows set to English (US) or Japanese.  As far as functions like DDC_GetFileProperty(...) are concerned the Property name string I get when my Windows is set to English is correct and I get an error using the string from when Windows is set to Japanese (-6213 DDC_PropertyDoesNotExist).  The end result is that my program functions just fine so long as the PC is set to English, and fails on PCs where it is set to Japanese.
    I've attached a small sample console program.  It will ask whether or not you want to create a .tdm file when run.  If yes, the program will create a test.tdm file with a property named "Test_With_µ_Symbol".  In either case, it will attempt to read the file, calling  DDC_GetFilePropertyNames(..) to read the property names, then DDC_GetFilePropertyType(...) and DDC_GetFileProperty(..) using the property name it gets back.  In order to see the problem I'm having, compile and run the program on a PC set to English.  It will have no problems reading the file property back.  Then take the file program to PC set to Japanese and run it, telling it to not create a new file (i.e. just read the existing file), and when the program attempts to read back the file property back it will fail.  Curiously enough if the program is compiled on the Japanese system it will have no problems running, which suggests that CVI will compile a different program depending on your Windows language setting (!?).
    As configuring a computer to use Japanese may be a bit of a pain, here are the bytes in the strings I get back from  DDC_GetFilePropertyNames (...) on the English system (top) and the Japanese system (bottom) which is really the heart of the problem I'm having.  The difference is the -75 on the top string and the -125 and -54 on the bottom string, corresponding to the 'mu' character:
    84 101 115 116 95 87 105 116 104 95 -75 95 83 121 109 98 111 108
    84 101 115 116 95 87 105 116 104 95 -125 -54 95 83 121 109 98 111 108  
    (I didn't post the actual strings as the forum may end up mangling the characters) 
    Thoughts?  I guessing I might be doing something I shouldn't by trying to use the 'mu' character in property strings, but on the other hand I don't think that DDC_GetFilePropertyNames (...)  should be giving different results based upon Windows language.  Thanks in advance for any help.  I'm running Windows XP and CVI 2010SP1.
    Attachments:
    DDCTest.zip ‏3 KB

    Hi tstanely,
    Another possible solution is to try and perform the solution that was mentioned in the Unicode forum in LabVIEW. At the end of the forum, Mark Moss mentions "One of our interns recently went through this adapting a program to display Chinese in the user interface.  His solution ended up being surprisingly simple:  Just read the strings from a text file stored using the target encoding.  In our case, there were really only two encodings of interest: Windows code-page 1252 (used on our company's computers located in North America) and UTF-8 (used on our company's computers in China)."
    Because it seems that the CVI is encoding strings in the application based on the code page used at the time, it might be possible to have multiple text files saved in the different code pages and to load the strings at run-time. You may still have to use the Multibyte Character Set functionality to determine the platform that is being used, etc.
    Milan

  • CVI UI Panel updating from TestStand

    I'm experimenting with using a CVI graph strip chart in TestStand(4.0).   I'm new to threading in TestStand. I would like to do two simple things at first:
    1.Load the CVI UI graph panel
    2. Update the graph attributes.
    Attached is a solution that uses a separate thread for running the CVI GUI and the main thread for updating the title,axis names and data . For some reason, I seem have to have a generic wait to allow the separate thread to update the seqcontext (FileGlobals being updated in TS). If I don't wait, the FileGlobals have not been updated yet, so the UpdateGraph function fails.
    Is there anything besides a blanket wait statement that I can use to know when the separate thread has updated the FileGlobals so that I can continue with my UpdateGraph function? I thought about a loop/timeout function, but I thought maybe there was some other thread/synch mechanism that I missed.
    Attachments:
    CVIGraph.zip ‏1191 KB
    GraphTest.seq ‏7 KB

    Hey jsmalley,
    A Wait step is definitely a good and simple solution to your challenge, however, you could also try taking a look at some of the other TestStand Synchronization steps, which are often used when multithreading.  Documentation on these steps can be found on your machine by browsing to Start»Programs»National Instruments»TestStand»Online Help»Manuals»TestStand Reference Manual.  The documentation I'm referring to can be found in Appendix B of this document.
    Furthermore, there should be some synchronization examples found on your machine at <TestStand>\Examples\Synchronization.
    I hope this helps!
    Derrick S.
    Product Manager
    NI DIAdem
    National Instruments

  • TDM Block mode for Diadem 9.1

    I create TDM- Headers with the "TDM Header Writer C API". When I run the example "Single-Channel Binary File"everthing is allright, but when I run the example "Multiple Binary Files" I can't see my data in Diadem. The length of the channel is 0. I use Diadem 9.1.
    Where is my problem?

    Hi ccabek,
    DIAdem, LabVIEW and CVI sit on top of a data management layer called the Universal Storage Interface (USI).  The C library you are using creates only the TDM header file, but does not provide the USI layer with which this TDM file can be read.  USI is installed by each of these 3 host applications, and the most recent version of USI always wins and always stays on the computer (even if the installing application is uninstalled).  There is a similar api to the one you are using with LabVIEW wrapper VIs, and each VI has a little documentation attached to it-- here's an excerpt from the VI that declares a block of interleaved binary values:
    Note that interleaved (Block) channels described in a TDM file will only load correctly in LabVIEW or DIAdem when USI version 1.1.1.2245 or later is installed (LabVIEW 8.0, DIAdem 9.1 SP2, or later versions).
    Note that interleaved (Block) channels with "Block Length (# samples)" = 0 in a TDM file will only load correctly in LabVIEW or DIAdem when USI version 1.2 or later is installed (LabVIEW 8.0, DIAdem 10.0, or later versions.)
    In short, a TDM header which declares an interleaved binary block requires that DIAdem 9.1 with SP2 is installed, which you can get from the site:
    http://digital.ni.com/softlib.nsf/websearch/E1DEFED2895BF62086256FBF004AB6FE?opendocument&node=13207...
    Note that the SP2 will force you to uninstall DIAdem 9.1 before installing SP2.  Despite the SP2 name, it really is a full DIAdem installation.
    Finally, if you really are declaring BlockLength = 0, you will need DIAdem 10.0 or later.  You can always install the evaluation version of DIAdem 10.0, then uninstall it, and you will retain the newer USI version.
    That should help,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • How to save Famos files from CVI

    Hello,
    Does anyone have any experience saving measurement data in Famos format from CVI?
    Thanks,
    Terry

    Hello Terry,
    I did some research and I didn't find any instances of using the Famos format in CVI.  The format seems like it is raw data, which means that you would probably need some data plugin to read it.  The only results that my search came up with was using the Famos format with a data plugin in NI DIAdem.   I'm sorry that I couldn't provide more information but I hope this helps.
    Regards,

  • CVI/Excel file format 2 *.TDMS format

    Does anyone has plugins to convert Excel/CVS file format into *.TDMS  format?  Instead of write a CVI or LabVIEWS application.

    How does your Excel file look like?
    Is it XLS or CSV?
    For CSV file there is a wizard to generate import plugins since DIAdem 10.
    For xls there is a new import wizard since DIAdem 2011 and an old one.

  • DDC_GetNumDataValues in DIAdem Connectivity Library

    Hi,
    I want to import a TDMS file (attached) into MATLAB using the sample script "ReadFile.m" by NI. The number of values in the channels are more than 1000. Nevertheless, I get the output only for first 1000 values. I looked into the script and found the variable "numvals" that gets the value 1000 when I run the script. This is the result of the DIAdem Connectivity Library function "DDC_GetNumDataValues". Something must be wrong with this function. Is there a way to see the function itself, otherwise how can I cope with this problem?
    Thanks in advance, Kadir
    Attachments:
    Bruxelles_09072013_9_15.tdms ‏3982 KB

    Hello Kadir,
    we could reproduce the issue with your file.
    There will be a new release of the ddc lib that would show up this year and will contain an fix for this behavior.
    Would this be O.K. for you to wait till ddc lib ships?
    Greetings
    Andreas
    P.S.: The only workaround that I currently think of is load/saveas the file with NI DIAdem to make it work with this DDC standalone version.
    P.P.S.: The file would load with NI CVI DDC but the standalone version of ddc lib has this behavior :-(

  • View Report not working with CVI 9?

    Hi:
    We recently installed the CVI 9 run time engine on several of our stations. However, now we're seeing a problem where the 'View Report' button on the batch and parallel model result panels no longer work. If you try to view the report, the panel freezes instead.
    I've verified this problem with the default Teststand Full Featured CVI User Interface and the default modelsupport2 files. We are running Teststand 4.0.1f1.
    Any idea what is going on? The report button works if we run from the sequence editor or downgrade back to CVI 8.1.
    Thanks,
    Dave

    Hey Dave,
    Thanks for reporting this.  I've already been able to reproduce the behavior on my machine with TestStand 4.1.1 and CVI 9.0 installed using both the Batch and Parallel Process Models.  
    As a result, this was reported to R&D (#138134) for further investigation.  We will treat this with high priority.
    We really appreciate the feedback - thanks for helping us continuously improve our products and make them what they are today.
    Derrick S.
    Product Manager
    NI DIAdem
    National Instruments

  • Diadem V9.1 SP2c - Dataplugin VBOX "*.vob" File - "Racelogic_VBO.uri" - installer - NI-USI.msi

    Hi,
    I tried to install the "Racelogic_VBO.uri" Dataplugin in Diadem V9.1/SP2c! During installation there was a message  that "NI-USI.msi" was not found.
    In the description there was Diadem V10.0 mentioned as supported Software!?
    I've installed "usiUFF58.exe" bevore, but it doesn't work till now!
    My OS = WIN XP SP2
    Where can I download NI-USI.msi (1.2.0)?
    Will this dataplugin also work with V9.1 ?
    Can anyone help me?
    Thanks a lot!

    Hi gunter70,
    The Racelogic_VBO DataPlugin says at the download page that it expects DIAdem 10.0 or later, and the UFF58 DataPlugin says at its download page that it expects DIAdem 10.1.  Generally the DataPlugins are posted on the web in the lowest possible DataPlugin version so that the greatest number of DIAdem and LabVIEW installations will be able to use them.  Sometimes the DataPlugin makes use of a feature that was added between DIAdem 9.1 and 10.0 or between 10.0 and 10.1, etc.  In this case we have no choice but to post the DataPlugin in a version that will be incompatible with some DIAdem and LabVIEW installations out there.
    NI-USI is the software layer that a DataPlugin "plus into", and it ships with DIAdem, LabVIEW, and CVI (these are NI software products).  When we ship a new version of DIAdem, we ship a new version of USI.  Unlike DIAdem and LabVIEW, where you can have multiple versions installed at the same time on the same computer, NI-USI can only exist in one version on a given computer.  My recommendation to you is to go to www.ni.com/diadem and download the DIAdem 10.1 evaluation version.  You can try out the new features of DIAdem 10.1 if you like (the DataFinder is really cool), but the main reason for installing this is that you will then get version 1.4 of NI-USI.  This latest version of NI-USI will automatically replace your current 1.2 version.  Then even after you uninstall DIAdem 10.1, you will still have NI-USI 1.4, which has been tested extensively with DIAdem 9.1.  This should enable you to run both of the DataPlugins you mentioned in your DIAdem 9.1.
    Regards,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Using VI server from DIAdem script :: Syntax (documenta​tion) for properties and methods of VI Server objects (for non-labvie​w programmer​s)

    Hello all,
    I am using DIAdem 10.0 Advanced, LabVIEW 8.0 PDS. I would like to start a LabVIEW IHM from a VBS script. I use VI Server to call my VI from DIAdem.
    Here is the script and the VI I use (VI attached):
    Dim lvapp, vi, viPath, paramName(1), paramVal(1)
    Set lvapp = CreateObject("LabVIEW.Application")
    viPath = "C:\TEST\test.vi"
    Set vi = lvapp.GetVIReference(viPath)
    vi.FPWinOpen = True
    paramName(0) = "Input"
    paramVal(0) = 10
    paramName(1) = "Output"
    paramVal(1) = 0
    Call vi.Call(paramName, paramVal)
    Call lvapp.Quit()
    I found a similar example on your web site.
    Question 1:
    I need to know the syntax for all the other properties and methods of a VI object (method like Get or Set Control Value for example).
    Is a documentation (other than the LabVIEW help which is dedicated for LV programmers) exist in order to be able to use all the features of VI Server from another environment (CVI, VB, ...)?
    Question 2:
    Is it possible to call a VI with VI Server with the parameter "Wait until done" to FALSE? (run a VI asynchronuously from DIAdem)
    Thanks for your answer.
    MatthieuG
    Eurilogic
    Attachments:
    Test.vi ‏9 KB

    Hello,
    I finally found a way to get the documentation of VI Server. I can view the "LabVIEW.TLB" type library file with a OLE/COM Object Viewer (a utility from the Windows SDK).

  • Cvitdms.dll version 8.5.1.356 vers. DIAdem 10.1

    Hello,
    I'm using the cvitdms.dll version 8.5.1.356 to create a new (and very simple!) TDMS-file. This and a reopen/analysis of this file with the cvitdms.dll works fine. Then I open this file with DIAdem 10.1 and save it (changed or unchanged) to another TDMS-file. Afterwards I try to open and analyze this new file with the same cvitdms.dll a second time. During this analysis the group-handles are acquired. Then for every existing group the length of the standard name-property should be acquired, but the concerned function TDMS_GetChannelGroupStringPropertyLength(..) fails with error-code -6629 (the property does not exist). Surprising, because a check with DIAdem shows the group-name property existing, of course. It seems that the save-operation with DIAdem creates a TDMS-file which cannot be successful analyzed by the used cvitdms.dll. Are there exist these kind of limitations?
    Thanks
    Thomas Zecha

    Hi Thomas,
    Unfortunately, this is a known incompatability between the way that CVI reads and writes TDMS files (with explicit "name" properties at each of the 3 TDMS levels) and the way LabVIEW and DIAdem read and write TDMS files (with implicit "name" properties at the File, Group, and Channel levels).  I am checking with R&D to see if there is any workaround we can offer you, but so far my attempts have come up empty.
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Cannot display square root symbol in cvi

    I don't understand why this would be an issue, but if I'm writing in the source window (with the default font of NIEditor), I cannot display a square root symbol "√" - every time I type alt+251, I get "v". Ok, not a huge deal in the source window, but it is a big deal if THAT is what's being stored in a string variable I'm writing out to a file. Additionally, if I use the following to format a string:
    "Fmt(setpointUOM, "%s<W%cT/P3", 251);", then setpointUOM = "WüT/P3". If I display this variable in a string control, it displays as "W√T/P3", which is correct, but if I use it in a Text Box or save it to a sql database, it displays "WüT/P3" which is unacceptable.
    I've tried changing the fonts but nothing works or I get even stranger results. I've been dealing with/ignoring this since CVI7 and I'm currently at CVI10. Thanks for any help.
    Solved!
    Go to Solution.

    The difference in the display between W√T/P3 and WüT/P3 has to do with the character set that you select for the UI control. From what I can tell, only the OEM code pages map the √ symbol to character 251, so if you want to see √ for that character, you should pick the OEM character set, in that control.
    Entering √ with the keyboard in a CVI window seems like a much more problematic task. When you type Alt+251 on a CVI window, the keyboard driver is converting the 251 to 118 (the letter v). I don't know why it does that, but I noticed that the code that it converts 251 to varies, depending on your input language (which you can change in Control Panel>>Region and Language>>Change keyboards or other input methods). When english is selected in the language bar, it converts it to 118. With other languages, it converts it to other codes. I tried entering the unicode value for √ directly, which is Alt+221A (to enter unicode characters using the keypad, you have to follow the steps described here). But it didn't work. It still converted it to 118. I suspect the keyboard driver is doing this because it tries to map 221A to some symbol that is valid in the code page that corresponds to the input language, isn't able to, and picks what it thinks is the closest match.
    In lots of other applications (but not all) you can type Alt+251 or Alt+221A and it works just fine. This is because those applications accept unicode characters directly. Unfortunately, CVI isn't one of them. It uses code pages (a.k.a. character sets, or multibyte sequences) instead of unicode, and symbols don't have a universal meaning; they depend on the code page.
    Even if all this were not an impediment, you'd still run into the problem that in CVI 2010 you cannot change the font of the CVI source window to use an OEM character set. So, you'd still see it displayed as a v or a ü. In CVI 2012 you can change the change it, and so if you were using CVI 2012 you could conceivably use the clipboard to paste the √, but there is a bug in CVI that is preventing OEM characters from being pasted correctly (I realize the description says that it affects tree tooltips, but it's also generally affecting clipboard operations of some less commonly used character sets).
    So, to make a long story short, I think you should continue entering the code directly with the Fmt function, at least until this bug is fixed. And make sure that all UI controls that need to display this string are using the OEM character set.
    Luis

Maybe you are looking for