Jump to content


  • Posts

  • Joined

  • Last visited

Profile Information

  • Gender
  • Location
    Chester, UK

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2012
  • Since

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

martin_g's Achievements


Newbie (1/14)



  1. Fixed the issue, but that was frustrating! Fixed it by removing the offending vi 'Get Default Class.vi' from the class & project, then re-adding it. Builds fine now, no idea why! Hope this helps someone. Martin
  2. Hi, Today I started getting a Load Warning Summary when running my .exe build specification - no idea why, and it is causing the generated .exe to be broken. I think it's basically saying in the Load and Save Warning List message box attached that LabVIEW is loading DataStorage.lvclass from within the .exe, when it was expecting it to be within the source code. The build completes, but with a broken arrow as the .exe can't find DataStorage.lvclass All I've done today is add some functions to the class, but nothing major. I've tried multiple things to fix it, including a Mass Compile but to no avail. My next step is to revert back a couple of versions to find a version that will build so I can track down what I did to break it. The other thing to say is that this error message appears when about 50% of the way through running the build (during Compile), so it's like when LabVIEW tries to load the class from the vi during the build it's loading it from the .exe rather than source code !? Any ideas would be appreciated if you've seen a problem like this before. Thanks, Martin
  3. Just started using this tool, thanks for sharing this, great work! So far it has made me much better at keeping VI descriptions up to date.
  4. I tried adding the .lvproj file within the project but got an error message that 'An item with this path already exists in the project.' Shaun's suggestion is very simple, which I like, so I'll try a post build VI to copy the .lvproj. Why I want to do it is a bit complicated, but briefly; deployment has been done with an .exe. There is now a requirement to share the entire source code for the project and I want to protect some IP within the project.
  5. Thanks jcarmody, hoovah. I'll try modifying that VI as my goal is to protect my IP - so removing the block diagram is my preference. Ensengre - you do get all of those options when creating a source distribution, which is great. But you cannot include .lvproj information in a source distribution. I've got a compactRIO setup in my project, and I need to include that in the distribution that I create.
  6. Hi, I've got an RT project which I need to distribute the source code, My .lvproj contains multiple .lvlibs + deployment info for a cRIO. I'd ideally like to create a distribution that includes the .lvproj file and also removes the block diagram of certain VI's in this distribution, if I can't do that I'd at least like to password protect some key VI's. Options I've tried: - ZIP file - this includes the .lvproj and all the RT info I need, but there is no way to add passwords or remove a block diagram. - Source distribution - I can remove block diagrams, but I can't include the .lvproj file with my RT info. I could go in and add passwords to every VI in my hierarchy that needs protection, but that will take a while, and I don't require the passwords in my development copy, just in the distribution. Is there a way to do what I want? Cheers Martin
  7. Generally, I'd approach this by having a top level sequence with sub sequences that define the high level tests. Then use pre conditions on tests & sub sequences to decide whether or not is should run. This let's you create generic top level sequences that execute specific tests for products at run time. I'd push all of the model / part number identification code into the sequence model ( by creating a custom model) and maybe even put Pre Step actions in there to do checks before each test step. My starting point would be to map out the tests required and look for commonality of tests. That would tell me what my sub sequences should be. Have a look at the Test Stand advanced architectures PDFs & Test Stand 2 training course - that's good for custom sequences & architectures.
  8. Thanks for the info. The MSDN OS licenses do look good value for what I'm going to be doing.
  9. Apologies for resurrecting a way old thread, but I noticed a few posts lately mentioning the use of VM's to manage multiple versions of LabVIEW. At the moment, I'm trying to support many applications from 7.1 to 2014 and all in between. So I'm wanting to switch to VM's to make this a bit easier than multiple laptop's and complex re-configurations. I'm a bit confused on the best way to do Windows licensing though, as I may end up with a lot of VM's if I have one for each LV version. I've googled it a bit including this and I think I need a Windows Volume license + Software assurance. Is that right? And if you're running multiple VM's with Windows what's your experience? Thanks, Martin
  10. Great question, and Peopleware is a great book. For me, once my low level Maslow needs are met its all about fulfilling work that makes me feel like I'm growing and making a valuable contribution. I'm an avid reader, I enjoyed Peopleware. I'd say the definitive book on this in recent years is Drive by Dan Pink, well worth a read if motivation at work interests you. Martin
  11. If you open up one of the Excel Report Toolkit VIs, you'll see the .NET functions being used.
  12. You need to use a relay that can switch thst voltage & current. The NI 9478 is good for switching solenoids, some of my clients have used it to switch 2 million cycles without any problems. Cheaper option: NI did a USB solid state relay card that couls switch 24v up to 0.5a - USB6525 Alternatively use a TTL output device and pick some relays that will switch the load
  13. Thanks for the suggestion Mike, yes that would be a more elegant solution. Thanks for the tip!
  14. Hi Mike, I create the DVR ref at startup, bundle up all my references and pass them throughout the application. Yeah, it is a bit like a global, but I think I need a kind of global functionality. I can potentially change state of the application from many different places, but I want to keep one copy of the overall application state. Handling write access is a good idea though, At the moment anything anywhere can write to it, I've created accessors to write one element of the application state on each call. I can maybe move those around into private scope of a library. i.e. add the write 'Logging' function as private scope within my 'Logging' library.
  15. So I managed to get back to this issue this week, and implement a solution. I created an 'application state' cluster and used a DVR to access it, I update the DVR in event structures that are registered for the User Event, when it's appropriate to update state. At the moment, it's a pretty basic structure with booleans for 'Test Running' 'Logging' and a few others, but I think it solves my problem. When I launch a new UI in a sub-panel, I read from the DVR the current application state, and then format my UI accordingly. On this project, I didn't have time to separate 'Event' and 'State' messages, but next project, I think I may combine this method with the DVR. Then it would be clear that all 'State' messages should be updating the DVR, but no 'Event' messages should update it.
  • Create New...

Important Information

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