Jump to content

Phillip Brooks

Members
  • Posts

    899
  • Joined

  • Last visited

  • Days Won

    50

Posts posted by Phillip Brooks

  1. I agree. NI has some of the best product support I've seen. But getting to talk to the right people, or convincing the right people you know what you're doing, can make the support you get very different.

    I had a memory leak issue when using user events on real time. The issue turned out to be my fault, but I called NI looking for assistance before I knew that. After I explained what I was doing to the first guy I talked to, he told me user events were not allowed on real time. It was at that point I knew I was not talking to the right person.

    You didn't use the correct secret code word...

    tech_support.png

    • Like 2
  2. I'm very disappointed you didn't say "%^<%Y-%m-%dT%H:%M:%S%3uZ>T" :rolleyes:

    /J

    Well, the original question was "What are the most common date formatters?" not the most useful date formatter. :P

    Maybe someone else here could chime in regarding Oracle, but I just spent the last three hours querying and dumping results using Oracle Apps and the date/time format was:

    09-OCT-2012 08:59:28

    which works out to

    %<%d-%b-%Y %H:%M:%S>T

    except for the capitalization. I'm guessing that the month name is localized to the default language setting for the profile of the user...

    • Like 1
  3. As a U.S. LabVIEW for Windows user, I most often see people use the the Format Date/Time String function with no input for default string (default is %c or locale specific). The Default locale info on Windows with a setting of English (United States) looks like this:

    10/5/2012 1:10:42 PM

    The equivalent LabVIEW string would be

    %<%m/%d/%Y %I:%M:%S %p>T

    In LabVIEW 8.6, the string I provided always includes two digits for the day, month and hours, yet the default output Format Date/Time String with the default %c returns two digits only when > 9.

    10/5/2012 1:10:42 PM

    10/05/2012 01:10:42 PM

  4. Have you seen this post on the NI forums? High Resolution Relative Seconds

    It was reported as having an open loop resolution of ~ 1.2u sec

    W/R/T resolution of a timestamp, this is documented here: http://www.ni.com/white-paper/7900/en

    You might try typcasting the timestamps as arrays of U64 and then performing addition and subtraction on those.

    After performing the integer operations, the U64 that represents the fractional seconds can be converted back by multiplying it by 2-64

    http://forums.ni.com/t5/LabVIEW/Unable-to-replicate-frations-of-seconds-when-reading-a-timestamp/m-p/2116706#M687792

  5. Go a step farther, and make the VI broken. One easy way is to make one input "Required" -- then you can "turn off" the compiler error by creating a constant on that input. This forces yourself to go back and fix it, ensuring you can't forget and, say, make a build without the fix.

    Or maybe a required output? Don't know if this is still possible...

  6. Wait, what?!

    It's in my profile.

    We have so much code and libraries that we don't upgrade very often. The last upgrade happened when we went from 7.0 to 8.6 in December of 2008.

    I try to participate in the betas and keep up on things, but I'm falling behind the times. I did download 2012 today, but won't do much with it until the end of the year. We might start our next project on 2012, the latest TestStand and win7

  7. Anyone have any opinion on the tool bar changes?

    I've been running LV 8.6 so I can't recall if the change happened in 2009,10 or 11 but the color change (yellow and green to yellow and cyan) along with sort of a 'flat look' is almost a bit too retro for my taste.

    post-949-0-71206900-1344284525_thumb.png

  8. No because the error inputs are also not used in the terminals. I just put them there because maybe in the future I want to throw a error, then I will wire it. Now LabVIEW will just treat it as deadcode.

    Be careful about error clusters that do nothing. I updated some low-level internal libraries a couple of years ago and had a bunch of developers get mad at me.

    Basically, if you do add the error in / error out terminals to your connector pane for 'future use', make sure you place an Always Copy node on the Error wire or any caller could require a recompile if you make changes...

  9. I don't have a setup to test this right now, but maybe try using Datasocket FTP functionality to write to the FTP server?

    No Internet Toolkit, System Exec or windows security configuration required. The LabVIEW app and customer would use the same server and account.

    UPDATE:

    Just tried using DataSocket with the NI FTP site and received no LV error; the file name appears on the server, but I can't open it...

    
    ftp://anonymous:pbrooks100%40gmail.com@ftp.ni.com/incoming/lavag.txt[text]
    
    [/CODE]

    Note that I had to URL encode the @ in my email address as %40 because the @ is the separator between the user info and server name in RFC-1738

    DataSocket FTP Write Example.vi (LV 8.6)

  10. This 0 to 2^25 bit value ( 0 to 33554432) corresponds to 0 to 360. The manufacturer gave the following instructions to convert it into RPM.

    Timed loop period to 1000 ms

    Take difference of the current position value from the previous position value and divide it by 2^24 and multiply by 60.

    I can read the current position. Then use the shift register on the timed loop to read the previous position value. Both are acquired using U64. When I subtract the two, the results fluctuates as below.

    The difference, some random value, the difference, some random value, some random value, the difference.

    One sample per second?

    If your device is rotating at around 30 RPM you may see alternating signs in the difference (random values) when samples occur across the zero reference.

    You could increase the sample rate and adjust your calculation accordingly, but may occasionally experience 'random' values whenever your samples occur over a zero crossing.

    Create a shift register to store the sign of the last few differences. When the sign of the current difference doesn't match the previous values, add or subtract 2^25 to compensate for the zero crossing.

  11. But that's part of the problem with the Idea Exchange kudos system; the top 10 ideas *are* low hanging fruits with minor impact already. The good ideas (as in; will significantly improve the power of LabVIEW and the products we can make with it) hide in the middle and even lower ranks.

    I guess I should have defined low-hanging fruit as ideas that can be implemented with lower effort or scope on the part of NI.

    I love simple things like the smaller T/F constant but I have to say that almost everything that has been completed is primarily IDE / cosmetic or a fix to a CAR. We did get a new feature that was of high value (thank you Stephen!)

    The Idea Exchange is what, about three years old now? That gives us two cycles of reviewing suggestions, selecting, developing, testing and release.

    What we've received is nice, but I'm concerned about features I mentioned before. If these are on the roadmap but might not make the next release cycle then please at the very least mark them as In Development. Then all you need to do is listen to me complain that I haven't seen any progress :P.

    Maybe NIWeek / LV 2012 will surprise me. (didn't have time to participate in the beta this year so I have no idea of whats coming)

  12. I won't be at NI Week, but I had an idea.

    What if NI were to take the top 10 or so ideas from the Idea Exchange and allow attendees to vote by show of hands, robot controlled ping-pong ball machine or stones in a pile.

    The top voted idea would be assigned to a group and delivered in the next product cycle.

    I feel lately that the only Idea Exchange entries that get any attention at all are the easy "low hanging fruit" ones.

    Why not listen to the community more? I don't need VeriStand, a G to C Code generator or web based SilverLight tools.

    I DO need things like SSL/SSH and Amish controls...

×
×
  • Create New...

Important Information

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