Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation


About martin_g

  • Rank

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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
  5. 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.
  6. Thanks for the info. The MSDN OS licenses do look good value for what I'm going to be doing.
  7. 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
  8. 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
  9. If you open up one of the Excel Report Toolkit VIs, you'll see the .NET functions being used.
  10. 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
  11. Thanks for the suggestion Mike, yes that would be a more elegant solution. Thanks for the tip!
  12. 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.
  13. 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.
  14. Thanks Paul & James I'm not looking for a quick fix, so my preference would be to not leave them running.I'll play around with some of the options you both suggested for storing 'State' messages. The network published shared variable property is very interesting, I'll definately take a look at that, but its probably not appropriate for all applications with needing the DSC toolkit.
  15. I've been using sub panels to replace tabbed UI's. In applications with lots of information to display, rather than having a UI with tabs splitting the various views - I have used a sub panel, and various UI's that are loaded when a user chooses. I have User Events passing UI update messages from various parts of the application, and each of the VI's that run in the subpanel are registered for these events - when they are running. The problem I've found is maintaining state in the UI - if a user switches back and forth between different UI views - opening & closing various VI's in the sub panel - depending when the User Event messages are sent, some UI information may be different to when the user closed the UI. To get around this I've started sending query messages to the application when each UI starts - but this seems to be getting a bit complicated, and I'm not sure if the benefits of the subpanel outweigh the hassle of getting the latest values each time a subpanel UI starts. Just wondering how others handle maintaining state with subpanels? Thanks, Martin
  • Create New...

Important Information

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