-
Posts
3,392 -
Joined
-
Last visited
-
Days Won
284
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
The content on this page will go away soon. It's currently being migrated. > New Location < Read about the wiki here This thread is intended to be a place for all things LabVIEW to be able to be found. If you have a resource for LabVIEW feel free to reply with your own content. We are interested in things like person blogs, forums, training information, and anything a user of LabVIEW might want. Several links and sections have been lifted from another resource available over on NI labeled the Content and Communities for LabVIEW Application Development. I'm New To LabVIEW and Need Help Basic Training Information NI Learning Center NI Getting Started -Hardware Basics -MyRIO Project Essentials Guide (lots of good simple circuits with links to youtube demonstrations) -LabVEW Basics -DAQ Application Tutorials -cRIO Developer's Guide Learn NI Training Resource Videos 3 Hour LabVIEW Introduction (Alternate Google Drive) 6 Hour LabVIEW Introduction (Google Drive) Self Paced training for students Self Paced training beginner to advanced, SSP Required Rookie Mistakes in LabVIEW by Digilent State Machine Design Pattern Basic Tutorial Wikipedia Article Sixclear Video Event Driven Design by NI Beyond Basic Training These are topics that are useful but not for those new to LabVIEW or software development. Topics may cover things a novice may have a hard time following. Object Oriented Software Design NI FAQ on Object Oriented Programming Creating Classes When Should you Use Classes Abstraction Abstraction Distraction Introduction to Object Oriented Programming and HAL by Elijah Kerry (Video), Plugin Framework JKI Hardware Abstraction Video Actor Framework Community Introduction Framework Basics Error Handling Basics by NI David Maidman’s Blog Post SOLID Error Handling by Dmitry Structured Error Handler Express VI by NI I Have Questions LAVA Forums - Independent community, with less NI oversight, and generally less new users asking basic questions NI Official Forums - NI's official forum, monitored semi-regularly by NI and the best place to find official support LabVIEW on Reddit - Smaller community but has Reddit features like voting on posts and comments causing interesting topics to get more attention LabVIEW on Stack Overflow - Q&A style community I'm Looking to Find Example Code and Toolkits NI Tools Network - Polished released code distributed as VIPM packages. LAVA Code Repository - Place for Verified, and Unverified code allowing for discussions, in addition to hosting NI Code Exchange / Community Documents - Similar to LAVA but NI's site licensing means less flexibility if you are posting code and want a custom license. NI Reference Designs Portal GitHub - Trending LabVIEW Projects, and All LabVIEW Projects GitLab - LabVIEW Projects BitBucket - LAVA Projects on BitBucket I'm Looking for Blogs There are lots of LabVIEW blogs, covering lots of topics. Some blogs go cold after some time, so below is a table of blogs, highlighting the last post made. At the moment this is updated manually so this will need to be updated periodically. NI's Blog NI's official blog, updated very frequently System Automation Solutions 10/24/2018 Sam Taggart's Blog JKI Blog 9/13/2018 Blog often highlighting JKI's activity including VIPM and other LabVIEW tips DMC Blog - 9/10/2018 LabVIEW category of DMC's official blog Steve Watts Random Ramblings on LabVIEW Design - 10/23/2018 Random Ramblings says it all but often good insight into designs and discussions we don't think about but should question why we use them and how Delacor Blog - 9/4/2018 The Daily CLAD - 9/4/2018 Hooovahh's Blog - 8/24/2018 Brian Hoover's blog focusing on LabVIEW and CAN The LabVIEW Lab - 10/22/2018 Eric Maussion's blog Bloomy's Blog - 8/13/2018 LabVIEW category of Bloomy's official blog Ajay Blog - 10/10/2018 Ajayvignesh's LabVIEW blog Wiresmith - 9/25/2018 James McNally's Blog LabVIEW Craftsmen - 7/3/2018 Wineman Technology Blog - 10/10/2018 LabVIEW category of Wineman's official blog MGI Blog - 6/5/2018 Moore Good Ideas blog Eyes on VIs - 5/25/2018 Christina Rogers blog often focusing on LabVIEW's visual design UI's and UX's QControls - 5/15/2018 Blog series on QControls, and open alternative to XControls Walking The Wires - 5/11/2018 Chirs Roebuck's Blog Not a Tame Lion - 5/5/2016 LabVIEW Artisan - 2/5/2015 Darren Nattinger's LabVIEW blog often highlighting lesser known features of LabVIEW Culverson Software's Blog - 9/20/2014 LabVIEW category of Steve Bird's Blog VI Shots - 7/31/2014 LabVIEW video podcast by Michael Aivaliotis Brian Powell - 12/26/2013 I'm Looking for Videos Similar to blogs, video channels can be hit or miss, and content can become dated. But if you are more of a visual learner these channels offer a chance to learn by watching others. NI Week & CLA Conference - Username: LabVIEW_Videos, Password: LabVIEW GDevCon Conference LabVIEW Architects Forum Delacor's Channel System Automation Solutions LLC Dr. James D Powell NI's LabVIEW Channel LabVIEW ADVANTAGE LabVIEW MakerHub Looking For Certification Help Certification Nugget: CLAD - Certified LabVIEW Associate Developer Certification Nugget: CLD - Certified LabVIEW Developer Certification Nugget: CLA - Certified LabVIEW Architect Connecting With Other LabVIEW Developers User Groups Online communities are a great way to connect and contribute. In addition to online there are Local LabVIEW User Groups which meet regularly to present and understand LabVIEW and NI topics. Find one close you you and subscribe or monitor topics. NI often supports local user groups, but they are in most cases ran and organized by the community. NI Week NI Week is another great way to connect with and learn. Hosted in Austin Texas once a year it is a week long conference with training, discussions, keynotes and other activities. Many previous NI Week videos can be found online but no single source is available which aggregates all marketing, keynotes, and technical sessions in one location. The best resource for content is a site setup for video hosting done by Mark Balla over the years. Summits If you hold a CLA or CLD there are specific summits for you that are free. These are often tailored presentations for a specific skill set with the focus on technical discussion and problem solving. There are two CLA summits, one in Austin Texas, and one in Europe both held once a year. CLD summits happen more frequently and locations change from year to year. Consult their specific discussion forums on NI to see when the next one is. Just like NI Week Mark Balla has several videos available here. Needing Professional Help If a project is getting out of hand and is beyond the skill level of your team, NI suggests looking at one of their Alliance Partners. Contact one in your area, and they will help try to best guide you on your project. I Want To Contribute to the Community Developing Code For Others Arguably the most difficult thing about sharing code, and reusing code, is the mind set and considerations associated with other developers using software you wrote. It is a type of mental exercise where you need to put yourself in the mind of the developer using your software. NI's Reference Deign Portal is a good resource for understanding various coding structures, and best practices for designing code for others, and can help with standardizing code for other developers. TBD (Expect this to be a section on various forums, and code repositories that can be added to along with helping out local user groups, and presenting at NI Week and Summits) Other Important Software Topics Source Code Control (SCC) Recommended SCC for LabVIEW Software Configuration by NI Code Management at Center of Excellence VisualSVN - Free SVN Server Software Delacor Blog with SCC Category -SVN Setup for LabVIEW By Delacor (Video) -Git Setup for LabVIEW By Delacor (Video) SOLID Principals Agile Software Development Principles, Patterns, and Practices (book) How Applying Agile Object-Oriented Design Principles Changes Designs and Code by Dmitry SMoReS development Unit Testing NI Unit Test Group VI Analyzer (Automated Code Inspection) The VI Analyzer is a tool by NI that is included with some versions of LabVIEW and allows for automated inspection of LabVIEW software, to check for various conformity or nonconformity to software practices. The VI Analyzer comes with many useful code checking steps but others can be added. Checkout the VI Analyzer Enthusiasts for more community made tests. LabVIEW Style Checklist Center Of Excellence - Learning VI Analyzer LabVIEW Style Guide Rules to Wire By Part 1 Rules to Wire By Part 2 Virtual Machine Usage TBD
- 24 replies
-
- 16
-
Compound this with the fact that these doubles are actually being sent as ASCII strings, with some amount of precision and things get worst. How about a table? Or a 2D array of strings? There could be lots of rows and columns and lots of data to send. I agree that ideally the best approach is the compromise between the two extremes. Don't send just 4, and don't send all, but instead send the 4 +/- some percentage of the total values (or maybe an upper limit of N). The problem is this approach involving a skill I don't have alot of, which is web development. As soon as it is in G I can handle it, but trying to send over say 20 of 100 values, then keeping track of the starting index, the scrollbars position, triggering to get more values, handing if the user scrolls too fast and needs to see blanks until the data refreshes, all is things I have difficulty with. Basically what I'm getting at is you are right this is the best approach, but I'm not certain I'm ready for that type of challenge yet, I'll need to think about it, and hope I get like a week vacation to do it a few ways before refactoring half a dozen times first. Also glad you got something on Windows 10, I haven't experimented with it much but I didn't think there was any additional issues last time I tested it. Again maybe increases security causes issues? EDIT: Oh and Flavo you may want to get the latest release from here. I don't know things are fixed, but your first image showed the first release with WebServices.
- 137 replies
-
Sorry I don't really know the answer to this. Chrome on desktop and mobile is primarily the browser I've been using. I did notice that in IE there is sometimes a security warning that you need to enable something for it to work. It is possible that there is some Edge security thing stopping it from working well. I have put some effort into adding arrays, and scrollbars to this. Scrollbars I think I have working well enough, but when it comes to arrays there are multiple ways to do it and I couldn't decide which way met use cases better so it is on hold until I get some more time to try things out and think about it more. For discussion here is the thought process. If I have an array with 100 items in it, and I see 4 rows, and a scrollbar. How should the data be sent back and forth? Should I send all 100 values with every refresh? Or only send the 4 items that the user can see? The drawbacks to only sending the 4 values the user can see, is that when scrolling that scroll value needs to be sent, and then the new 4 values need to be sent back, and I feel like this would cause a laggy feeling. Of course sending 100 values every refresh is also undesired. Keeping track of the changed values would probably help
- 137 replies
-
XLR8 doesn't depend on having Excel installed at all to work, but it has some major limitations over Excel. Last I knew graphs and charts weren't supported at all. It really is just a way to write and read cell data not too much on the fancy formatting side.
-
So I didn't know where to post this but I thought some might find this interesting. Someone had a HP 34401 bench top multimeter that was working fine, but had a display that was fading and was hard to read. So they probed around the display communication, saw that it was SPI, and then made a device that received the SPI data and put it on a new OLED display. They then fitted all of this inside the old unit so it looks as good as new. https://hackaday.com/2018/08/29/faded-beauty-dmm-gets-an-oled-makeover/ It makes me want to try to find some scrap hardware on ebay and see if I can repair it. Of course I don't really need another random piece of half broken equipment in my office.
-
I haven't heard that argument but I think it is a good one. Often times I will see some odd behavior in a larger application, and then start pruning it until it is small enough to send to NI. It often has a weird unpredictable behavior, and contains some amount of the original application. I will send the minimized program to NI with instructions on how to reproduce it and what the observed behavior is. From my point of view I can't say "Memory allocation when using DVRs in a reentrant inlined VI set to subroutine, causes a race condition with an IPE structure if the moon is out." I just have weird behavior and send it to NI. They have a bug tracking system but I assume my whole project goes along with the issue and my instructions. I'm not sure how easily NI could expose the issue to the world to vote one, or view, without including my application. And even if they did it might not always be clear that an issue I'm having is the same as someone else's. I think a publicly tracked issue tracker is a good idea, and I'd like having it, I'm just saying I can see why NI doesn't do it. Issues with JIRA, and a web browser won't contain 5,000 individual files of source code to reproduce the issue.
-
Yes I was referring to smithd stating: I was saying one reason (again not a great one but one nonetheless) is that if you do wire up errors with no immediate purpose, it does allow for checking the timing between nodes easier by using the error timing probe.
-
So I think part of the reason I hear people say the same thing of "Does anyone at NI even use LabVIEW for real projects?" is because every decently sized project I've worked on has these same types of issues. And it sounds like other users are in the same boat in some sense. If every real project you used LabVIEW on had huge compile time issues, builds that fail 3/4 of the time, constantly needing to delete compile cache to build, long load times when switching contexts, slow drag and drop, long save operations, and other IDE usability issues, then asking "Does anyone at NI even use LabVIEW for real projects?" starts to be a valid question. There certainly has been times when using NXG that I've thrown my hands up, and wonder why someone at NI didn't notice a glaringly missing feature, or a usability issue. Things that I'd hope any real developer would notice. With NXG there is at least the valid excuse that NI is prioritizing features. Sometimes I wish I could just have someone from NI follow me around all day and see the issues I have which aren't show stopping, but annoying enough to hinder development.
-
Another reason to have them (but a poor one really) is that using probes I can check the time it takes to execute functions. These probes generally just operate on the Error data type, but with adaptive probes could likely be made for any anyway.
-
Purely cosmetic. That being said I do have a preference. Inputs go in on the left, and outputs on the right, not from the bottom unless the terminal is on the bottom. I think it is easier to read this way, but don't get hung up on it.
-
Isn't this already handled by VIPM anyway? You include the license, and version constrictions in the package. When you upload code to LAVAG.org you are already authorizing LAVA to store and distribute your code.
-
For the sake of discussion I envisioned it would be done like Porter said. We already have a process for uncertified and certified code. I would just intend on taking all the packages made that are in the certified section and put them into a VIPM repo. We could think about making the uncertified code into another repo, but I'm not sure how often someone making uncertified code would go through the trouble of making a package. I mean part of the point of uncertified code is it is semi-unfinished, or an alpha state, so spending the time to setup a palette and build a package could be someone not done until it becomes certified.
-
That is a good idea, and I suppose we could. All we'd really need is a Windows based server running somewhere with a professional version of VIPM, serving up to a publicly accessible URL. That being said I'm fairly certain this site isn't ran on anything that would allow us to do that here. And then there is the main restriction I can think of which is that only those with VIPM Pro will be able to add this LAVA repository. The free version of VIPM doesn't allow for adding repositories to monitor. I still don't have a good picture on the VIPM Pro penetration in the community and wouldn't want to go through the effort of doing this if there are only a few who would find it useful. I've decided to open a poll to gauge interests but having never done that before I'm not certain I did it right...
-
This poll is intended to help evaluate the interest in having a LAVA code repository that VIPM Professional users could subscribe to. Discussions of this should take place in the original thread, this will be locked.
-
There is also a way to have LabVIEW include the front panel of a VI when building an EXE, that doesn't require project editing and is instead on the VI level. I'm not fully sure what these VI settings are, but what is happening is the compiler tries to determine if the front panel of a VI is used, and if it isn't then it removes it. If you can adjust the VI to convince the compiler to keep it, then it doesn't need to be explicitly kept from the project settings. Some of these settings that I believe will convince the compiler to keep the front panel, is to adjust the Window Appearance settings of the VI. For instance one thing I do is select the Dialog option, and then under Customize I will change Window Behavior to Default. These VIs will have their front panel kept and I believe it is because things like Show Front Panel When Called makes the compiler believe this is a VI that will be shown to the user. I think there are other things you can do to, like adding a property node in the block diagram that does an operation on the front panel. This again makes the compiler believe it should keep the front panel
-
Thanks for, that. Looking more at how VIPM handles this I see a minor bug, or lapse of a feature. If you don't have LINX installed, that License Agreement button isn't there. Only after you choose to install it do you get prompted to agree to the more detailed license, that's why I assumed it was just BSD2. Then after it is installed that button for me at least is able to be clicked. Definitely not clear, but at least there is proof on the internet of someone involved in creating the license, stating the non-commercial use is intended for the deployment to Pi and BB. Now lets just hope no one has to site that in a court appearance.
- 15 replies
-
- daq
- alternatives
-
(and 1 more)
Tagged with:
-
Attached is a test in 2014 that I think demonstrates what can be done. Instructions are on the front panel, and as it mentions this can be made better with a state machine, this is just meant to show what you can do with counting. Counting Test.vi
-
Not sure where that is quoted from, but the LINX package on VIPM Tools Network states the license is BSD Clause 2, with the added exception that: The package doesn't include their whole license file but BSD Clause 2 is quite open, usually just stating that the license notice must be retained in some form like an about window. Not a lawyer, and in my case my end customer is my boss, or my bosses boss. It is a business setting but I'd consider it non-commercial. Again, not a lawyer, and I'm open to being wrong.
- 15 replies
-
- daq
- alternatives
-
(and 1 more)
Tagged with:
-
Keep in mind there is no programming needed (on the Arduino side) if you are controlling it via USB. NI's LIFA, or better yet LYNX has a firmware that gets downloaded to the Arduino, and then the API they developed you use from the LabVIEW palette. It also supports several useful sensors, I2C, SPI, and a bunch of other great things.
- 15 replies
-
- daq
- alternatives
-
(and 1 more)
Tagged with:
-
Is there a reason you didn't upload your images to LAVA instead of hosting it on an external site? Also in the future post the snippet or VI not an image. I wouldn't expect you to take a screenshot of notepad on a text based forum since it would make debugging more difficult. As for the code I don't see a while loop, how does this continually run? Adding this along with some wait functions, or a for loop for testing, and shift registers should make things easier to understand.
-
I'm going to keep going on the extreme cheap side of things and suggest an Arduino. NI already has an API for doing buffered analog inputs, although I don't know the rates I expect on the order of 100Hz. Chinese knocks offs exist for about $3 or $4 with free shipping. Add a buck or two for a USB cable and case, and you have a pretty cheap USB DAQ device that uses NI VISA as it's low level making it work on all NI targets. Making it ethernet controlled via TCP is possible too, it would just need an ethernet shield and some code depending on what LINX supports these days. What don't you get? Fast shipping, expect it to take a month or 2. Also don't expect support, if you fry the thing there isn't a warranty. There is no voltage protection either. If you put 60VDC into it that pin is toast, and possibly the whole microcontroller. Need a yearly calibration for equipment? Yeah you're going to have to come up with your own calibration routine that gets approved. All that being said I have used an Arduino in a real production project...but it was for DIO only, and an unmodified LIFA toolkit which controlled relays in the system through a transistor. It was pretty simple and just for a cost saving on a low risk setup. We considered using a parallel port at one point. As far as I know this test is still in place being used
- 15 replies
-
- daq
- alternatives
-
(and 1 more)
Tagged with:
-
I have a NUC running Windows 10 x64. I've successfully got LabVIEW 2017 development environment installed and things seem to work well.
-
So my experience has been a bit better, but I totally agree with the comments made here. Our projects were in 2015 and things seemed good enough. 2016 came around and I tried upgrading only to find IDE performance and was terrible, with extremely long load times, seemingly unnecessary hour glass, and a Save All that would take about 20 seconds per VI. I reverted to 2015 and told NI about my experience and shared my project. 2017 came out, and it was a bit better so we started migrating projects to it. Upgraded to SP1 as soon as we could. It still wasn't at the 2015 level but I just needed me some VIMs. 2018 came out and I've been thrilled compared to 2016 and 2017. It is hard to say if it is at that 2015 level but in some respects I think it is better. Especially when switching between contexts of different target types. This used to take upwards of 30 minutes to go from a project with one target type, to a project of a different type. Now it is maybe 5 minutes, for this somewhat large project with lots of shared components. I think the main thing NI had to say that was improved, was the checks on if a thing needed to be compiled. In many cases this check to see if things needed to be compiled can be recursive, and waste lots of time when it should be clear to a human that it isn't effected. They tweaked things to make shortcuts in this check that greatly reduced this in some cases like mine. I'm always surprised to think back and how personally this issue has always been there. Trying to use the latest version of LabVIEW has always felt slow to me compared to the previous couple years. I very vividly remember working in 2011 thinking how terribly slow it was compared to 2009, or 8.6, and how editing code was frustrating. Then a few years later I remember using 2013 and when I would go back to 2011 things felt so much snappier and easier to use. And even further with using 8.0 and 8.20 verses 7.1. It is possible that this is just a sign of computers catching up in performance, and these couple year old versions were made for slower machines.
-
Yes I use this all the time. I do wish this extended to Libraries not in an open project, vote here if you feel the same.
-
Placing an XNode on the Functions Palette
hooovahh replied to paul_cardinale's topic in LabVIEW General
I don't fully know what is going on in your situation, but this is one feature NI hasn't talked about but is demonstrated in their own XNodes. When you look at the Error Ring XNode on the palette you see a green/brown rectangle with the "?!" characters in it. But if you open this XNode in the XNode Editor from the full path <LabVIEW>\vi.lib\ErrorRing\Error Ring.xnode, then the icon shown for the library isn't the same as the one on the palette. In NI's case the Help ability for some reason will override the icon in the palette. This is also seen with the Match Regular Expression.xnode. I think this is an expected feature but one I'd argue isn't intuitive and doesn't match other things like the Class Icon constant on the block diagram. We wouldn't want some VI in a class to replace the icon. If we wanted to update the icon of the constant we'd update the icon in the class. I don't have a clue on why in your case adding help causes it to not be able to be dropped. I'd try to set some kind of constant in the Detailed Help for the Image, Bounds, and Terms, which you can get from your other ability VIs by calling them. Then set the Use Detailed Help to True. I think this is because the Help ability is called when needing to draw the icon in places like the help window and palette. I haven't used the Help Ability in any of my XNodes, it's just what I've seen done in others. Maybe if these aren't set, your XNode has no icon, and is being dropped but is invisible?