Jump to content

Phillip Brooks

Members
  • Posts

    911
  • Joined

  • Last visited

  • Days Won

    53

Posts posted by Phillip Brooks

  1. I posted something similar on the NI forums several years ago.

     

    Someone pointed out to me there that some apps will generate opening and closing quotes (rather than just straight quotes) when saving as CSV.

     

    Here is some opening and closing quotes data based on the wikipedia entry for CSV files example that you could test with:

     

    Year,Make,Model,Description,Price1997,Ford,E350, “ac, abs, moon”,3000.001999,Chevy,“Venture ““Extended Edition”””,“”,4900.001999,Chevy,“ Venture ““ Extended Edition, Very Large”””,“”,5000.001996,Jeep,Grand Cherokee,“MUST SELL!air, moon roof, loaded”,4799.00

     

    My VI can be found here:

     

    http://forums.ni.com/t5/LabVIEW/Read-csv-file-with-double-quotes/m-p/1591640#M580390

  2. I had (but lost) some VIs that were knock-offs of the DB Tools List Table and the related Schema VIs. I recreated them fairly quickly this morning.

     

    These schema queries return all of a type for a DB, which includes internal. Your tables and views will normally be of a type "dbo". You will have to filter for those in LV. I tried to query my DB for procedures and I did not see a column to filter between system and my own.

     

    Google the selected Schema type to get the column names, but most are fairly obvious.

     

    If you need to create typdefs for a collection of tables, you can use this scripting VI that I uploaded on the NI Community forums a while back. 

     

    https://decibel.ni.com/content/docs/DOC-19512

     

    ADO Schema.llb (LV2012)

    • Like 1
  3. Hello 

    I really need help concerning TDMS. I don't have any idea how to use that to make database and store information such as

    student name, time of borrower equipment, which equipment are present in the laboratory. Please help

    thank u.

     

    If you need to store test specific information (operator, temperature, equipment name & serial number etc... ) with the streaming data, you can write custom properties to the TDMS file.

     

    This example from the NI forum works well., just create your own arrays of property names and values to be stored...

     

    TDMS_API_Snippet.png

     

    ( is this the same as the question asked on the NI forums? http://forums.ni.com/t5/LabVIEW/Separating-TDMS-file-data-and-playing-it-back/m-p/2727403#M807331 )

    • Like 2
  4. I'm pretty much LVOOP ignorant at this point, but what the heck... I think I would look to the IVI Classes as a starting point.

    "IVI drivers provide either a IVI-C or an IVI-COM API."

    My limited experiences with IVI has been poor, but mostly because of the vendors I use. When I need to know what's going on inside the driver, I'm blind. Maybe a IVI-VI :blink: API could make it possible to interchange, edit, and debug instrument control completely within the LabVIEW environment?

    ( I here by trademark the name LVOOPIVIVILAVA! :P )

     

    Well, it's not a complete trademark violation, but sounds similar  :lol:

     

    http://www.calbay.com/products-ivvivi.php

     

     

  5. 1. Is Test stand is completely new programming language than LabVIEW?

     

    TestStand is not a programming language. It is a test executive.

     

    It is more like Excel in that it implements expressions and conditional logic.

     

    TestStand is combined with a language like LabVIEW, CVI, HTBasic etc... to create a test solution.

     

    These languages are invoked as steps by use of an TestStand adapter.

     

    http://zone.ni.com/reference/en-XX/help/370052H-01/tsref/infotopics/adapters/

     

    It is also possible to use a script with an executable such as Perl, Python or TCL to perform tests.

     

    2. How to convert Test stand program to LabVIEW and LabVIEW to test stand back?

     

    Since TestStand is not really a programming language, there is no direct/simple way to convert to/from LabVIEW.

    • Like 1
  6. Perennial question for the forums, what to buy? Looking to keep costs < $900.

     

    I'd like to build up my VM and SCC skills, so I thought a desktop would be the best.

     

    I happen to have qty. 12 8GB DDR3 1066 ECC DIMMs and am thinking of building my own Xeon based desktop using a ASRock 216 WS. I'd save ~ $400 on RAM and could buy more SSD or a faster CPU.

     

    I have a 23" display and several 2TB disk drives laying around, and a 3 user Windows 7 license pack, so I only need a case, PS keyboard, mouse and cables.

     

    I've seen HP laptops with i7 processors and 1TB disk with 8GB RAM for ~$900.

     

    I've got an older i5 4GB HP laptop that runs LV OK, but I always feel like it's somehow clunking along slower than my i3 desktop I built for the kids. No amount of tuning and crapware removal seems to bring it around. 

     

    My wife doesn't want another boat anchor taking up space on a table (dining room?) collecting dust and insists that laptops are the only way to go. I understand that, but at the same time don't think that I will have a positive experience trying to thrash a laptop to run virtual machines and such.

     

    Help me spend my money. Which way should I go? 

     

  7. TestStand <1 Hr> - Hands On
     
    This 1 hour session introduces the concepts of NI TestStand. At the end of the session, you should be able to [/font]understand how to use NI TestStand test management software to:

     

    • Create a TestStand sequence and add the frequency test step;
    • Generate a report for your test sequence;
    • Add tests using preconfigured step templates;
    • Debug test sequence using the NI TestStand Sequence Editor

    https://decibel.ni.com/content/docs/DOC-32943?nisrc=RSS-devzone-new-en

    • Like 1
  8. I think it is because you have the option "create table" set to true.

     

    On the first pass of the loop, it creates the table. On the second pass, the table exists and can't be overwritten.

     

    I'm guessing you've been deleting the table between runs, or are creating a new DB each time.

     

    If you need to create the table, then compare the loop iterator to zero, and use that as the input to create table.

    • Like 1
  9. I just noticed an issue with my code (see image attached) that could be related. I forgot to use a shift register to keep track of the "SQLite Connection" which keeps track of the db handle. Glancing at your code this could be a problem if the db handle changes in a 'Prepare Statement' but then isn't used on the next iteration of my loop.

     

    Is it possible that the db handle could change during a singe SQLite session? From a quick read on the sqlite website it doesn't appear to be the case. If it did change I could believe this might trickle down to errors later, but I'd assume the error would original at the library call in 'SQLite Prepare' and not the pointer to C string.

     

    I ran into a problem like this once with the NI DB Toolkit. 

     

    The false assumption is that the handle shouldn't change between iterations, so a shift register is not required, correct? WRONG!

     

    See: http://lavag.org/topic/15180-you-know-its-gonna-be-a-long-day-when/

  10. Sorry, no. I was trying to separate the HTML content of spam posts from the IP.Board content (my empty post). I was looking for any kind of clue as to how the spammers are working.

     

    Some of the spam posts are edited after submission. If the topic IDs are sequential (autonumbering), they may be able to use some form of SQL injection to stuff the database via an edited post.

    • Like 1
  11. I recall this code from the NI forums.

     

    https://decibel.ni.com/content/docs/DOC-19720

     

    I downloaded the example and noticed that the DLL call includes the path to the file user32.dll

     

    post-949-0-24604100-1378476780.png

     

    Check the locations of the shared library in your VI. It may incorrectly include the path...

     

     

     

    From the NI help: ( http://zone.ni.com/reference/en-XX/help/371361J-01/lvexcodeconcepts/locations_for_shared_libraries/ )

     

    To specify the location of a shared library, you can enter the name or path in the Library name or path text box of the Call Library Function dialog box. You can also wire the name or path to the path in input of the Call Library Function Node.

    caution.gifCaution Do not specify the location of a system shared library, such as kernel32.dll, by path. Because LabVIEW automatically includes by-path shared libraries in build specifications, you might distribute a system shared library to another computer inadvertently. Redistributing some shared libraries, such as kernel32.dll, might cause the target computer to crash. Therefore, always specify system shared libraries by name.

    • Like 1
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.