Save transistor I-V curves to TDMS

I have very little experience with TDMS files. To me they seemed to be great for recording data as a function of time. However I am trying to record I-V curves of a transistor. x-axis is drain voltate and y-axis is drain current. Does any one have an example of save non-time dependant data to a TDMS file?

It shouldn't really be necessary to worry about saving the two directly with relation to each other, when I encountered this problem I simply saved the desired data as two seperate channels, assuming your current is going to be incrementally developed you can just save the voltage and knowing the start value and increment for the current rebuild the curve later from this. Or possibly just save both the voltage and current they will appear plotted against time in the inbuilt TDMS viewer but you should be able to extract them as pure arrays of data at a later date as you wish.
[EDIT] Ok  I reread that and bothered myself, moral of the story, just save the Voltage and current data as two different channels and extract later, that will basically treat the values as independent arrays.

Similar Messages

  • How do I setup Labview to do transistor IV characteristic curve

    I am brand new to LabView, could some help me get started on setting Labview to set up a simple IV curve for a transistor.

    Well....beta is defined as a current amplification, so you will have to be clever enough to figure out how to use the ELVIS, which generates and measures voltages, to generate and measure currents.  This is left as a problem for the student...
    As for the LabVIEW part:  I would divide this into two tasks:  learning how to deal with loops, program flow, graphing, and other "all inside the computer" tasks, and learning how to read and write voltages with the ELVIS (generally refered to as DAQ).
    Here's my recommendation:  fire up LabVIEW, open the help, and start with the "getting started" section.  When you run out of steam there, you can search specific topics on the NI support website (e.g. search "beginner tutorial" in this forum to get lots of suggestions).
    Don't try to skip the step where you spend the time to learn the basics of how to do things in LV.  It will just lead to a lot of frustration.
    Good luck!
    -GN

  • Save multiple sample rate data to TDM file

    Hello, LV connoisseurs
    I use 2 Multifunction boards and LV 7.1 to gather slow and fast data simultaneously, 'slow' being 10 temperatures at 150 Hz, 'fast' being 12 pressures at 15 kHz, rate factor between slow and fast is constant 100. My acquisition is set to 'continuous' with blocks of 15 and 1500 resp., so each sample set takes 0.1 sec.
    Currently, I use 2 loops, one for each board. Slow data are written to .lvm, fast to .tdm, and this works fine.
    But I wonder if in this configuration it might be possible to
    - use one loop only (yes, trivial) with the main target being to
    - write data into two channel groups of one .tdm-file, one for the 'fast' the other for the 'slow' data?
    If at all possible, would this require the consumer/supplier scheme such as to allow the interspersing of data or can I do this directly?
    Thank You for your input.
    Michael

    Just to make the distinction, you should probably be using TDMS (the S stands for streaming) instead of TDM if you are continuously writing data. TDM is more for writing a snap-shot and doesn't work so well for continuous data (big memory leaks last time I used it back in '06).
    Also, as no time data is stored you probably also want separate timestamp channels then for your fast and slow data.
    As mentioned, it is no problem having multiple writing loops using the same TDMS reference.
    nrp
    CLA

  • How do you save arrays in tdm files?

    Hi,
    As part of a university project I am trying to save some program data to a .tdm file.  On each channel I wanted a number of different types of data including an analogue wave form and a couple of 1-D DBL arrays.  I have found an NI presentation that says that you can store arrays in them but dont seem to be having any luck.  Any ideas what Im doing wrong?  I am using labview 8.5.
    Regards,
    James

    Hi James,
    in a channel, you can save only one array as data. If you want to save more arrays then use several channels. You can organize them in groups. If the arrays must be in the same channel, then convert them to a spreadsheet string (in string palette) and save the string as a property.
    Greetings,
    shb

  • Save strings in tdms format

    hi everybody!!
    can i save an array of string in tdms format???
    how can i do it??any example??

    You can save a string array in .tdms file in either of the following two approaches:
    Save an array of string in a "string data type" channel;
    Also you can choose to save an array of string in the form of properties.
    The string data type channel is a simple way to store a string array, shown in the picture below. The channel is natively an array of elements of the same data type.
    I wrote an example VI to demonstrate the both ways to save a string array, you can refer to the attachment VI for details.
    Attachments:
    SaveStringsInTDMS.vi ‏14 KB

  • Lr 3.6 - Unable to save own tone curve settings

    Currently I'm trying to save an own "tone curve" but in the menu no entry to save it appears. In my understanding an entry "Eigene" (or "Own") should appear as soon as I am changing the tone curve manualy.
    I am using the latest version of Lightroom 3.6 running under Windows 7 64-bit (both in German) with Camera RAW 6.7 installed.
    Any ideas or hints to solve this issue?

    That's it! You just saved my day.
    Thank you very much.

  • How do I save a XY plot as a PNG

    I found an old form with a link but the link was dead, so I
    started this one. If some one could help me save a xy plot as a PNG or JPEG
    that would be great.  I found an example that illustrated how to save a
    graph but the xy plot will not work in this example. I'm trying to dynamically
    save xy plot (BH curve) to show the effects of transients in HV transformers.
    Thank you for your help and time
    Dan

    What version of LabVIEW are you using?  In LabVIEW 8.0, I see an "Export Image" method for the XY Graph.  Just create an invoke node for the XY Graph and select the Export Image method.  I don't know if this method is in earlier LabVIEW versions...if it's not there (and you're using an older LabVIEW version), you can use the "Get Image" method to get the image as a flattened image cluster, then you can use one of the VIs on the Graphics and Sound > Graphics Formats palette to save the flattened image data to an image file on disk.
    Hope this helps,
    -D
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • How to write Date/Time property of tdms file

    On the root page of the tdms file, there is a built-in property called "Date/Time" in the first row.
    I would like to use it to save the time stamp when the tdms file is created. But in the help file,
    I only find the following property constant. So, how can I write to the "Date/Time" property field?
    Property
    Constant
    Data Type
    Name
    TDMS_FILE_NAME
    String (char *)
    Description
    TDMS_FILE_DESCRIPTION
    String (char *)
    Title
    TDMS_FILE_TITLE
    String (char *)
    Author
    TDMS_FILE_AUTHOR
    String (char *)
    Thanks for any idea or suggestion.
    Solved!
    Go to Solution.

    Not sure if this is exactly what you want, but have you tried this?
    CVIAbsoluteTime CVItime, *t = NULL;
    TDMSFileHandle deH = 0;
    // Create TDMS file and set some properties
    errChk (TDMS_CreateFileEx (file, TDMS_Streaming2_0, TDMS_ByteOrderNative, 0,"example.tdm", "someText", "title", "author", &deH));
    GetCurrentCVIAbsoluteTime (&CVItime);
    errChk (TDMS_SetFileProperty (deH, "Date/Time", TDMS_Timestamp, CVItime));
    // Save and close file
    errChk (TDMS_SaveFile (deH));
    TDMS_CloseFile (deH);
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • CS (PS 8) Will not Save

    Summary: I have absolutely no problems with PS CS ( 8 ) except when I go to Save. When I go to save a duplicate of an image, it starts the process and then stops and a few seconds later I get the message, Photoshop has unexpectantly quit, but nothing has been lost, and am given the 3 options buttons. In the past I have reinstalled PS and the problem goes away for awhile, and then comes back slowly. By that I mean, I will go to save a Level or Curves adjustment (using Adjustment Layers), and the same thing happens that I described above. This seems to happen occasionally until it gets to where it is now, when nothing can be saved.
    In the past when this occurred I have: (1) deleted preferences (2) reinstalled (3) run DiskWarrior 4 and Techtool Pro 4 [did yesterday and they both showed no problems with the System], (5) used Disk Utility to Repair Disk Permissions, (6) run PS as the only Application, and (7) tried running PS with different plug-ins remove, None of these have ever cleared up the problem permanently, The reinstall of the application is the only way I can get the program to Save again. I can get it to do any other PS process, have no problems starting up, printing, etc. Use Quark and other Adobe programs without ever having a problem. I do not know what to do next.
    Steps to reproduce: Attempt to Save to the Desk Top/A specific
    Folder.
    Problem: PS does not save, but returns to folder in which the image
    sits, and then about 15 seconds later I get the message box mentioned
    above.
    Photoshop CS ( 8 )
    G4 MirrorDoors PC
    1.25 GHz
    1MB L3 cache
    2GB DDR SDAM RAM with preferences set to 85% for PS/cache 6
    32 bit color
    ATI Radeon 9000 Pro
    1024 x 768 @ 85Hz
    Internal Speaker/Built in Audio
    I have a 250GB external drive used as a Scratch Disk on Startup, which I believe is correct. I use the latest version of SilverFast: Polaroid 6.5.5r4 to scan images into PS. Also, use latest versions of PhotoKit Sharpener and Neat Image.
    Thanks for assistance,
    Bob Sennhauser

    Ramón,
    Sorry, but am not trying to be difficult, I thought
    that 10.4 would be understood to be 10.4.0.
    I followed your instructions and lowered the
    memory allowance to 70% and set the cache at 4 levels.
    I then tried an image that I had completed last
    week and it would not Save. The Save box opened, but
    the TIFF Options did not, and then I got the message
    I mentioned in my first post. I decided to try using
    HD instead of Start up, and this time it Saved. I then
    went to another image I had completed the same day and
    it would not Save. Both had a fair amount of Adjustment
    Levels and I had used PhotoKit Sharpener on both. I made
    duplicates of both and flattened them, so they were just
    18MB. Again, the first Saved, but the second would not.
    I then went to an image that had only been scanned in,
    but not worked on. I just reduced its physical size
    and was able to Save it. Then I did a little work on it,
    (contrast/color balance), but then it would not save.
    Finally I returned to the two images I mentioned completing
    last week and reduced their physical size so that the one
    that saved was 192MB, and the one that would not was 140MB,
    but the results were the same. This all seems strange. Will a
    larger hard drive correct this problem?
    Thank you,
    Bob

  • TDMS digital data

    Hello,
    we are developing datalogging system for our customer and we need to save analog and digital data to TDMS file. There is probably no problem with analog data streaming. But on the other side writing digital data inside TDMS file looks like a problem... So we tried to use background streaming (DAQmx Logging) where size of file is acceptable (8xDI(1B) x 512samples + TDMS header). But we need to log analog and digital data with timestamp channel so we can not use DAQmx background streaming instead we must program our application. When we used TDMS write for digital waveform, digital data result in TDMS viewer and DIAdem is OK but file size is (8x1B for each digital channel). We also look at TDMS by DAQmx logging where internal file structure (attached file  tdms_tsdata.png) contains parameter NI_DigitalLine which is bit in data byte index (i think). Another parameter is NI_DataType = 5 (UInt8). From these two params I deduced some ideas and do some tests with unsatysfying results. Only one of tested ways was to write direct UInt8 of DI (entire port) to ensure file size ... 8xDI=1B x samples. However those TDMS can not be correctly read by TDMS Viewer as structure of digital inputs but only as number.
    Is there any chance to write manually and effectively digital data in TDMS file (like DAQmx logging)?
    Thank you in advance for any hint.
    Michal.
    Attachments:
    tdms_tsdata.png ‏40 KB

    Hi kel072,
    You are right, you can not write just as one  byte and expect Diadem, or TDMS file viewer to interpret directly as 8 lines boolean data.
    This is an expected behavior because there is no information about the number of lines.
    Therefore, I have two suggestions:
    1. You can build your custom TDMS file viewer (pack your data as u8 bit, transfer it into the TDMS file and later build your own VI that will read from TDMS, reconstruct the data in boolean 1D array and display the data). In this scenario, Diadem will still not be able to interpret them as 1 bit data.
    2. Write your data to a binary file in the format you specify. Then you can read it directly in LV or any other programming language that supports that format, or you can build a data plugin for Diadem that will allow it to interpret the data in the particular way you want ( and use it for your application). This method requires the most programming but gives you the most flexibility (packing data, display in Diadem, display in LabVIEW etc).
    Check the links bellow for more information on the data plugin:
    1. http://www.ni.com/white-paper/13803/en/
    2. http://www.ni.com/example/29822/en/

  • How can i use another folder to save sent messages...

    hi,
    i want to use another folder to save sent messages as usually send messages are stored in sent folder, but due to some reasons i want to store sent messages into another folder, how can i do this?
    thanks in anticipation.

    You cannot use the local variable of the chart to save anything. You would need to use the History property to save the current data and the TDMS Write will not accept that data type either. You could convert the history data to a 1D waveform data type.
    Message Edited by Dennis Knutson on 02-09-2010 09:37 AM
    Attachments:
    Save to TDMS.png ‏23 KB

  • Rearrange TDMS

    So we are writing data to TDMS, and then doing post-processing and reporting in Excel.  Someone asked me if it would be possible to swap a few columns in Excel.  That means rearrangeing the order of the channels in the TDMS data.  Normally the answer is nope can't do it.  TDMS is write only and you can't edit it.  But then I realized well that's not entirely true you can read the whole file, then re-order the data and write a new file but that will take a while and very memory intensive if the data size is large.
    But I thought of another way to rearange the data.  TDMS has what I think is an undocumented features, which allows you to perform a binary copy function, combining multiple TDMS files into one.  The channel order will be defined by the first file in the combine function.  So I made two TDMS files, one with a channel Time at the beginning, and one with Time at the end.  If I perform a "copy /b File2.tdms + File1.tdms Output.tdms" the order will be changed.  The down side is that the data from File2 will be at the beginning of the new file.  So I tried making a "Header.tdms" which contained no data, only the order by setting properties of the channels.  This does create the proper order in the Header file, but when I combine them the file is corrupted and can't be opened.
    Attatched is my example.  Run the VI, reorder the channels then click Save.  It will make Header.tdms (which is fine) and then it will combine Header.tdms and Temp.tdms into Broken.tdms which can't be opened.  But If I simply combine Temp2.tdms and Temp.tdms (there is a button for this) the output is reordered and good.
    So my question (finally I know), is there a way to reorder the TDMS channels?  Other than reading and writing the whole file, and other than controlling how the TDMS file is first made (by writing the correct order first).  I feel like I am close because I can do this if data gets appended, but don't want new data in front of Temp.tdms I just want the new order.  Thanks.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
    Attachments:
    Rearrange TDMS.zip ‏40 KB

    deppSu wrote:
    Hi Hooovahh,
    The columns order displayed in Excel is determined by the channel order logged in the first segment of the TDMS file. This explains why you make a new TDMS file with different order and concatenates with the original TDMS file and the order can be changed to the header TDMS file. Unfortunately, as far as I know, there is no other way to accomplish that except for rewriting the TDMS file or appending new header. 
    However, I think your VI is a good solution to such requirement.
    I realize where the order comes from, which is why I made this example.  I also realize that this is the most efficent way of doing this because I don't have to recreate the TDMS file.  Imagine if my temp.tdms was several GB in size.  It would take a long time to read all the data channel by channel, group by group to recreate it with a new order.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • Saving FFT PSD waveform to TDMS file maintaining x-axis scale

    Hi all,
    I'm having trouble saving a Power Spectral Density waveform to a TDMS file because the method I'm using is losing the x-axis (frequency) scaling. The only way I can get it to save is extracting the magnitude from the waveform and saving that in the TDMS file. This loses all the frequency information.
    Does anyone know how I can save the PSD information in a TDMS file or failing that, any type of file?
    Thank you,
    Donners
    Solved!
    Go to Solution.
    Attachments:
    PSDs Frequency 2.JPG ‏89 KB
    Data Calculations TDMS 4.zip ‏120 KB
    Filtered Data.zip ‏240 KB

    Hi,
    As my understanding, you are trying to log the PSD to "Power Spectral Density" channel, but you do it wrong with double array. TDMS write don't accept cluster as input, but accept waveform.  I have updated the VI and the PSD in TDMS file viewed as
    Attachments:
    Data Calculations TDMS 4.vi ‏177 KB

  • Tdms does not support complex numbers?

    I can see that I can create and manipulate complex waveforms in Labview, but when I try to save such a waveform in a TDMS file, I get a run-time error that data format is not supported, forcing me to split the complex waveform into two separate waveforms for saving.
    Also, when I send a complex waveform to a Waveform Graph indicator, it truncates the imaginary part.
    Are there any plans to add native support for complex numbers in TDMS and graphing?

    Fedor wrote:
    I can see that I can create and manipulate complex waveforms in Labview, but when I try to save such a waveform in a TDMS file, I get a run-time error that data format is not supported, forcing me to split the complex waveform into two separate waveforms for saving.
    That's correct. TDMS does not support complex values.
    Also, when I send a complex waveform to a Waveform Graph indicator, it truncates the imaginary part.
    That's also correct. Think about it. What would you plot on a waveform graph? You could use something like an XY graph, with X being the real values and Y being the imaginary values. Or, you could use a polar plot (available as a picture indicator plot).
    Are there any plans to add native support for complex numbers in TDMS and graphing?
    If you wish to make a suggestion regarding this, then you can post in the LabVIEW Idea Exchange, where people can vote on the idea. You may need to submit this as two different ideas since it's covering two different components.

  • Access files (ascii and TDMS) by blocks, step by step

    Whener I perform a data acquisition and save the data I save to files (either ascii or TDMS, depending on acquisiton length, sampling rate, etc).
    Afterwards, when I want to access the data, the only way I have managed to is by reading it all at a time. And so, I have to turn to other softwares such as MatLab for postprocessing. And also, if files are bige enough, I sometimes have memory related troubles when reading complete files.
    I would like to know how to, because I am sure it can be done, how to do a loop for reading files by blocks, step by step; conrolling file position, block length, etc.
    Regards,
    usuario

    You may want to read Managing Large Data Sets in LabVIEW.  It walks through many of the issues you are facing here, although it is a bit dated.  After you read that, also read the LabVIEW help on the In Place Element Structure and the Data Value Reference.  Approach both with caution, since both break data flow (i.e. can be a potential race condition), but they help when dealing with copies of large data.
    Text files can be read incrementally by either line or character.  Since the ideal block read size for a Windows file system is about 65,000 bytes, I like to read in my text files 65,000 bytes at a time and doing any parsing from the memory buffer.  When the buffer runs out, I get another 65,000 bytes until the file is done.  <shamelessAdvertising>This method will be the subject of my next post on object-oriented file I/O, which will, unfortunately, be about two to three weeks from now, due to my "real job" getting in the way .</shamelessAdvertising>.  If you are in a hurry and enjoy complex code, the Read From Measurement File Express VI in LVM mode also uses this method.  If you open the front panel of one and dive into the code, you can see it in action.
    Good luck!  Let us know if you need more help.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

Maybe you are looking for