Datalog files LV v6.0 & 6.0.2

I saw a few other posts recently about datalog file conversions
between versions, but they didn't mention quite the same problem that I
just saw.
I have an application under 6.0.2 that creates datalog files. I
copied part of the application (a file reader program) to another
computer that has v 6.0. I also copied a file that had been created
under 6.0.2. When I ran the file reader under 6.0, using the datalog
type input to the file dialog function, the file would not appear in the
dialog, as if it was not recognized as a datalog file of the proper
type. The file reader program worked on both computers with that same
file once I had upgraded the 2nd computer to 6.0.2.
Is there a known compatibility issue with datalog files going
bac
kwards from such minor version upgrades? If so, is there a way to
successfully convert them?
Regards,
Dave Thomson
David Thomson 303-499-1973 (voice and fax)
Original Code Consulting [email protected]
www.originalcode.com
National Instruments Alliance Program Member
Research Scientist 303-497-3470 (voice)
NOAA Aeronomy Laboratory 303-497-5373 (fax)
Boulder, Colorado [email protected]

Dave,
Thought the upgrade from 6.0 to 6.0.2 is not a large one, it was large enough to require that all VI's need to be recompiled, and also apparently, how the different data types are handled by LabVIEW has changed subtly. This would fit the criteria for why those datalog files aren't showing up, they do not filter as the "correct" data type.
I have verifed your issue and haven't been able to find a workaround, except that all copies of LabVIEW should be upgraded to 6.0.2 as a good general rule of thumb.
Joshua H.
Applications Engineer
National Instruments

