Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


TomOrr0W last won the day on August 19

TomOrr0W had the most liked content!

Community Reputation


About TomOrr0W

  • Rank
    More Active
  • Birthday November 27

Profile Information

  • Gender
  • Location

LabVIEW Information

  • Version
    LabVIEW 2017
  • Since

Contact Methods

  1. 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.
  2. 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.
  3. 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
  4. I realized you might be including the menu bars, tool bars, and resize handles in the size. I tried turning them off on the 2018 vi, and it still doesn't generate an error (FP.PanelBounds = FP.WinBounds = 100-100-101-101). Panel Size Debug 2018-2.vi
  5. I am able to set panels to 1x1 in Windows 10, LabVIEW 2016-2018. Note that the VI saves with size 1x1, but the panel widens to show the run button when you open the vi. In some subpanel code I am working on in LabVIEW 2016, I found that any pane containing subpanels set to fit control to pane can't shrink below 5x5 without throwing error 1. Panel Size Debug 2016.vi Panel Size Debug 2017.vi Panel Size Debug 2018.vi Panel Size Debug Subpanels 2016.vi
  6. Looking at the readme files, LabVIEW 2015 SP1 is also supported on WIndows 10 (http://www.ni.com/pdf/manuals/374715d.html) if you have issues with the 2016 versions.
  7. Has JKI ever mentioned why they chose to have this restriction? I would ask the question on their forums, referencing this thread, but I don't really want to keep track of another forum account just to ask one question.
  8. My apologies if this is browser-specific (I am using Microsoft Edge). I have noticed that topics being moved to another forum make it so their original forum stays marked as unread even after you click on all the topics (including the moved one). You can use Mark Site Read to clear this state, but it seems like a forum bug. Example below: All LabVIEW General topics have been read but a topic was recently moved (in the red box): Yet LabVIEW General is listed as unread on the main page: and the Software and Hardware Discussions Page:
  9. Hi David, I tested this on some versions I have access to: 2009: No Error Prompt (Yes, I double-checked that Automatic Error Handling was turned on) 2015: Error Prompt Appears 2017: Error Prompt Appears 2018: Error Prompt Appears
  10. Assuming your pulse is a pulse on the strain gauge itself and not the lightbar, the specifications of the hardware you selected should be capable of capturing a pulse in that range. I would recommend taking buffered measurements with a Windows system. If you need to react to this pulse as it occurs, you may need a real-time system instead. The NI 9237 can capture at 50 kS/s (or 20 us per sample) - http://www.ni.com/pdf/manuals/374186a_02.pdf. This is more than enough to detect your pulse without aliasing (>2 times the frequency) and to give a decently accurate representation of the signal (>10 times the frequency - http://www.ni.com/white-paper/13655/en/). The NI 9425 is less clear, but it appears to be able to measure down to 8 us per sample - http://www.ni.com/pdf/manuals/373782b_02.pdf. However it may not be capable of buffered measurement (https://forums.ni.com/t5/Digital-I-O/Can-NI-9425-DI-be-buffered/td-p/3368527).
  11. I can confirm this with LV2009 (32-bit) and LV2018 f1 (32-bit). This is from fresh vis, not copying one of the snippets in the thread.For Darren, if you try to wire from the constructor, you cannot find the terminals. It is only if you create another object and try to wire it to the constructor that you can connect to the terminals (or if you try to wire one of the other terminals on the constructor to the hidden ones). Also, their vertical location is in the center of the constructor, so if you are trying to connect to the top, it will appear that they don't exist.
  12. If I am reading the directions correctly, you can break this reading up into sections: (character 1) T1 Polarity = + (characters 2-7) T1 Value = 0x0056A4 = 22180 (character 8) Thermocouple Type = K (character 9) T2 Polarity = + (characters 10-15) T2 Value = 0x005640 = 22080 (character 16) Unknown = _ (character 17-22) Timer =000353 (character 23-30) Meter Status = ________ (character 31) = Carriage Return (part of a new line character) (character 32) = Line Feed (also part of a new line character) The calculation shown is to convert a hex value to a decimal value and scale it into an actual temperature (divide by 1000). Mentioning MSD and LSD is just so you can order the Hex value correctly when converting to decimal. 0x0056A4 = 0 * 16^5 + 0 * 16^4 + 5 * 16^3 + 6 * 16^2 + A * 16^1 + 4 * 16^0 = 0 * 1048576 + 0 * 65536 + 5 * 4096 + 6 * 256 + 10 * 16 + 4 * 1 = 0 + 0 + 20480 + 1536 + 160 + 4 = 22180 Your temperatures are 22.180 and 22.080 (not sure what unit; probably degrees Celsius). In LabVIEW, you can use code similar to the following to make the conversion: Conversion Example.vi
  13. I finally decided to put an idea up on NI’s idea exchange to improve the process of activating NI Software via web page here (they broke some things when switching to NILM 4): https://forums.ni.com/t5/Additional-NI-Software-Idea/Bring-Back-the-Web-Page-Activation-Link-in-NI-License-Manager/idi-p/3791221 I also noticed a couple good License Manager ideas by others: https://forums.ni.com/t5/Additional-NI-Software-Idea/License-Manager-Provide-option-to-remove-serial-keys-from-disk/idi-p/2198792 https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-a-QR-Code-2D-Bar-Code-Option-To-NI-Product-Activation-Dialog/idi-p/1428900 https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Smartphone-application-to-activate-NI-Software/idi-p/2161064 (already mentioned earlier in this thread by its creator, Antoine Chalons)
  14. Does anyone have a method for preventing a class from being inherited by other classes in LVOOP? This question came up while researching Object-Oriented API Design guidelines, one I came across in text-based languages was "Design and Document for Inheritance or Else Prohibit it" (see Slide 26 of http://lcsd05.cs.tam...des/keynote.pdf; there is also a video of the presentation on YouTube). In the case of classes that are reused within a team or publicly distributed, the issues discussed there with changing implementation details in the class being distributed potentially breaking children seems to still be valid in LabVIEW.
  15. TomOrr0W

    Loop timing

    Note that this vi will use about 100% of cpu time (it will also interfere with timing of other code if you only have one core) on one of your cores due to the lack of a wait function. Adding wait (ms) with an input of 0 ms inside the body of the loop will still use 100% of cpu time, but it will not interfere with other code as much. A 10 ms wait drops that to be close to 0% (assuming you can tolerate being up to 10 ms late).
  • Create New...

Important Information

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