Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 02/09/2021 in all areas

  1. Update: I used the dll call from the link @dadreamer provided, and made a Messenger-Library "actor" that I can use for debugging. Already found a couple of bugs with it.
    3 points
  2. I am just starting on trying to be able to use Python code from a LabVIEW application (mostly for some image analysis stuff). This is for a large project where some programmers are more comfortable developing in Python than LabVIEW. I have not done any Python before, and their seem to be a bewildering array of options; many IDE's, Libraries, and Python-LabVIEW connectors. So I was wondering if people who have been using Python with LabVIEW can give their experiences and describe what set of technologies they use.
    2 points
  3. Well, seems like I had to say that LabVIEW also should behave as RTE does, but it does not for some obscure reason. So, my bad in phrasing there. It's not so easy to answer, not knowing how Vision internals work. I suppose, it has something to do with the way, how Vision's memory manager allocates memory. Perhaps it's more optimized to work in LabVIEW and less (or not) optimized for EXE's. I noticed that in IDE IMAQ Create takes nearly the same amount of time to run (0,03 to 0,06 ms), while in RTE that amount starts at 0,03 and raises on each iteration. Here are the shots to illustrate. I
    2 points
  4. I checked with LabVIEW R&D, they said there is no way to determine this information in G code.
    2 points
  5. Adding to crossrulz suggestion. If you do want simple I2C or SPI, using an Arduino is a great solution in LabVIEW. NI has their LINX toolkit, which downloads a known set of firmware to the Arduino, and then in LabVIEW you have the LINX palette which basically tells the microcontroller to execute some set of steps. These commands are just serial commands, and when plugged into USB should appear as a normal VISA device in LabVIEW. I don't have a pharlap system to test with but with other remote devices I've used they just get enumerated when they are plugged in. I personally have not us
    2 points
  6. I'll give it a shot later today. Might require Wireshark.
    1 point
  7. You can reverse engineer the protocol with NI-trace. It is quite trivial.
    1 point
  8. 1. Nowadays, Git 100%. 2. Love it. 3. I forced it on my team, but even for my hobby coding, I use SCC. Those closer to retirement are having a hard time. For the younger folks fresh out of school, they'd be surprised if we didn't use Git. I wouldn't bet that all of them know what SVN means. 4. Pros: Large support community online. When stuck, I just spell it out in the search engine and I find a post on stackoverflow that solves my problem It allows enforcement of a workflow that achieves modularity by design, through submodules. Easy to deploy a repo
    1 point
  9. I've just pushed new branch to Dr Powell's repo, and built a new version of this package. I used LabVIEW 2017 SP1. What's new : added support for Linux Rt targets (possibly Linux in general but not tested) (issue #1) added support for boolean parameter (issue #2) fix a weakness in parameter detection (issue #3) VIP 0.2.2-b16 can be downloaded from here.
    1 point
  10. I had no idea there were so many out there! http://blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots/
    1 point
  11. I would much rather than IMAQ references behaved the same as other LabVIEW references, like Queues.
    1 point
  12. How to get a list of image buffers? When I need some piece of code to run in a few instances simultaneously, I just set unique image names based on the meaning/purpose, what that code is invoked for (e.g., "sensor 1 - binarization" or "scanner - edge locator" and sort of). No extra magic here. And I even don't dispose the rest of images, as they are always reused on subsequent runs of the program (and between loop iterations too). Although I never launched too many IMAQ code in parallel (max. 5 threads, I think).
    1 point
  13. At this point, I would probably go a slightly different route. You could get an Arduino or Raspberry and program them to do the I2C communications for you. In the RT system, you can just communicate the data through a serial port. Another option I have been tempted to go with is to use a SC18IM700IPW, which is a I2C-UART chip. Again, you just have to use a serial port to talk to it. But this would be more hardware design than the other option.
    1 point
  14. Sorry, in the older version you have to do it manually using property nodes.
    1 point
  15. Dr. Powell pretty much gave my answer (stated more eloquently ). It's something to look out for when branching wires... by-value data is now a copy, while by-reference still refers to the same thing. Be aware of that when you start mixing by-value and by-reference inside class member data.
    1 point
  16. It's the inconsistent state that is the problem, where the by-value bit is inconsistent after the by-ref bit is changed in parallel. That doesn't always happen; sometimes either the value or the reference bit never changes. But one needs to be aware of this issue.
    1 point
  17. Hello. I haven't gone through the links provided in the opening post. However, it appears that Darren's recommendations pertain to the concept of (class or object) immutability - the general idea being that, once an object is created, its identity must be unique in your application domain. Note, however, this does not mean all class data members are constant - just the crucial attributes that 'define' the object. For example, a human being continuously evolves since inception. However, certain traits remain immutable, depending on the domain of reference: Biologically - DNA; Government -
    1 point
  18. In the LAVA-CR is a 1.14.5 version that includes a service-discovery implementation using UDP messages. See the example "Example Reconnecting TCP Client with UDP Service Discovery.vi".
    1 point
  19. It could make sense if the PostgreSQL DLLs were compiled with Microsoft Studio 2010 or 2012 or similar (not sure which Visual Studio version is used for compilation of LabVIEW 2015) and set to use dynamic linked MS C Runtime library. It is old enough to not be standard on a recent Windows 10 installation and not new enough to not be tightly coupled with a specific Microsoft Visual C runtime version. Since about Microsoft Studio 2015, the Visual C runtime has stayed at version 14.x and doesnt with each new version require a new runtime. It's still possible that a newer Visual Studio application
    1 point
  20. Version 2.4.1

    3,228 downloads

    Variant Probe V2.4.1 Copyright © 2012, Ton Plomp All rights reserved. Author: Ton Plomp tcplomp@gmail.com Distribution: This code was downloaded from: http://lavag.org/index.php?app=downloads&showfile=19 Description: A custom probe to put on a variant. It will create a tree based on the variant data, and populate the tree with the data, the attributes of the variant will be shown as well. The datatype description will determine the color of the tree items. Historical data is available as well. Version 2.0 introduces a Variant Tree XControl which can be used in any project. Lo
    1 point
  21. I'm not a fan of the Image type for the vision stuff either. I keep getting caught out even though I know how it works. A lot of vision stuff I do requires acquiring and image then creating various masks and applying them (often one after the other or in various combinations). The UI though, normally requires showing of original images and the results of the various stages of mask applications therefore you end up copying everywhere so as not to overwrite the originals or the intermediate results of a mask. It gets very messy But my pet hate is that you cannot wire a VISA refnum to an event
    1 point
  22. QUOTE You need to obtain a reference to the Root of the Project and then read the ProjectItem "Find Items with No Callers" See below:
    1 point
  23. My tuppence ... choose one, LabVIEW or Python. You can create services which interact through TCPIP or REST API's but keep them separate. If you have 20 python devs and one or two LabVIEW developers then you are on a hiding to nothing. Python won the war a long time ago and it's time to learn Python. Not the answer you were probably looking for but you'll end up mostly doing IT and configuration trying to get your LabVIEW python stuff to work anywhere except your dev machine.
    0 points
  24. That's because it's hard-coded to return a simple Boolean when compiled. int PQisthreadsafe(void) { #ifdef ENABLE_THREAD_SAFETY return true; #else return false; #endif }
    0 points


×
×
  • Create New...

Important Information

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