Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by jacobson

  1. I'll probably be able to attend a presentation or two each day. I'll also be there for the Tuesday night meetup at the Hideout.
  2. I see two general classes of errors. The underlying communication is just TCP/VISA primitives so, in many cases, the API will just throw standard connection errors (error 56). For specific Modbus protocol error codes (ILLEGAL DATA VALUE) should also be thrown as errors and look to have the value -389110 - ErrorCode. Now what exactly you do with those errors is up to you.
  3. I would say here you are just describing what an Actor does and nothing specific to OOP. An Actor can be an object but doesn't have to be from my experience. I personally think that this use of inheritance can be the most difficult to actually understand/maintain as well. If you've ever used an NI's Actor Framework where the inheritance reaches depths of 5+, trying to understand what the Actor does can be quite difficult (though someone might claim this is because they violated SRP). Perhaps I'm missing some historical context though and should read some older papers.
  4. Not a lawyer but I suspect it's a bit of a good faith kind of thing similar to Visual Studio Community Edition or Visual Studio Code. I also imagine the licensing cost might be cheaper than the potential of getting caught and NI wanting to do something about it.
  5. The red dot just indicates that LabVIEW will be coercing the data for you so whether there is a loss of information depends on what the data is being coerced from and to. For instance, if a U8 is being coerced into a U16 there isn't any loss of data but if we instead coerce the U16 into a U8 we are losing the top 8 bits of data (depending on what we know about this data this may or may not be an issue for us). FXP conversion will likely lose information because LabVIEW tries to preserver the value rather than keeping the bit value and changing the interpretation of those bits. If you attach the project you are working out of we should be able help explain what would happen for your particular case.
  6. What c-series module are you using? In the project, if you right-click the module under the FPGA target, some have the option to change their I/O between calibrated and raw. In this case raw would probably be much easier to work with.
  7. Would you be able to summarize your findings in a table? I'm also interested in what frameworks/methods you were thinking of.
  8. jacobson

    LabVIEW Memes

    Screwdrivers are $29.99 though, that's how they get you.
  9. 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
  10. 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.
  11. Monnie would be the pleased-est to know how many terminals a VI could have in NXG.
  12. Just ask Bob L. It's Flarn, just assume he's talking about something that you're not supposed to touch.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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
  21. 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.
  22. 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.
  23. Not sure to be honest. All of the NI symbols are not handled by me so I just point to some symbol server.
  24. 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.
  • Create New...

Important Information

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