Similar Messages

  • "Error 1 when trying to open and read datalog file from several subVi's

    So, I've been coding up this model based controller and have hit a snag:
    The program starts and opens a datalog file and passes the refnum to two loops.
    At a regular time interval (every 2 minutes), one loop (that's iterating once per second) writes the current information to a datalog file.
    Meanwhile, another loop (that's iterating continuously) checks to see if the file is big enough to support training of the model, if it is, then the training process begins. Once this happens a period of recent information is read from the file. Initially, this read would fail and return 0 data. However, this problem was fixed by passing in the data file path rather then the refnum and having the vi open,
    read, and close the data file. With the path, the vi was able to read all the data. However, still in the same loop, another vi downstream tries to read the file and returns error code 1, and no data is read. I tried passing that vi the path and seeing if it made any difference to open, read and close the file. But even then the read failed (with error code 1).
    I don't understand why it can read in one vi and not the other!
    Does anyone know what is going on here? It seems that semaphores would probably solve the problem, but would prefer a simpler solution. Thank you very much.

    Try passing the data to the continuous loop through a LV2-style global. That way you are only access the file in one place. But then that begs the question, if the data is passed internally, do you really need the file at all?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How can I convert datalog files from LV5.0 to LV6i?

    I have some datalog files from LV5.0 and I'd like to use them in LV6i, but when although I push convert when asked in the moment of reading the file,it provides input parameter invalid when reading. I'm using the same vi I used to create and read them in LV5, so it's not supposed to be a program mistake. How can I convert them?"

    Hello,
    Thanks for answering my question. I downloaded LV6.02 as you suggested but the problem persists.
    I don't know maybe it's something very simple. I have attached 1 program to read the datalog file and another one that reads it in every version (LV5.0 and LV6.02) in case you can help me.
    Thanks again,
    Javi
    Attachments:
    WriteLV5.vi ‏65 KB
    OpenLV5.vi ‏74 KB
    OpenLV6.vi ‏59 KB

  • Get a specific cluster out of a datalog file

    HI!
    I'm saving a cluster with controls (boolean, dbl, u32...) into a datalog file. For several different settings of the controls I'm saving the clusters consecutively in to the file. Is there a way to directly access a certain position at the file, in order to instantly read this position without going thru the hole file with a while loop? If I want to replace a certain position with a changed cluster is there a way to do it directly?

    Random access for reading is very easy to do, simply wire up the position terminal on the Read VI. Random access for writing is unfortunately not so simple. LabVIEW won't do it for you, and while you might be able to figure it out with a lot of file manipulation (using binary access to the file rather than datalog) it would be a really big pain. If you are looking to do these types of things then you might be better off using a more robust file storage method such as the Storage VIs (7.1 only).
    Regards,
    Ryan K.

  • How Do I Convert LV7.1 Datalog Files to LV8 Format?

    I have several LabVIEW 7.1 datalog files that generate Error 71 (File data type conflict) when I try to open them in LabVIEW 8 using the new Open/Create/Replace Datalog vi with my original typedef constants wired to the record type terminal.  Likewise, my original LV7.1 code recompiled in LV8 often generates error 116 (unflatten or byte stream read operation failed due to corrupt, unexpected, or truncated data) or error 4 (end of file encountered) when randomly accessing records in the LV7 datalog files, presumably due to changes made to the datalog file structure in LV8.  I recall one time when a dialog box popped up asking if I would like to convert the file to LV8 format.  Since this was a file currently in use on the server by LV7.1 clients, I had to reply no.  With copies of the datalog files now on my hard drive ready for conversion, I haven't seen the conversion dialog box pop up again.
    How do I convert the LV7.1 datalog files to LV8 format?
    Thanks,
    Larry

    Good afternoon Larry,
    Thanks for posting! 
    The Datalog file support in LabVIEW has changed, but the underlying
    principles of the technology remains the same. 
    Converting to the new format should just involve converting a few VIs to the new Datalog-specific versions.  As you can see, the new Datalog VIs appear in
    their own sub palette in 8 which will help keep things simple.
    Before we address the concerns with the errors, let’s first
    make sure that the code has been properly converted. 
    To convert your VI to the new format:
    1)      Replace
    the Open File VI from LabVIEW 7 with an “Open/Create/Replace Datalog” VI in LabVIEW
    8.  Keep your type constant or control
    wired to the “Datalog Type” input.
    2)      Replace
    any “Write File” VIs in LabVIEW 7 with “Write
    Datalog” and triple check that your data matches the datatype wired into the
    open exactly.
    3)      Replace
    any “Seek” VIs with “Set Datalog Position”.  The input to this VI is the number of records
    to advance (check the mode set by the “from” parameter).
    4)      Replace
    any Reading VIs with the corresponding “Read Datalog” VI.
    I suspect that if you are receiving errors saying that the
    end of file has been encountered it is a result of a bad input to the “set Datalog
    position” VI.  I attached a basic example
    of writing a Datalog file in LabVIEW 8, and reading the results.  The rest of the functions in the new Datalog palette
    should be pretty straightforward. 
    Does this help?  I
    would be more than happy to answer any other questions on this if you need any
    additional clarification, or if this response does not address your question.
    Travis M
    LabVIEW R&D
    National Instruments
    Attachments:
    Datalog8.zip ‏30 KB

  • How to read a datalog file in another language?

    Does anybody know the binary format of datalog files? We have used the datalog function to write binary data to a file, and would now like to read that data directly in Igor or C. I think we can decode the binary data itself, based on LabVIEW's documentation of binary data formats, but there is a header on the file that we can't find documented.
    A search revealed the same question from a few years ago, but the answer was insufficient. It also revealed a similar issue for reading "datalog" files generated by the high-speed datalogger example, but those aren't true LV datalog files. They are binary files with a custom binary header. Also, some messages discussed the front-panel datalogging function, but that is not what we are after. We are using programmatic file writing, with the datalog file format.
    Thanks,
    Dave

    Hello Dave,
    The datalog file is saved in a proprietary format whose structure is not available publicly. When writing files to be shared with other languages it is best to save them in either an ASCII or personally defined binary format.
    One option you do have is to create a shared library (requires application builder) of a LabVIEW VI that is responsible for reading datalog files. This library could then be called in other languages to pass the in the datalog information.
    Please let me know if you have any questions.
    Regards,
    Matt F
    Keep up to date on the latest PXI news at twitter.com/pxi

  • How can I deny write access to datalog files for all but one process in LV8?

    In LabVIEW 7.1, wiring the deny mode terminal of Open File.vi with a Deny Write Only enum constant was an effective means for ensuring that only one process could write to a datalog file at a time.  In LabVIEW 8.0, Open File.vi is no longer available and the new Open/Create/Replace Datalog vi does not provide a deny mode terminal.  Also, the new Deny Access vi does not support datalog files.  Furthermore, the Set Permissions vi is an unsatisfactory solution because under the Windows operating system, it simply sets the Read Only file attribute.  This is inadequate because I have demonstrated that it is still possible for two processes to open a datalog file with read/write access before either one has had a chance to set the Read Only file attribute in order to lock out the file.  If a process sets the Read Only file attribute first, then it can't open the file with read/write access for itself.
    Does anyone understand the file mechanism by which deny mode used to work with the old Open File.vi?  I wish to restore the functionality I had in LV 7.1 in my LV 8 programs.
    Thanks!
    Larry

    Larry Stanos wrote:
    I appreciate the
    empathy from Rolf, but I'm hoping that someone may have written one or
    more vi's containing CINs that call Windows 2000/XP file access control
    library routines.  At least I'm assuming that is how the deny mode
    input to Open File.vi used to work in LV7.1.  The Microsoft
    Developers Network on-line documentation on Access Control http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/access_control.as... is
    daunting to put it mildly.  But even if a set of CINs has not
    already been coded, perhaps someone could point me to the specific set
    of calls I need to make to absolutely guarantee that no two
    clients can simultaneously open the same file with write privileges.   Unfortunately
    the elimination of deny mode functionality for datalog files in
    LV8 has sabotaged my commitment to a March 1 release date because it
    would also be impractical to convert everything back to LV7.1 at
    this point.   Sincere thanks to anyone who can help me out here!
    Unfortunately
    the functionality you mention does not work in the way the deny mode in
    the LabVIEW nodes works. Basically that deny mode is converted to an
    according FILE_SHARE_READ/FILE_SHARE_WRITE value and passed to the
    Win32 API CreateFile function. This is more or less the only place
    where you can define a global share (or deny) access to a file. That is
    also why the Deny Access node online help is talking about that the
    file is reopened.
    But I just retried what you had tried to do, and low and behold it
    works with wiring a datalog refnum to Deny Access. What is important
    here however is that you do need to wire a datatype to the record type
    input of the Open/Create/Replace Datalog node. Otherwise you can't
    connect the resulting datalog refnum to any other file function, since
    it is an incomplete datatype.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Writing Datalog Files with record length

    How do I write a Datalog File with a record length of 128 int16s?

    Each I16 number in LabVIEW that you write uses 2 bytes because 8 bits equals 1 byte. If you write 128 numbers, the file will be 256 bytes long. You can modify the VI to write I32 (4 bytes) or I8 (1 byte) just by changing the representation of the number. You also need to change the subVI that does the actual writing (Write File+ [I16].vi). Be sure to rename the VIs that you change. I would think that your Fortran program would work as long as the data types match.

  • Erase the datalog file when the exe is running for the first time.

    Hi Freinds,
    I've a req something like this...
    Please assist me so that i could hit the right target.
    A datalog.txt file would be appended with the data everytime i run the exe.
    However if i close (be specific not stop) the entire exe
    And run the exe after opening it for the first time, it should ask me wehther to delete or append the existing datalog file.
    In short whenever running the exe for the first time it should ask the user whether to delete the existing datalog.txt or append the old one.
    THis is my req please help me...
    Cheers,
    Suneel

    You can use an uninitialized shift register, that you wire with a TRUE on the right side. Its output on the left will only be false the first time the VI is run and true for subsequent runs.
    Still, an exe should always run. Design it as as a proper state machine with an idle state when you don't what it to perform anything specific.
    LabVIEW Champion . Do more with less code and in less time .

  • Same data wire (source and sink are listed as "datalog file reference of") will not connect

    I am trying to write a short program that will convert a string spreadsheet file into a datalog file with the numbers turned back into numbers.  I have a case structure for each type of spreadsheet (different types per columns and different number of columns).  I use a 'for loop' to process all records (rows).  And I use a 'sequence structure' to individually process each column item into its original format (string or number), then group together into a bundle and then write the results to the datalog file format.
    The first two (case structures) worked but the second pair of case structures would not allow me to connect the datalog file reference number from the 'write to datalog file' to the 'close datalog file' through the 'for loop' wall.
    I am using 8.2
    I am sure it is an stupid issue, but the error message just did not point me towards a solution.
    con-fUsed, DogFace.
    Attachments:
    PROCESS SH TO DLOG.vi ‏84 KB

    The problem is that you are creating a different type of datalog file in cases 2 and 3 than you are in cases 0 and 1.
    The structure of a datalog file is the same as an array of clusters. All of the clusters must be of the same structure. Only the values of the individual cluster elements can vary.
    You are trying to write three different cluster structures to a single datalog file. You just can't this.
    You'll either need to write to three different files, or come up with a structure that everything will fit into.
    One other quick hint. NEVER use a variable to pass data when you can wire the terminal directly to the function.
    Ed
    Message Edited by Ed Dickens on 03-19-2007 11:39 AM
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

  • How can you read datalog files in LabVIEW?

    I have a VI that records time and waveform data and writes them as a cluster to a datalog file. I have been unable to read these files in any way, however. I have been working with the datalog examples in LabVIEW, but I have not been able to figure out how to use the Read Datalog File example effectively. Does anyone have any suggestions on how I can either use this example to read waveforms, or how I can design a VI to read datalog files in another way? Thanks.

    Hi,
    when you read from a datalog file you have to wire to the datalog type input of the Open File function a cluster of the same type as the clusters when you created the file; each cluster is a record.
    In the example Write Datalog File Example.vi you see that each record consists of a cluster containing a string and 1D array of DBL; in the Read Datalog File Example.vi a cluster of exactly the same type is wired to the datalog type inputs.
    You can use this example to read your datalog files but you must wire to the datalog type input a cluster containing the time data and a waveform data; pratically you have to tell how the data are saved in your file.
    I hope I have been clear enough, eventually if you tell me how you save the time data (string, numeric) I
    can modify the example to read your datalog files.
    Good luck,
    Alberto

  • Datalog File - error 116

    Attached is  a program I wrote that reads vibration signals, displays their respective graphs, and then writes that graph to a datalog file.  However, every now and then I get the Error 116 message, and cannot figure out why.  The best way to replicate the problem is to run the program, enter some text in the boxes, and save that file.  Then repeat the process so you have 2 datalog files to read.  Then open the "Data Reader" VI and open data file #1. Close the entire program, and open data file #2.  Repeat this process until the Error 116 appears.  Any suggestions?  Even when the error occurs, the information is still displayed, but I need to get the bug fixed.
    Attachments:
    FFT Analyzer.vi ‏542 KB
    Data Reader.vi ‏64 KB

    Jeff, in this post, someone was experiencing the same error message and it was resolved after upgrading to LV 8.0.1.  Could you see if installing that patch and mass compiling resolves anything?
    Doug M
    Applications Engineer
    National Instruments
    For those unfamiliar with NBC's The Office, my icon is NOT a picture of me

  • Can anyone help me with retreiving datalog files?

    I have been working to find a way to read an analog input signal as a waveform, and then attempting to save the data (as just the raw data--like ordered pairs) to a file. Obviously, I would like to be able to read this data later on, but I have been unable to do so as of yet. I have been working with saving the data as datalog files. I am attaching both my read and write file VI's, and I wonder if anyone may be able to tell me what is going wrong. The problem seems to be with the read file. The write file generates a file, but when I try to read this file, the read file does not recognize it as a valid datalog file and will not read it. My programs are very similar to those in ....\examples\file\datal
    og.llb, but I have not been able to actually read the files I create. I hope I have been clear enough in describing my problem. Thank you for any help you can offer.
    Jonathan
    Attachments:
    Write_Data3.vi ‏35 KB
    Read_Data2.vi ‏26 KB

    Hi Johnathan,
    Please be patient with us.
    Most of the people answering questions on this exchange do so on a voluntary basis. We do so because we want to help.
    Dennis has done a wonderful job of carrying the bulk of this exchange's traffic.
    He has answered almost 900 questions in the last two years.
    He merits a major award if you ask me. Maybe a "leg lamp" he can display in his front window.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Why can´t I wire the offset input in the Write File Function when I use datalog files ?

    Hi !
    I have a datalog file, in which I save variant data several times in diferents VIs, I runs these randomly, and I would like rewrite only a part of the file, but I can´t wire the offset input in the Write File function to indicates the begins and save the data in the point that I want.
    I need your help thanks.
    Attachments:
    Second Write in a datalog file.vi ‏19 KB

    Hello.
    I THINK that the reason why the offset input is disabled when you are working with datalog files is that you do not know how many bytes each entry of the data structure will ocupy.
    When you have a binary file where you store, for example, an array of double precision floating-point numbers, you know that each number ocupies 8 bytes, so you know that when you want to read the 21st number of the array you need to skip the first 160 bytes (20 numbers x 8 bytes/number).
    However, with datalog files you can store very diverse data structure, usually including strings, like in your case, which means that you do not know how many bytes to skip to be able to read or write to some particular variable of your data structure.
    If what you want to do is to not overwrite the contents of an existing file, but to append to it, what you probably will have to do is read the whole contents, append to the data in your program, and write it all again.
    Hope this helps,
    Alejandro

  • Opening my datalog file errors out with error 42 generic error

    I'm using the datalog API to store video images flattened to string (the record type is string).  This works great most of the time, and gives me easy access the whichever frame I currently want.  My files are between 15 and 125 MB.  Occassionally when I try to open a file, the Open/Create/Replace Datalog primitive returns error 42, which is a generic LabVIEW error.  The file appears to be the right size and looks as correct as I can tell in a hex editor.  I'm guessing it's some sort of parsing error, but I don't know the datalog API binary format.  I'd really like to recover these files that are throwing the errors.  Any ideas?
    Robert C. Mortensen
    Certified LabVIEW Architect
    Certified LabVIEW Embedded Systems Developer
    Endigit

    Greetings FlamingYawn!
    I apologize for the trouble you're having opening some of your saved datalog files.  Unfortunately, as you have already mentioned, Error 42 is a general error and as such, provides us with little information that we can use in troubleshooting the issue.  From all the research I have done, it seems that the two most common causes of this type of problem are from a logic error in the writing section of the code or from the files being corrupted by some other means during the write (i.e., from bad sectors on a hard disk).  Unfortunately, the file type is a proprietary binary format and the structure is not publicly known.  We currently do not have any tools for use in reading these files outside of LabVIEW.  This is not necessarily to prevent the files from being read by other software but simply because it is a file type that was designed specifically for LabVIEW. The best information I can provide you with is related to the file header.  This can be found in the following KnowledgeBase article:
    LabVIEW Data Logger: Binary Header File Format
    http://digital.ni.com/public.nsf/allkb/747B83B6C8E4A6218625669100563B61
    If it is at all possible, please try to see if the same set of data produces the same error each time following the write/read sequence.  If this is in fact the case, I can work with you further to file a Corrective Action Request so that the developers can address the issue. 
    I hope this helps some.
    Best Regards,
    Michael G
    Michael G.
    Applications Engineer
    National Instruments
    Self-realization: I was thinking of the immortal words of Socrates, who said, "... I drank what?"

  • Corrupt DataLog file?

    Long time someone post something regarding the DataLog files.
    You know, File I/O\ Advanced File Functions\ DataLog
    Is it because it's "old skool" and there is something better now??
    Anyway, allow me to ask this question.
    I have several DataLog files, all of them I can read with the existing EXE file and LV development code except one
    I always get the error code 71 when reading that specific file.
    Since all files are made by one and the same LV EXE file I find that very strange.
    I then read several files using note pad to get an idea about what's inside.
    All files I can read starts with: DTLG €    #  !   $ @0ÿÿÿÿ
    The one I can't read has the same pattern from character 146 onward.
    I have no idea at all where those 145 characters came from ?!!?
    "Ç Started-20140508.dat C:\PROGRA~1\BEKAER~1\TIREIM~1\DataBase\STARTE~1.DAT   6   C:\Users\WU71AD~1.SHE\AppData\Local\Temp\STARTE~1.DAT ‘Å
    The first readable characters are the name of the file, the following path's, no idea!
    After the four ÿ characters I see the correct definitions of the cluster I use in all files, so that is rather good, I suppose.
    Easy solution I tried, delete the 145 erroneous characters but then I get error 42 :  LabVIEW:  Generic error. when reading the new file.
    Anyone an idea how to "uncorrput" this file correctly ?
    All happens in LV 8.6
    Thanks for reading
    Even more thanks for a solution!
    Best regards
    Alain

    Please post in the appropriate MS Office forum found @
    http://social.technet.microsoft.com/Forums/windows/en-US/05b33892-03db-4f09-bfdd-4e01c614f27c/corrupt-pst-file?forum=w7itproappcompat where you will find forums specifically for discussing issues with MS Office products.
    This is a Windows 7 forum for the discussion of Windows 7 operating system issues.
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”

