Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


TomOrr0W last won the day on August 19 2019

TomOrr0W had the most liked content!

About TomOrr0W

  • Birthday November 27

Profile Information

  • Gender
  • Location

LabVIEW Information

  • Version
    LabVIEW 2019
  • Since

Contact Methods

Recent Profile Visitors

2,756 profile views

TomOrr0W's Achievements


Newbie (1/14)

  • Dedicated Rare
  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges



  1. Crossposted to the NI forums here: https://forums.ni.com/t5/LabVIEW/Objects-Containing-References-Discussion/m-p/4127970
  2. During Q&A in one of his "An End to Brainless Programming" presentations, @Darren mentioned that classes wrapping any references should only contain references (From the 2020 GLA Summit - see https://youtu.be/pS1UBZzKl9k?t=1741). This makes sense to me to some degree, as usually you don't want any associated data to be no longer synchronized with an internal reference after branching a wire. It is still a new concept to me, though - if people are willing, I would like to hear more discussion/reasoning on the topic before I wholeheartedly adopt it as a personal rule. Do you know of any other forum posts/whitepapers/recorded presentations on the topic - @Darren mentioned @Aristos Queue having talked about this before? Do you agree with this as a general rule? I assume that any classes containing an object that wraps references also should only contain references - is this correct? Should this rule also apply to normal clusters containing references? Can you think of any exceptions that might make a class with both value and reference data appropriate? I did look through some NI APIs for exceptions, and found a couple in the Actor Framework's message classes: Actor Framework.lvlib:LastAck.lvclass wraps a by-val error cluster along with some objects containing only references (Actor.lvclass and Message Enqueuer.lvclass); Actor Framework.lvlib:Launch Nested Actor Msg.lvclass wraps a by-ref actor.lvclass with some by-val data.
  3. Could you post the bug here on the dark side: Monthly bugs for 2021 - NI Community once you get confirmation/a bug number from NI?
  4. LAVA opens fine for me in Microsoft Edge and in Google Chrome. Note that I am only signed in in Edge, however.
  5. Link to profile photo: https://thenounproject.com/search/?q=Tomorrow&i=2496422 (tomorrow By Adrien Coquet - licensed under noun project's royalty-free license, creative commons 3 minus attribution https://creativecommons.org/licenses/by/3.0)

  6. You might want to post a link to this thread in that thread. The attachment is listed as unavailable - the error message says "This attachment is not available. It may have been removed or the person who shared it may not have permission to share it to this location". Brian's original attachment is also listed as unavailable. Maybe that was JKI's problem all along - they wonder why no one sends them examples while not realizing that they don't allow anyone to post code.
  7. @ShaunR: Were you referring to VI Macros when you mentioned LV 2009?
  8. It looks like the issue is putting nested VIMs in a class. See https://forums.jki.net/topic/2641-vi-calling-vim-fails-to-build-fixed-in-vipm-2017f1/ and https://forums.ni.com/t5/LabVIEW/VI-Package-Manager-Fails-to-Build-with-Malleable-VIs-VIMs/td-p/3871468. @Jim Kring If you are still looking for a simple reproducing case of this bug, here is one.
  9. I get the same errors as you in both LV2019 SP1 64-bit and LV2019 SP1 with VIPM 2019.0.0.
  10. @drjdpowell was able to build a VIPM package that uses nested VIMs. See https://lavag.org/topic/21268-malleable-buffer-seeing-what-vims-can-do/
  11. If you do this, you still end up with a broken buffer wire (you just also get a broken data wire if you choose to incorrectly wire in a scalar). Note that the type of the output wire now matches the input wire now instead of being a DVR. I am using LV2019 64-bit in case 2018 32-bit has a different implementation. If you then convert the malleable vi to an instance vi or copy the type specialization node into the top-level vi, both wires unbreak. Also note that nothing changes if you also do the same change (adding a third case with a passthrough on top and broken data wire on bottom) on the Add to Buffer (By Value).vim called in the Type Specialization [0] and [1] cases.
  12. Hi Cat, I haven't tried an offline install or non-standard location install of any of the NIPM products yet, so I can't help you on the main issues. Wiping all prior NI software (one thing NIPM makes easy is uninstalling everything but itself) before installing LV2019 seemed to work well for me on a couple testers. You mentioned LV2019 SP1, which might have some more caveats for offline installs. NI changed their license manager again with that version - I would be interested to see if it works offline at all (there seems to no longer be a way to cancel the activation login dialog and enter codes, but maybe something will change when offline): https://forums.ni.com/t5/Volume-License-Manager-and/NILM-4-5-Feedback-Questions/td-p/3984686 I've felt for a while now that the NI License Manager 4.x versions are vastly inferior to the 3.x versions.
  13. I played around with the continuous and finite examples using a 9205 (mine is in a 9178 chassis, but that shouldn't matter), and analog start triggers configured on the same AI as the task's first channel seem to work for RSE continuous measurements, but not differential measurements. They also seem to work for Differential finite measurement, but trigger off the channel configured, not the differential pair. Continuous differential measurements exhibit the same behavior in NI's examples as in your code. A continuous measurement doesn't make much sense for your application, as you are only measuring once after the trigger. Once you do get triggering working, you may be able to use DAQmx connect terminals to route the AnalogComparisonEvent (you can find this if you enable advanced terminals in the I/O Name Filtering) to another card, which could then be used to drive circuits without any software timing involvement. If you change to the 9178 or 9179 chassis, one of these terminals could be the BNC connections on the chassis itself.
  14. Try running VIPM as an administrator. I have had similar issues happen when trying to install packages that were cached from the tools network by another user. Cached packages (and some other VIPM settings, I would assume) are stored in %ProgramData%, and Windows 10 seems to think that you shouldn't be able to access files in program data created by (in this case downloaded by) another user.
  15. I don't know of any ready-built solutions, but I did come up with the idea below when you mentioned not wanting to reorder (there may be a way to do this with channel wires, but I am not really familiar with that feature) (vi is also attached, saved to LV2018): Parallel Processing Order.vi
  • Create New...

Important Information

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