Jump to content

hooovahh

Moderators
  • Posts

    3,392
  • Joined

  • Last visited

  • Days Won

    284

Everything posted by hooovahh

  1. Very few times am I certain of a LabVIEW feature/function. Many times I will be developing and see some strange behaves, which makes me question all that I know about LabVIEW. For that reason I am never sure I should assert myself as being correct about anything. Glad it worked out.
  2. Hey John we met on the expo floor and we were talking a bit about taking an image front panel controls being able to use it else where. You mentioned that the solution you found was to save the image data to a PNG file, then you could load it somewhere else. I don't remember the full context but I remember what I suggested as a better solution. This VI can take a PNG file as an array of bytes (or rather a string) and convert it to the LabVIEW Image cluster. <LabVIEW Folder>\vi.lib\wsapi\VIs\PNG Data to LV Image.vi More importantly you can take a LabVIEW Image cluster and turn it into an array of bytes as a string using this VI. <LabVIEW Folder>\vi.lib\wsapi\VIs\LV Image to PNG Data.vi A demonstration I've often linked to is the GDI resize function posted here. It can take Image Data in as a cluster, convert it to a PNG, scale it using .Net, then save it as a stream, then convert it back to Image Data. That VI also works in a similar way with a image file instead of Image Data.
  3. So I was asking Darren at the BBQ if there was any other new features in 2014 that maybe were less known, or not talked about. The example I gave was the QuickBold in 2013. The feature he mentioned was an update to the quick drop remove key to have slightly different behavior in 2014. In 2013 if you do quick drop, then CTRL + Shift + R on a build array function it will remove terminals not wired. Both on the top, the middle, or the bottom. This also works with a few other functions like merge error, and I think some cluster functions. Well along those same lines Darren said the CTRL + Shift + R on a case structure will now perform the same operation as the Right click, Remove Case Structure. Nothing major, and probably not note worthy but I like to know about these obscure features.
  4. This simply cannot be true, or if it is I'd be very confused. Could you please post some VIs that demonstrate, I just made some test VIs the way you described and I didn't see this behavior in 2013 SP1.
  5. Fantastic Mark, thanks again for doing this.
  6. Not being fluent in English is not a problem. But if you are interested in being more involved on LAVA I would suggest you learn more. Your posts do have value but is sometimes hard to understand.
  7. The only two pictures I took are on my twitter...I really should update that. https://twitter.com/hooovahh
  8. Not sure yet, the issue has been reported and we'll see what we can do. Again I suspect this is a new way to interpret some characters and the solution will likely be to replace the odd characters with ones the update can display properly.
  9. I understand not wanting to be that guy, but i think the community knows that these videos are being shared. I say go for it, i know I'll appreciate it.
  10. Late request but I agree with the others. TS2879 - A Dataflow Approach to Object-Oriented Programming TS4318 - LabVIEW OOP: Computer Science for the G Programmer
  11. Yeah well first of all the new icon is fine. Too bad it doesn't patch all the other 20+ years of LabVIEW releases that maybe installed to change their icons. And also others have been able to edit the file with a resource hacker program to replace the icon seen. And the third reason the new icon doesn't make me jump for joy...this... Can you tell me with absolute certainty that my version in the bottom row on the right is 2014? I'm not complaining saying the icon should be bigger, there are real limitations on the icon size. But for me this feature isn't very useful. I agree that not every version of LabVIEW will have killer new features like the project explorer, classes, or scripting. I did plan on going to the "What's New" session so we'll see what is said about the new feature list. Here's hoping Darren slipped in another super secret key like "QuickItalics". I never realized how much I use quick bold and I didn't see any of that in release notes or talked about before his presentation.
  12. Okay just finished installing and a few things stick out. The Full and Professional include PID and Fuzzy Logic, and the Professional now includes, Database Connectivity, Desktop Execution, Report Generation, Unit Test, and the VI Analyzer. Doesn't this make the Developer Suite appear less attractive because compared to last year there are less things between a Professional and a Developer Suite? Does this mean NI will be lowering the price of the Developer Suite? It also has a section talking about Automated Test Suite, Embedded Control and Monitoring Suite, and the HIL and Real-Time Test Suite but the link is broken at the moment. It is listed at the moment as http://www.ni.com/labview/suites The Clear Errors which allows to specify an error code only accepts a scalar and not an array of errors to clear. The OpenG versions have existed since version 6.x or so and supports scalar or array as a polymorphic VI. I'm curious to see how the TDMS Set Properties NI_MinimumBufferSize affects performance, and file size when used right. One could argue that the High Resolution Relative Seconds is an idea exchange item and should be mentioned. Also the Hidden Gems mentioned in that idea exchange puts it on the palette among other goodies for other versions of LabVIEW. The Replace with Case Selector feature is nice. You select an input tunnel and it basically wires the case selector tunnel through it. That means this works for any datatype including error, string, enum, etc. Is Path and Not Empty is nice. I've made my own over the years but still nice to see it native. Custom documentation is nice for things like linking to PDFs. Same goes for linking to PDFs in the help menu. I've been able to do this just by having a VI in the help menu that opens the PDF. Application Builder now can make a folder with the version of the build which is super nice. But I've been doing this with Post-Build VIs.
  13. Downloading now, I'd like to play with it a bit before NI gets a chance to tell me how great it is. 32-bit 64-bit I sorta agree, not much that excites me, but last year had some good stuff.
  14. The only one I know I've used is the Variant Probe. Used in 2011, 2012, and 2013. Never seen a crash that was unexpected, while using this probe.
  15. But seriously when I had this issue, the easiest solution was to checkout the project to the shortest path I could. Since then I check out my code to C:\SVN\Project Name. VIPM also had issues in the past because it would build packages in a directory along side the source but I think they now build in a temp folder for this reason. EDIT: Oh and as for builds we do put the EXE in source code control but not the installers. The reason for this is because if I build a LabVIEW EXE, then build it again with the same source code, the EXE's won't be the same bit for bit. They may function the same but there is no way to know for sure that the 1.0 EXE is the same functionality as another 1.0 EXE. So if we needed to make a new 1.0 EXE by rolling the source back, then rebuilding we wouldn't know it is the same as the 1.0 made previously. I don't really like that some builds are in source but it makes life much easier when I need to roll back and try a previous EXE.
  16. I was curious so I looked at lordexod's posts. When making a new topic he has one complete sentence. For replies to topics he has either no text, quoted text, or not a complete sentence. Very much a man of few words. Maybe he is really busy, or maybe he is just shy?
  17. Versions 8.6 to 2009 scripting can be accessed using these instructions. https://decibel.ni.com/content/docs/DOC-4973 I can't remember but I think 7.x era you used the SuperSecret INI key, and I can't remember the steps for 8.0-8.5. In any case scripting existed in some form back that far. Try this VI that I saved back to 8.5. I don't have 8.5 to test it on so no idea if it works. Get String Const.vi
  18. Again this is a very neat trick. I appreciate you sharing it. But it has little to do with the topic, or even a few topics that we have had tangents on.
  19. This may not be a file properties issue, but a Windows permission issue. If I am not an administrator I don't generally have access to write files in the Program Files directory. One way to change this is to assign permission using the command line, or going to the folder properties and go to the Security tab. Do this with the command line using ICACLS http://stackoverflow.com/questions/2928738/how-to-grant-permission-to-users-for-a-directory-using-command-line-in-windows http://technet.microsoft.com/en-us/library/cc753525.aspx
  20. There was some changes to LavaG a few weeks ago and I suspect one of the changes is how it interprets extended characters. I noticed the text above my avatar said something like "Just because I don#t care doesn't mean I don#t understand". I went in and edited my text deleting the bizarre characters and replacing them with the apostrophe and it looks right...other than the fact that it cuts it off which I just noticed. EDIT: Fixed the cut off.
  21. 25 with 20% confidence. Better than the 5 with 15% from last years stay.
  22. The first issue you will have is the 6363 only has 4 outputs not 6. The second issue is this is not a simultaneous output card. All outputs are driven by one clock, and one DAC. So that means at best you can do is output channel 1 with one sample, then channel 2 with one sample on the next clock, then 3, then 4, then output channel 1 again with a new value. This switching can take place very quickly, but all outputs will have one clock driving them, and the order of the output cannot be changed mid output. The maximum output is 2.6MHz so if you go at your fastest each of the 4 channels can have a new value 650,000 times a second. A much easier method is to output what you want on channel 1, and have the other 3 channels be off. Then output what you want on channel 2 with the next outputs being off. Of course without knowing more this may not be an option.
  23. Another fun thing I just learned about XNodes. You can't have a for loop with Iteration Parallelism. I thought for reading multiple variant attributes it would be faster to read them in parallel. It is indeed much faster. On my 8 core machine it was about 4 times faster reading 1M attributes. But when I put this code into the XNode my VI was broken. There was no reason given for the VI to be broken, and if I looked at the GeneratedCode the VI was not broken. But as soon as I removed the parallelism on the for loop, the VI calling the XNode was no longer broken. This was in 2012 SP1.
  24. I couldn't get your example to work, which is probably why the execution time is so much more than the primative. Running your test.vi it takes about 2800ms to read only 10,000 attributes. But when you look at your Array 2 you see that it didn't read anything and just is an empty string for each attribute. I'm guessing if it ran properly and read the attribute then it would probably take less time to execute. So this isn't a fair comparison because the output is not the same. EDIT: Tested in 2013 SP1. DOUBLE EDIT: So your DLL call has the full path to LabVIEW.EXE and the VIs were saved for 2012 and when opened in 2013 didn't run right. After fixing this the data is read properly, but still takes orders of magnitude longer to execute than the primatives.
  25. I noticed today that the "Get Default Data From Variant" and the "Get Default Data From TD" under the LabVIEW Data palette doesn't support variants. So if I provided say a cluster with 4 elements in it, one of which was a variant, this function could not return the default data for this cluster because when it gets to the variant it throws an error. I found this when trying to use this function with the Waveform Data type which contains a Variant for attributes of the wave. Is there a reason that Variants get lumped into the same case statement as the Null data type? Shouldn't it have its own case for Variant and return a null variant constant? Also is a easier way of doing this just to have a for loop that runs 0 times passing the data in and out? EDIT: Actually it looks like in addition to variants not being fully supported, neither is waveform data types of many kinds.
×
×
  • Create New...

Important Information

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