Maybe you are looking for

  • "Invalid DOS version" error message when installing Tomcat in Windows98

    I tried to install Tomcat 5.0 in Windows 98. At first, it produced "Out of Environment Space" error message. I then changed the "Initial Environment" from Auto to other values (bigger than 2816) for both startup.bat and shutdown.bat. When I restarted

  • Disable automatic insertion of date in Word 2007

    Hi We use Office 2007 Danish and I need to find the setting that disables the automatic correction/insertion of dates in Word 2007. If I want to write 24. february 2011 it automatically corrects it to 24. february 2011-03-17. I have looked everywhere

  • Delegating Administrative Rights

    TEAM. would like to know if there Is a way to delegate the "un-Lock and password re-set" to DOMAIN user; to a normal user who is not a MEMBER of Administrators Group. Am using both Ms Windows Server 2003 and 2008 R2

  • Problem with dragging/p​anning images in Lightroom

    I installed Lightroom 6 on a few days' old laptop - part of my initial set of intallations, and therefore very much a "clean" machine. An immediate problem I noticed was in the Develop module.  Here, a hand tool enables you to pan round a zoomed-in i

  • Direct link for the creation of users

    Hi, I've an error when I try to access to the iview User Administration. It returns me "500 Internal Server Error Web Dynpro PageBuilder expired" Is it possible to go straightly to the link to create a user? and, how can I do it? Thanks in advance. R