Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 05/21/2021 in all areas

  1. Does it help to re-ask the question as "where should LabVIEW have a future?" It is not difficult to name a number of capabilities (some already stated here) that are extremely useful to anyone collecting or analyzing data that are either unique, or much simpler, using LabVIEW. They're often taken for granted and we forget how significant they are and how much power they unlock. For example (and others can add more): FPGA - much easier than any text-based FPGA programming, and so powerful to have deterministic computational access to the raw data stream Machine vision - especially
    5 points
  2. Yes, I don't assume you use many new features of LabVIEW from the last 10 years if you still develop in LabVIEW 2009.
    3 points
  3. NI didn't say they would be porting NXG features to 2021, but to future versions of LabVIEW. Technically such a promise would have been unfulfillable, since at the time the NXG demise was announced, LabVIEW 2021 was basically in a state where anything that was to be included in 2021 had to be more or less fully finished and tested. A release of a product like LabVIEW is not like your typical LabVIEW project where you might make last minute changes to the program while testing your application at the customer side. For a software package like LabVIEW, there is a complete code freeze except
    3 points
  4. I used to think the future of LabVIEW was bright. I thought CompactRIO was amazing and thought everyone would want to use it for all kinds of control systems. LabVIEW was just intuitive to me, jobs and well paying contractor gigs were plentiful and hitched the first decade of my career to it. Got to do some interesting things but decided it wasn't such a smart idea to be locked to the fortunes of one company, whose decisions didn't really make sense to me. Yes LabVIEW will be around in the same way LISP is. 20 years from now people will reminisce about visual programming and how advanced it wa
    2 points
  5. I don't have these numbers. What I know is that a few years ago, NI noticed that their sales figures were starting to flatten. For a company used to have high two digit growth numbers year after year this is of course a very alarming signal. 😀 They hired some consultants who came to the conclusion that the traditional T&M market NI was operating in simply didn't have left much more air in it to continue to support the growth NI had been getting used to. And strategic decisions were made behind the scene. Not to much of that has been openly communicated yet, but the effects have been quite
    2 points
  6. LINX now is supported on commercial applications starting in 2020 BTW. Your opinion is valid, and you have reasons for it, but I think it might be a bit of forest from the trees situation here. LabVIEW tends to have a one or two major bullet points of new features with each release, with many smaller improvements that are less noteworthy. Some of these aren't very applicable to me and I don't see the benefit of the update, but I can still recognize that a bunch of effort was put into a making it into the release, and makes me think NI isn't sitting idle. I know I made a list like this
    2 points
  7. There is and it is called Interapplication Communication. Which one to use depends on the platform and your familiarity with a specific method. - File IO (multiplatform, trivial to setup, difficult to manage as you have to deal with concurrency of two applications trying to access the same file) - DDE (Windows only, ultra ancient and much older than legacy, don't ever use it if you can help it) - Shared memory (super high throughput, complicated to use, pretty different APIs and methods on each platform) - (D)COM (Windows only, complicated to use from anything else than C(
    2 points
  8. @The Q started such a thing on the LabVIEW Wiki: https://labviewwiki.org/wiki/Text-Based_terminology
    2 points
  9. OK, summing UP, I found three different solution: 1) Using AcroPDF Activex Object 2) Using Ghostscript 3) Using Sumatra PDF And that's all. Thank you
    1 point
  10. This is a 3rd party (and free) solution I've used the past, successfully. Download Sumatra PDF from the website and install. You can use it to print from the command line. .Sumatra Print.vi
    1 point
  11. View File Y Controls Support - Version 2.0.2.0 Installer.zip Installs support for Y Controls. Requires LabVIEW 2019 or later. Submitter paul_cardinale Submitted 05/19/2021 Category General LabVIEW Version Not Applicable License Type BSD (Most common)  
    1 point
  12. Hi folks, Long time reader, 1st time poster (old account got deleted? couldn't recover it) LabVIEW and coffee? Heck yeah, any day. You'll see my spaghetti code come to life. 😄 No, but seriously ... I've always been a big fan of LabVIEW, and ever since NI discontinued their motion offerings, I was really sad for a while. (Maybe because motion was also my specialty as a systems engineer at NI. 🙁) Back in the day, NI had great motion products that worked well with LabVIEW. They worked great for pick-and-place systems, automatic positioning, test systems where you need to mov
    1 point
  13. It turns out that the two day event is actually four hours, so not much room for non-marketing content. Registration is now open.
    1 point
  14. And how would you suppose should your client, who wants to use this library on a cRIO-9064 (just to name one of the currently still possible options which are Windows 32-bit, Windows 64-bit, Pharlap ETS, VxWorks, Linux 64-bit, MacOS X 64-bit, Linux ARM) recompile it without having access to the key? Sure with asynchronous encryption you don't have to publish your private key but then you are still again in the same boat! If you want to give a client the possibility to recompile your encrypted VIs (in order to not have to create a precompiled VI for each platform and version your clients may wa
    1 point
  15. Just saw Nintendo announce this programming game, and a few comments comparing it to LabVIEW. It looks pretty cool, and a fun intro to graphical programming. I don't have a Switch, otherwise I'd probably pick it up. https://www.nintendo.com/games/detail/game-builder-garage-switch/
    1 point
  16. Saw this example code - LabVIEW programmers should feel right at home
    1 point
  17. I've discovered a bug. It appears to be a bug in LabVIEW. Here is what I believe is happening: Hiding inside each instance of a Y Control is an instance of "C: ... \LabVIEW xxxx\resource\plugins\Y Control\Ability Manager\Y Control Ability Manager.XCTL". When LabVIEW loads an instance of a Y Control that depends* upon another Y Control, there are 2 instances of "Y Control Ability Manager.XCTL" that need to be initialized: One for the outer Y Control and one for the inner Y Control. The "Init" ability of the Xctl for the inner Y Control gets called first, and it works OK. However when the "I
    1 point
  18. This very much depends on the used font. Not all fonts specify glyphs for all these attributes. If it doesn't, the attribute request is simply ignored and the font is drawn in the basic form. LabVIEW doesn't draw these texts, it just passes the request to Windows GDI (or Unix XWindows, or MacOS Quartz) and tells it to do its work).
    1 point
  19. I also think that it is the strategic staff that is leading labview in the wrong direction. the concept of labview is certainly unique and has its justification. the strategic decisions are simply the wrong ones. the management should be fired and a few innovative engineers should be left to make the decisions. there are enough new technologies waiting to be implemented with labview.
    1 point
  20. Queues, Notifiers, DVRs and similar stuff, even when seems to be exposed from labview.exe in some form, is totally undocumented. Of course, you could try to RE those functions and if you're lucky enough, you could use few, maybe. But it will take a significant effort of you and won't become worth it at all. To synchronize your library with LabVIEW, you'd better try OS-native API (like Events, Mutexes, Semaphores or WaitableTimers on Windows) or some documented things like PostLVUserEvent or Occur of Occurrence API. To be honest, there are more Occurrence functions revealed, but they're undocum
    1 point
  21. Functionally, dequeueing a SEQ is analogous to reading the DVR in "In Place Element" and analogous to locking a mutex. The 2 LabVIEW code paths above are analogous to this C++ code snippet: // Global variable and mutex std::mutex mtx; int* globalvar = new int; // 1a. Initialize shared resource ("Obtain Queue") int main() { // 1b. Initialize shared resource ("Enqueue Element") *globalvar = 0; // 2. Lock shared resource ("Dequeue Element") mtx.lock(); // 3. Modify shared resource ("Increment") *globalvar += 1; // 4. Unlock shared resource ("Enqueue Element")
    1 point
  22. Hi! I found this discussion while doing research on test automation framework. There is an open source project for test automation that I also found while researching called OpenTAP. It is an open-source test sequencer that is well document and has a pretty decent community. Its extendable and has a .NET core. There is another one called OpenHTF that was created by some Google engineers that is a Python test framework, but it has limited documentation. I don't know if this helps because I have limited software and testing knowledge, but this is what I've found.
    1 point
  23. Reentrant: Roughly also "Reentrant", although... LabVIEW VIs are non-reentrant by default, C/C++ functions are reentrant by default. Unlike LabVIEW, there is no setting to force C/C++ functions to become non-reentrant -- you simply code them in a way that makes them reentrant. In LabVIEW, non-reentrant VIs are impossible to run multiple instances simultaneously. In C/C++, non-reentrant functions are unsafe to run multiple instances simultaneously (it's possible; you'll just break things). Single element queue: Depends on how you use it. I
    1 point
  24. This is for a quick drop plugin, and I'm getting my references from the panel selection list. Generally, I use a "To more specific class" to get specific class reference type and thus the appropriate methods or property nodes, based on the ClassName. The ClassName I'm getting is "Property". The problem I was having is that I couldn't find the specific class I needed for the "To more specific class" function. The answer is, Generic->GObject->Node->Growable Function-> Object Function->Property. From there you get the PropertyItems[] list via property node and iterate thr
    1 point
  25. Looks great! Thank you for the suggestion. Should advise this to my son - he might like it.
    1 point
  26. Found a solution : https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019Ru8SAE&l=fr-FR Luckily, my colleague has the same laptop with similar NI softs installed so he sent me his tdtable.tdr file and then it all works fine again.
    1 point
  27. Hi Makrem, my guess is that your top-most VI is set to be "modal". https://labviewwiki.org/wiki/VI_class/Front_Panel_Window.Behavior_property To change the behavior, go to the VI's properties and chose "Windows Appearance". Then select the "default" behavior.
    1 point
  28. yes it is : https://www.ni.com/fr-fr/support/documentation/bugs/19/labview-2019-sp1-bug-fixes.html
    1 point
  29. The file still exists, only the link above is dead.
    1 point
  30. Take a look at https://github.com/mefistotelis/pylabview You will need 3rd Python and Pillow package: After that you proceed as follows: Unpack the .exe into a separate directory (7-Zip unarchiver works fine for me). Take \.rsrc\RCDATA\2 file and put it near readRSRC.py. Run .\readRSRC.py -x -i ./2 in the command shell. Unpack 2_LVzp.bin to get your VIs. You may also find this thread interesting to read: EXE back to buildable project
    1 point
  31. Many controls have invoke nodes like this to convert the click position to more meaning full info, e.g. where in the X/Y plot you click.
    1 point
  32. That looks cool! My eldest is the right age but has literally zero interest in this kind of thing, my younger one is much more into this but right now is a bit too young.
    1 point
  33. Version 1.5.4

    941 downloads

    Package for working with JSON. Uses high-speed text parsing, rather than building an intermediate representation as with prior LabVIEW JSON libraries (this is much faster). Allows easy working with "subitems" in JSON format, or one can convert to/from LabVIEW types. Uses the new "malleable VIs" of LabVIEW 2017 to convert to any LabVIEW type directly. JSON text makes use of a form a JSON Path notation, allowing easy and rapid access to the subitems of interest. Requires LabVIEW 2017 and install by VIPM 2017 or later. Original conversation about JSONtext. On the LabVIEW To
    1 point
  34. Version 1.11.3

    8,896 downloads

    Introductory video now available on YouTube: Intro to SQLite in LabVIEW SQLite3 is a very light-weight, server-less, database-in-a-file library. See www.SQLite.org. This package is a wrapper of the SQLite3 C library and follows it closely. There are basically two use modes: (1) calling "Execute SQL" on a Connection to run SQL scripts (and optionally return 2D arrays of strings from an SQL statement that returns results); and (2) "Preparing" a single SQL statement and executing it step-by-step explicitly. The advantage of the later is the ability to "Bind" parameters to the sta
    1 point
  35. There are lots of design decisions with C++, C#, and Java that in hindsight are poor, but I don't feel like the author focused on the problematic parts, and maybe confused/conflated encapsulation and abstraction. In my opinion, this style of OO can be best described by: the ability to bundle data (something like a struct or record) and operations on that data (methods, which are essentially functions with an implicit "this" argument) into classes the ability to extend classes via inheritance, and automatically and irrevocably get subtype polymorphism, which can be ad-hoc thr
    1 point
  36. Version 1.0.0

    676 downloads

    Hi everyone, Since GRBL standard is open source, I decided to post my Library that I used in LabVIEW to interface a standard GRBL version 1.1 controller. Not all GRBL function has been integrated, but this is a very good start. Enjoy and let me know your comments. Benoit
    1 point
  37. Two ways to do what the OP is asking. 1. VI Server world: Children have a static link to their parents and Parents have a dynamic link to their children. This means that once a class is loaded into memory, the parent knows about the child. According to the documentation this will NOT work in the runtime environment, but i've used this several times when making IDE Tools. 2. Runtime Reflection: The following code will also give you an array of all of the children loaded in memory, but this time it uses less VI Server so it will work in the runtime environment. I use this when using a
    1 point
  38. Been down this road and after fighting with the 3D graph and 2D picture control I became dismayed at LV's lack of modern 2D graphics with basic features such as anti-aliasing and the ability to define a hierarchy of graphic objects. I was hoping someone would have tried to bring some SVG action in LV but instead had to settle for .net which is actually pretty nice. I spent about 2 solid weeks wrapping .net graphics and produced some very nice anti-aliased radar type graphics. If interested I will try to wrap up my .net libraries and post in the CR. In the meantime you can see some of the res
    1 point
  39. .NET to the rescue... http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx Launch Windows File.vi (LV 2012)
    1 point
  40. Have you heard that joke about UDP? You might not get it... (But seriously; just subscribing here for the emails out of interest on this topic)
    1 point
  41. I hereby resurrect thee... Was looking for this today myself. This is what I came up with: Added benefit is if you supply a variant, the VI will make sure that the returned GUID has not already been defined as an attribute key. It of course generates an entirely random number which doesn't conform to any specification that places significance on certain bits etc...but it suits my needs just fine (creating positively unique keys).
    1 point


×
×
  • Create New...

Important Information

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