Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by jacobson

  1. Would you be able to summarize your findings in a table? I'm also interested in what frameworks/methods you were thinking of.
  2. jacobson

    LabVIEW Memes

    Screwdrivers are $29.99 though, that's how they get you.
  3. It looks like the morning sessions (as well as the keynotes) on Monday are limited to Alliance Partners but the afternoon technical sessions are open to everyone. Source: https://forums.ni.com/t5/NIWeek-Discussions/2019-NI-Week-Alliance-Day-open-to-the-general-public/td-p/3883876
  4. It's from "Connector Pane Pattern Reference.vi". There's no code it's just an indicator showing the pattern numbers and the terminal index mapping. Just a handy reference for scripting.
  5. Monnie would be the pleased-est to know how many terminals a VI could have in NXG.
  6. Just ask Bob L. It's Flarn, just assume he's talking about something that you're not supposed to touch.
  7. This may be a misunderstanding from my end but I thought if you did not include any license then your code defaults to "not really open source". I'm not a lawyer but choosealicense.com/no-permission/ is where I was reading that and I have used the site before to get the TL;DR for licensing.
  8. You might want to give https://tldrlegal.com/ a look although as I am also not a lawyer I can't really verify the correctness of any information they give. I would start by looking at the most popular but the ones I hear about most are BSD, MIT, and Apache. The NI DCAF tools are all under Apache 2 which lets users do basically anything they want to do with the code but doesn't hold you liable (again, not a lawyer). I don't know of a good way myself. GPM (https://gpackage.io/) looks promising but of these things very much rely on a network effect. GPM also looks much more focused on project libraries and not editor enhancements such as quick drop and right-click plugins or even templates like TLB' or DQMH. Because there isn't really an easily searchable centralized repository of LabVIEW code that I know of, I think you have to be a good self promoter if you want people to use any LabVIEW software. I think Fabiola (DQMH), Q (QControls), and Derek (Solution Explorer, GPM, MGI Stuff) all promote their stuff well if you want to see what they are doing (I think it's a mix of quality products, quality documentation, and continued promotion of the product) Also make sure to check out the Distributed Control and Automation Framework (DCAF) when you are starting your next embedded control application.
  9. If it's something meant to go in the Tools menu, a QD shortcut, or right-click menu then you might want to make a package. Other than that I would agree that the menus and packaging of an API would be the last thing I would do.
  10. What exactly would be put in this repo? Would the LAVA CR essentially become this repo? Also, would there be any gatekeeping process? I mostly want to understand what the quality of code I could expect from the repo would be. If anyone could submit anything they wanted I would probably not ever take a look.
  11. I couldn't find a method for "Convert Instance VI to Standard VI" as you can from the right-click menu but it looks like if you get the VI reference from the subVI you get a reference to the instance VI so you could potentially just copy the block diagram and put it into new VI (reconnecting the terminals might take some work). I'm not sure what the best way would be to figure out whether the subVI is a VIM. If you grab the subVI reference and try to pull the VI Path you just get <not a path> and the VI name returns some crazy UID.
  12. As I posted on the ni.com forums but it would be great if people made sure to notify the NI security team first. If they aren't going to fix the issue or are completely unresponsive go nuts but I would at least want to give companies the opportunity to do something first. http://www.ni.com/support/security/ I sent security@ni.com an email at 4:45 and got a response at 4:46 (not an auto-reply) so, if nothing else, it's clear that they want to hear about these things.
  13. If you get a reference to the specific ProjectItem in the project, there is a private method in the ProjectItem class which allows you to select/highlight items in the private tree. It works for the simple case I tried. Send me a message if you can't find the method.
  14. You could just gut out the main scripting code and put it into something like the Scripting Springboard NormK has posted. Instead of a right click you select the property nodes or local variables and click a floating button that will execute the scripting routine on those objects. https://forums.ni.com/t5/LabVIEW-APIs-Blog/Automating-LabVIEW-Development-with-the-Scripting-Springboard/ba-p/3475829
  15. I'm not sure if it was ever really tested to run on RT but from what I found, it doesn't seem like the Test Event Global function ever returns True from the First Call? primitive so it never actually spawns the process in the first place (once you connect to the RT target it reserves the VI for execution so maybe this has something to do with it?). I was interested in running this on RT as well so let me know if you get that part working. Once you get that part working I still think that you would need to change "VI Name.vi" to ignore any errors generated internally. In my case, the VI throws error 53 at the property node which results in the test never being registered although I think we would be safe to ignore the error as we are just getting the VI name from the call chain in that case. Just remember to not also clear any errors coming into the VI itself.
  16. Were the old NIWeek videos moved to another location? I could only find the 2018 videos on the LabVIEW_Videos login and thought there used to be previous NIWeek and CLA Summit presentations on that login.
  17. Not sure to be honest. All of the NI symbols are not handled by me so I just point to some symbol server.
  18. Hard to say too much but even without any NI symbols, I get the following call stack which, to my untrained eye, seems to indicate that the camera driver you are using is calling causes some clr exception. I don't have any symbols for the pvcam64 driver so I don't know what call is being made.
  19. I usually don't recommend using the first token unless you are trying to capture a specific crash. Full crash dumps can be very large and not only will crashes generate full dumps but all DWarns will create full memory dumps so the LVInternalReports folder will get pretty enormous in most cases. I'm not 100% certain but doesn't the DWarnDialog token just show a modal dialog window on any DWarn? I remember doing something like that at one point and just found it very annoying personally.
  20. There's not much specific information in your particular lvlog although in general there's only so much information you can get from it. The header information is obviously helpful to any third-party looking at your crash but it's just telling us about your system, LabVIEW version, uptime, etc. so most things that you already knew. All lvlogs will have at least at least one <DEBUG_OUTPUT>. You have a single debug output which only tells us that the system crashed but does not have a specific DAbort which is a (sometimes) more human readable print of what the problem is. If you do see a DAbort you can try to search that online but it's still pretty difficult. Sometimes you may also see a bunch of DWarns which are more of warnings but if you get a stream of the same warning it's probably helpful to try looking that up. Below the debug output header you see the call stack but you don't have the symbols so you can't see any LabVIEW functions. For this particular crash you could probably load 86cc2439-b4d5-448a-928e-3b3ce5e7e03a.dmp and see most of the call stack because it's mostly acting in Microsoft things. NIER interface is just the method of reporting the crash so even though you won't see those particular calls it's not really important to you. To answer one of your first questions, KERNELBASE looks to be the last call before the crash was reported so that may be the faulting module but that doesn't mean that the real problem wasn't upstream so the best thing to do at this point would be to get some sort of reproducing issue and set up a service request. If you can attach 86cc2439-b4d5-448a-928e-3b3ce5e7e03a.dmp form the crash .zip that was created I can take a look but I can't promise all that much. As a side note, LabVIEW NXG prints the full call stack when it crashes so that's pretty nice. Also if you are using Windows 10 and haven't done any debugging with .dmp files before I would recommend using WinDbg Preview.
  21. I don't know what the recommended way of doing what you want is but you can definitely put a second while loop in one of the children's actor core. You have to make sure you have a way to stop that while loop though. Maybe just put an event structure with a specific timeout and send a user event to stop the loop (and possibly another message to change the timeout)? http://zone.ni.com/reference/en-XX/help/371361P-01/lvcomm/af_td_send/
  22. No great first hand experience but I can't say that I have seen any issues come up dealing with the reliability of webservices on cRIO specifically in any service requests I've dealt with or been asked to take a look at. I've seen plenty of issues come up but the only problem I remember being specific to RT systems is that VxWorks and PharLap store important app and system web server files in the temp folder though which seems insane to me.
  23. The ability to configure alarms to trigger automatically when shared variables reach specific values and potentially require acknowledgement from users is a feature of the DSC module. You could certainly program this feature but you would just be polling the shared variables and comparing them to your alarm values (I believe tying shared variable value changes to LV events is also a DSC feature).
  24. I really appreciate that you included a change log for the event. Looking forward to the BBQ as always.
  • Create New...

Important Information

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