Jump to content


Popular Content

Showing content with the highest reputation since 05/01/2020 in all areas

  1. 6 points
    Thanks for putting down all your thoughts and providing examples, Neil. I agree with every point you've made. Have you used the Shared Library Interface editor yet? That's some next level UI inconsistency. I wrote a couple of blog posts on my experience converting a small (< 100 VIs, < 10 classes) LabVIEW project to NXG (see Let's Convert A LabVIEW Project to LabVIEW NXG! Part 1 and Part 2). During the process I made a lengthy list of issues and came to the same conclusions many people have voiced in this thread. Of the issues uncovered during the conversion, some were due to missing features or bugs, some a lack of understanding on my part, but a surprising number were due to interesting design choices. The TL;DR of the blog is there is nothing in NXG for me to want to continue using it, let alone switch to it from LabVIEW. Which is sad because I was really hoping to find something to look forward to. Here's hoping for a LabVIEW NXG: Despecialized Edition!
  2. 5 points
    My experiment with NXG is now over. A simple web page has taken about 5x longer than I had planned for. Some of this is due to me underestimating the nuances of the web module but most of it has been me fighting the new IDE. The other night instead of happily diving into some after dinner software development fun I was actually filled with dread at the thought of having to open NXG and finish what I started, it really is that unpleasant to use. For me, NXG is nowhere near usable in a real project that I expect to have to develop, maintain and make money off. Some stuff seems to work, but everything has this toy feel about it. It is ugly, sluggish, unintuitive and absolutely repulsive to develop with. Sorry that sounds harsh, but it has been in development for over 8 years and has an incredibly strong pedigree to compare against. NI have taken almost everything that made current gen so special and thrown it in the bin. NXG is clearly being managed and developed by people who have never actually become intimately familiar with LabVIEW. I will check back in a few years time but at this point I am extremely disappointed and now need to think very strongly about where my professional systems development career is going. Current Gen is going to be sunsetted at some point and will fade into irrelevance due to its closed source nature (not that open sourcing something of its complexity would help now, it is too late for that). I could wait a few years if I had confidence that the ship was sailing in the right direction, but apart from AQ who consistently has the courage to actually even reply to these threads there is virtually nothing coming back from NI and I feel that the HMS NXG-itanic is sailing full steam ahead towards its doom. NI is run by extremely clever people who have no doubt done their sums and analyses and are charting the course for NXG that they think will bring them the most success in the long-run. I have a strong appreciation for just how big an undertaking something like NXG is, but given where it is after 8 years of development it just seems that I am not the target market and there is not too much I can do about it. Happily, given how robust NI hardware and current gen LabVIEW actually are I suspect there will be quite a bit of work supporting old systems for at least another decade (perhaps more).
  3. 4 points
    So first I want to acknowledge some areas we could have done better. I have been involved in a number of discussions around what our migration strategy looks like, and the biggest gap we immediately identified is a lack of clear external messaging, so that is something we are looking to address. I have talked to all different kinds of users, and in a relatively short discussion we are able to align on whether or not NXG is ready for their use case. That is great, but you should be able to make that determination yourself by looking at public documentation, it should not require a call with me or a frustrating session of attempting to migrate an application. NI has tried to provide this in the past with the LabVIEW roadmap, but it doesn't have enough detail for you to make a high confidence decision. For example, it is not possible to differentiate between functionality that is not complete yet versus functionality which was intentionally omitted or intentionally changed. We have also not done a very good job of explaining the background of specific decisions - which leads to some of the feedback in this thread where it seems like we have changed everything for no reason. Certainly I can point to some changes which were mistakes, and generally speaking we have the flexibility to undo those changes, but many of the bigger changes were intentional, designed, tested changes which we believe are an improvement. We intend to do a better job of publicly documenting those decisions. It is hard to overstate the reorganization efforts that have happened within NI over the last couple of years. Last NIWeek Eric Starkloff talked about how we were organizing the company around business units instead of around products, and that has had broad reaching impact, but we were making major shifts in the way we built products in the last couple of years anyway. Like many of the large software companies we have been shifting to a user-centric development model where we actively try to bring the user into the development process instead of thinking we know what they need and developing in secret. A good example of this shift is the introduction of the product owner role in NI R&D, a role focused on ensuring we are delivering the right value to our users. Both the product owners and product planners have long histories of working with LabVIEW, so you should not feel like the decision makers working on LabVIEW NXG are completely detached from LabVIEW - in many cases the decision makers for the two products are the same. There have definitely been teething pains with this shift, but we are getting better at it. I saw several comments about feeling left out of the decision process, and there are certainly some valid concerns, but I would also point to the level of engagement over the last few years where the product owners and product planners have attended and solicited input at the CLA summits, GDevCon and NIWeek. We also have quite a few targeted user engagements when we are working on defining features and workflows. We can absolutely do more, and we plan to, but many significant product decisions have been made as a result of those engagements. Remember that there are a lot of LabVIEW users out there, and we can't talk to all of them. A light-hearted analogy would be to seeing the results of a national poll and saying - 'well nobody asked me!' That being said, I do want to increase my engagement with this community, and there is clearly a lot of passion about making LabVIEW NXG the best it can be. I would love to set up some 1x1 interviews with those of you who are interested so I can better understand how you are using LabVIEW today. I will start a different thread about that. Back to the main point - it is important to understand what LabVIEW NXG is today versus what it will become. LabVIEW NXG today is not ready for most of the applications of this community. You are some of the most advanced LabVIEW users around, and are collectively using nearly every feature in the product. As Stephen said early in this thread - NXG has many nice things, it just isn't ready for him (or most of you) yet. We are trying hard to get there and have made substantial progress, but there are still functionality gaps. We expect that you will continue to use LabVIEW for at least a few more years until NXG is more complete for your workflows. I saw a comment about not wanting to develop an application of thousands of files in NXG, and I agree that I don't consider NXG ready for that either. Similarly - converting a large project from LabVIEW to LabVIEW NXG is not something I would recommend yet either. The Conversion Utility and associated tooling is more effective for converting instrument drivers and libraries. To be honest I was surprised that no one in this thread pointed out that there is currently no way to probe classes, and no way to make custom probes. Yes we are already at version 5.0 and we still haven't built a full replacement for LabVIEW. That is a reflection of the incredible array of features in LabVIEW and the diversity of users and user cases that this community contains. However version 1.0 was not intended as a full replacement for LabVIEW and neither is version 5.0. For a subset of our user base who are building less complex applications NXG is ready for them and they are using it. For example a lot of work went into the workflow of helping a simple user take and process their first measurement, and we are building out from that foundation. When I talked about our reorganization and change in philosophy - that also translates into how we prioritize features and workflows. We are not just racing to recreate every last piece of LabVIEW in LabVIEW NXG. We are trying to understand the problems you were using those features to solve so we can determine if that same solution is the best choice for NXG. I plan on also addressing some of the specific points of feedback in this thread, but this post turned out much longer than I had intended! Hopefully that provides a bit of framing around the current state of LabVIEW NXG. Thanks, Jeff
  4. 3 points
    There are multiple considerations: Public IP address: Your mobile carrier (or Internet service provider) assigns you a public IP address. STATIC public IP address: Be aware that this is an increasingly rare commodity. I don't know which country you live in, but I'd be very surprised if your consumer mobile carrier provides static public IP addresses anymore. You might find a commercial/enterprise provider that still sells static IP addresses, or you can use a Dynamic DNS (DDNS) service like https://www.noip.com/ -- DDNS allows you to connect to an address like neilpate.ddns.net which stays static even if your IP address is dynamic. Unique public IP address PER DEVICE: Unfortunately, if you have 1 SIM card, you will get 1 public IP address to be shared between your Windows PC and all of your cRIOs. This is the same as your home Internet: All the PCs, laptops, tablets, phones, and other smart devices that connect to your home Wi-Fi all share a single public IP address. This is Network Address Translation (NAT) in action. If you really want multiple unique public addresses, you'll need multiple SIM cards. Unique public IP address per SIM card???: Nowadays, you also need to double-check if your carrier even provides you with a unique public IP address at all! Carriers around the world have started implementing Carrier-Grade NAT (CG-NAT) for both mobile and home Internet users. This means your SIM card might share a public IP address with many other SIM cards. If this is the case, then DDNS won't work! Suppose you have 1 public IP address, and each of your devices host a web service at port 443. You can assign a unique port per device on your modem and do port forwarding as you mentioned: Dev PC --> neilpate.ddns.net:54430 (modem) --> (Windows PC) Dev PC --> neilpate.ddns.net:54431 (modem) --> (cRIO 1) Dev PC --> neilpate.ddns.net:54432 (modem) --> (cRIO 2) This means the client program on the Dev PC needs to know to use a non-standard port. You can do this easily in a web browser or a terminal emulator, but I'm not sure that LabVIEW can use a custom port to connect/deploy a cRIO. Alternative solutions You don't necessarily need a public IP address for remote access. Some modems can be configured to automatically connect to a Virtual Private Network (VPN). If you enable VPN access to your office and you ask your modem to connect to that VPN, your devices will be on the same (local) subnet as the Dev PC in your office -- we have done this for a cRIO that's deployed into the middle of a desert. If your modem doesn't support this, you could configure each device to individually connect to the VPN instead. Or, your provider might offer enterprise-level solutions that connect multiple sites to the same VPN. For example, they could offer SIM cards that provide a direct connection to your corporate VPN without the need to configure your modem or devices. Yes, these are commonly solved. The issue is that there are so many possible solutions, so you need to figure out which one works best for your use-case.
  5. 3 points
    First of all, hi everyone and thank you all for the feedback. I really do appreciate it, and I want you to know that I generally read these threads even if I don't always participate. Stephen also periodically sends threads to me and the other relevant product owners. I am the product owner responsible for G language in LabVIEW NXG. There are other product owners responsible for other aspects of LabVIEW NXG and the related technologies. Our role in LabVIEW R&D is to advocate for the user within the development team. We am ultimately responsible for making sure the functionality we add to the product is valuable to our users. That being said - I don't want to oversell my role. As the product owner (which we have started calling productization lead because I don't actually own the product) I don't set the priority of which functionality we invest in first - that is decided by our planning organization, but I work closely with them and have a lot of input into that process. It is the responsibility of planning to identify high level workflows and investment areas, and it is the shared responsibility of the product owner and development team to design and build solutions that satisfy those requirements. There is a lot of good feedback here, much of which I was already aware of, and much of which predates my role existing. I want to take the time to properly address the different points in this thread - so expect some follow up posts from me next week, but first I just wanted to introduce myself. Jeff Peacock
  6. 3 points
    The IDE was in fact pretty much here when NI launched LabVIEW Web UI: https://www.youtube.com/watch?v=RiY35znIdUg which used Microsoft Silverlight. Since that must have been in the making for several years before it was released, this is more like 10+ years old. Does the IDE look 10 years old or older? The fact that pretty much every traditional LV developer feels horrible pain at the mere look of the IDE is saying either we are all hopelessly outdated or indeed the IDE is a step backwards in terms of nimbleness (agility?). The IDE should be modular, since the underlying code itself is not. In fact, it should be open, offering the ability to third party developers to hook their tools and customization. I am not particularly depressed anymore at the unfolding of this slow motion catastrophe, and in fact I am even willing to believe NI that indeed there is a new crop of developers who are going to prove us all wrong. But right now, this is not the direction we (academia) are going. We want openness (for reproducibility purposes), we want flexibility, customizability, and we are certainly not going to have our users pay runtime licenses for toolkits simply implementing public domain algorithms. I am still much more efficient at programming in LV, but there is zero incentive for me to choose NXG over Python at this point, based on my 25 years of dealing with NI.
  7. 3 points
    Your argument is inconsistent. If it's not a priority then making a change to remove it is allocating resource to "the least important". Leaving it in would be the least impactful. However. If you are going to change it then you might as well make it a "Preference" since that is clearly what it is. You don't seem to have a preference or, at least, are indifferent. So why advocate taking away a feature that other people obviously feel strongly about?
  8. 3 points
    NXG actually seems quite good at figuring out what I am looking for with quick drop; I just type the name of the primitive and it appears. This is good as I cannot identify anything because the new icons all look totally weird to me...
  9. 3 points
    Thanks. It was mostly to satisfy myself I wasn't missing some game changing feature or workflow in NXG that was hidden behind its slow and drab exterior. Like you, I haven't seen any examples of large projects running under NXG so wanted to document at least a small project. There was one NXG product owner who saw it and took the time to respond, and noted the event structure feedback was useful. I think it had some support for clusters of clusters (see Neil's example), but definitely not for classes and references. Here's a few more issues that I ran into: There's no auto-save VI recovery feature. Save often. Seriously. Accidentally mousing over the wrong thing can crash NXG. If I've gone to the trouble of finding and downloading offline help files, NXG should be able to locally search them (really, they should be included). The wire direction when wiring is wrong after the first anchor point. LabVIEW 20xx selects either vertical or horizontal based on the initial mouse move direction after starting a wire, and for each click when anchoring a wire. NXG respects the initial direction, but anchor clicks do not. I'm constantly tapping the spacebar to change wire direction. This really slows wiring down. Holding the spacebar and click+dragging allows scrolling around the block diagram (panning). If I've just clicked a structure (selected an event), pressing spacebar does nothing. I have to give 'focus' back to the diagram by clicking it first. The different library, tag, SLI (and probably other) views have no consistency in their look and function. Granted they each do different things, but it doesn't feel coherent. No case structure auto complete for enums. Can't type first few letters of enum in case and have it auto complete. Frustrating for very long enum values. There's no way to set the Z-order of front panel controls (I think there used to be in previous NXG versions?) I have to move controls to unplaced items and place them again to get the correct order. No icon view for cluster constants. More often than not, converted VIs don't have the structures, nodes, wires, etc placed on the block diagram's 5px (?) grid. This means any wiring changes can never be aligned properly without moving entire structures, tunnels, nodes, etc. Single wire segment can't be moved in large steps with shift + arrow keys. This is incredibly annoying. Let me disable animations. Palette flyouts/drop downs, pane show/hide, anything. Visual accessibility doesn't seem to be high on the list of NXG design goals, but at least let animations be disabled for performance reasons.
  10. 3 points
    You mean like this? That is possible. Obviously for the sake of change a colon is now used to separate the elements, because hey they were changing everything else, right?.
  11. 3 points
    As a user collaborating on an idea for un-created code, I want to be able to see what other users are thinking about as well. For example, let's say, in the back of my mind, I have this idea for an open source barbecue thermometer that runs on a Raspberry Pi using LabVIEW. That said, I have several open source project ideas, all of which I find equally interesting, so I randomly pick one of them to start working on. But, maybe there's another community member that wants such a BBQ thermometer as well. If I knew that, I might choose to prioritize the project that someone else is interested in vs. another project that nobody (but me) cares about. Similarly, let's say I have the idea, but don't have the bandwidth to really pull it off in any reasonable timeframe. Someone else sees the idea, however, and wants to help. Knowing that I'm not alone, I might choose to begin work on the idea. Finally, let's say that I have this really cool idea, but I'm a software guy and it would probably require a custom Pi HAT. That's way outside my comfort zone, but maybe someone else is willing to help with that, and make the project a reality. This could even allow for voting, similar to the kudos system on the NI Idea Exchange. Of course, there's no obligation to do anything if your idea gets a bunch of kudos, but it could be incentive and/or drive innovation by others.
  12. 2 points
    Lack of NIWeek content has prompted @Steve Watts, to start VIWeek. See his post here: https://forums.ni.com/t5/Random-Ramblings-on-LabVIEW/VIWeek-Making-Trouble-Again/ba-p/4044162 LabVIEWWiki Page.
  13. 2 points
    You may possible rather use this version 4.2.0-b1 here.
  14. 2 points
    Why are so many things just that little bit harder in or weirder in NXG? I am trying to use it to make my first "real" application, in this case a relatively simple WebVI. I put this list down in the hope someone can tell me I am being dumb and there is a sensible way to do these thing Why can I not easily branch off a wire by clicking on it somewhere? Now I have to right click and select the option to create a wire branch Why can I not right click on a primitive to open the sub-palette for that thing to give me similar items. I can right click and replace or right-click and insert... Example, I have an existing 2D array wire I want to get the size of, there is no way for me to right click the wire to quickly open the array palette and then drop down a Size primitive I have to relearn the whole palette structure as all the icons have changed. OK that is fine so let me explore a bit and poke around but I cannot keep a palette open by pinning it? (OK so it turns out I can do this if I start the browse from the left-hand palette and then weirdly click the << arrow, but I am so used to opening the palette by right clicking on the diagram). Arg, then the pop-up help covers over the next item in the list 😞 The Align menu is so much less usable in that drab gray and single line. There was nothing wrong with the way it is implemented in Current Gen, why change this? The GUI is so dull in general. The colours are washed out and grey everywhere is just depressing. It sounds silly but it makes me not want to use it. Sorry, but MDI is not a suitable technique for anything other than the most trivial of applications. I like the really like the zoom but please let us pan with the middle-mouse or something similar Please pop open menu items as soon as I browse into them, rather than forcing me to click (looking at you Case Structure Cases and Align menus) Why are the icons so confusing. Please can someone explain how the picture below conveys any information that this array concatenation. Why can I not run a Sub VI in a WebVI? In order to test the correctness of a piece of code I have to move it out of the .gcomp to run in isolation, and this actually moves the code on disk What was fundamentally wrong with the Project Window in Current Gen? I have a vertical monitor that I use exclusively for displaying the Project window and it is amazing. I don't particularly like the new implementation but at least let me undock it! I am also not really filled with confidence that as my project grows in size it will not become overwhelming (yet another reason to keep Virtual Folders) This is just a small subset of the items I am currently struggling with. In general I am quite forgiving of new software, but I think NXG has been baking in the oven for something like 8 years! I appreciate that NXG has not been designed for me, rather I suspect it is targeted at a whole new audience of LabVIEW developer. As such I know my muscle memory is going to be really detrimental in getting me up to speed with this new way of doing things so I am trying really hard to not let that get in the way of my journey. Something deep down just makes me worry that the essence of what makes LabVIEW (current gen) so special has been lost in translation. It just feels like too many decisions have been made by people who are not actually very familiar with LabVIEW. This makes me a bit sad as I have no doubt that a ridiculous amount of engineering effort and love has gone into NXG (and am under no illusions at the scale of the task of rewriting current gen). All in all my experience trying to develop a non trivial (not by much though) application in NXG has further cemented my thoughts that I am going to have to stick with current gen for the foreseeable future. That said, strength and courage to NI. I will check back again in a few years. ps: I am really excited for the WebVI technology. Please port it to Current Gen so I can actually use it 🙂
  15. 2 points
    There will be Ph D thesis written on the Boeing MAX debacle. I am starting to wonder whether there will be, regarding the NXG one, if no insider information ever leaks out. In the meantime, some food for thoughts: https://medium.com/@herbcaudill/lessons-from-6-software-rewrite-stories-635e4c8f7c22
  16. 2 points
    A pack of hungry wolves could not hold me back. I am just waiting for the thread Jeff said he was going to make.
  17. 2 points
    Dug up from the info-labview mailing list... on April 1, 2011 (can't make this up): Keep in mind that at the time of its disappearance (at least from public eyes), LabVIEW Web UI was in par with ~ LabVIEW 3.1 (no undo, no event structure, etc. for instance). It would be very instructive, from an historical perspective, to have an insider's view of NI's development plans at the time (2011 and before) and how this unfolded up to now, with this bizarre "perpetual alpha" release strategy of a development product supposed to replace a flagship product, which itself is not officially discontinued, but in practice will have little bug fixes or added features. In fact, from a sociological perspective, it would be interesting to have an idea of who is leading this effort, as I have a hard time admitting that NI can find enthusiastic young developers working on somethings that is so painfully uncool. Somewhat premonitorily, the same newsletter contained these two links (found on the Wayback machine): https://web.archive.org/web/20100406005233/http://www.ni.com/news/releases/april0701.htm https://web.archive.org/web/20110402173747/http://www.ni.com/news/releases/april1101.htm You can 't help but wonder what will pop up when the next time capsule will be opened in 2036...
  18. 2 points
    I first got depressed about NXG at one of the CAB sessions at a CLA Summit. It was on UI improvements with NXG. More modern UIs is something that could be significantly improved over CG. Think of all the techniques demonstrated in web pages or smart phones. At the very least, I was interested in the improved menus NXG would have (icons? Tip strips?). Instead I sat there looking at a giant skeumorphic dial. Lots of detail, sharp and pretty. And resizes, which is nice. But nearly useless to me, as I've had no need of dials in decades. And as far as I know, NXG has yet to even have short-cut menus on controls, let alone have any improvements. It is seriously sad that vector graphics resizability is the only thing NXG has going for it, UI-wise.
  19. 2 points
    Neil, your almost getting me to consider installing the latest NXG and try and give feedback again. Almost. It's too depressing. And there's no good channel for feedback; that forum link AQ gave is practically dead. And I doubt any NXG Devs are keeping up with LAVA. I gave some feedback on the Champions forum, but that's not public.
  20. 2 points
    Anyone want to guess what is in the bottom icon? (Not to be confused with the Cluster which looks quite similar and is just above it). Yes, you guessed right. Decorations and control references! Because those definitely deserve to be grouped together. But just to further confuse things, they are now called Data Placeholders. I am sorry, I just cannot believe this GUI was designed by anyone who has actually used LabVIEW in any capacity or that this is the result of 8 years of iteration.
  21. 2 points
    Buttons? Come on... what is wrong with saying they are Booleans? "True and False" data? Phew glad this was changed. What is next, renaming a DMA FIFO to "magic thingy the computer does to get data into the memory stuff without bothering the brains bit"?
  22. 1 point
    A perfect moment to dig out a thread , just a few days before its 10th birthday. I made dis: https://labviewwiki.org/wiki/Heap_Peek And happy birthday, thread!
  23. 1 point
    Broadcast Actor.zip Hello All! I'm looking for a little bit of feedback on an Actor I've put together. The zip file attached contains an Actor called "Broadcast Actor". I know the idea of a "broadcast" partially goes against the AF rules but bare with me. The reason I put this together is because the idea of an abstract message was driving me a little crazy. I probably haven't had it properly explained to me but in any case I decided to try and build something that accomplished a similar task as an Abstract Message while also maintaining the low/zero coupling abstract messages provide. I do know Interfaces are out and about in LabVIEW 2020 but this approach is for older code bases that we can't quite upgrade yet. I loosely based this approach on DQMH which has an interesting architecture for messages going "up the tree" using broadcasts (user events), that parent modules register for when they start up. I figured something like this could also be implemented in an Actor. The attached broadcast actor has a message that returns its own populated "Event Cluster". Calling actors can call this message and are returned this "Event Cluster". The parent actor can then register for all of the events of the child actor in their Actor Core. I know reply messages are kind of discouraged in AF but this also felt like an okay way to use them. Once the child actor is up and running it can call it's own broadcasts which the parent can hear and do something intelligent with. My understanding of "low coupling" is limited, but I *think* this approach would prevent the parent actor from being loaded into memory if we are just trying to load the child actor. Maybe I'm way off or maybe this has been done before but it felt like a way to not have to use abstract messages (a barrier for some people to adopt AF), but also allow for low coupling between the actors themselves. Any and all feedback is welcome. What am I missing? -John Hoehner
  24. 1 point
    The two people who gave this presentation might be able to point you in the right direction.
  25. 1 point
  26. 1 point
    It's a start. Humor and the recognition that the world is moving on outside the ivory tower...
  27. 1 point
    Isn't that common knowledge in our field? When I attended Technical University, that was one of mandatory classes. In case of LabVIEW, the compiler is LLVM. Meaning anyone who looked into clang also looked into that. The amount of developers who looked into CLang or GCC isn't as small as you suggest. This is actually quite common, if a job requires that. I used LLVM as well at some point, ie. I worked on optimizations performed on Intermediate Language tree. And it so happens that in "Heap Peek", you can look at that IL for any VI.
  28. 1 point
    I work 5 years as labview 'developer' and when someone from other technologies asks me how this compiles and really works my answer is i ve no idea. When on the other side open technologies give much deeper ride and control. It might be due to my limited understanding of LV but detailed information is not there on official NI forums. I guess it is up to discussion if You need low level understanding how LV or other technology works. In my case as sw engineer I always want to know how things work, and the longer i work as engineer i realize i ve no idea how 90% of things work
  29. 1 point
    Sure a few are here who even respond to various posts. But to respond to this type of topic could easily be construed as violating non disclosure agreements you nowaday have to sign anywhere when starting a job and as such could be an immediate reason for terminating their job and even liability claims. They know better than to risk such things. Besides this type of archeological digging may be fun to do in your free time, but it leads basically nowhere in terms of productivity. It's up to you what you do with your free time, and if this gives you a fuzzy feeling somehow, then I suppose it is not a bad thing. But don't expect that there are many more out there who feel the same.
  30. 1 point
    I successfully used oglib_lvzip-4.1.0-b3 from this post, enhanced for 64-bit LV by Rolf. It always worked good for me.
  31. 1 point
    I filed Bug 1039468 on this issue.
  32. 1 point
    There is a different API for Installer Builder. It is also not officially supported by NI, but there are a couple of examples that ship with the API to help you learn how to use it: [LabVIEW 20xx]\vi.lib\InstallerBuilder\examples
  33. 1 point
  34. 1 point
    I have a XY graph to display the trend of temperature over time. I am making the plot legend scrollbar visible based on number of plots I have. If I enabled it using the property node, I am not able to click on the scroll bar and move it. But I am able to use the mouse wheel to scroll. Please help me why this is happening. As a workaround, I made the legend scroll bar visible from the right click option on the graph and saved it. And I am not changing the visibility through property node and this works fine. Temp plot testing.vi
  35. 1 point
    If you can't get a dedicated IP address, one thing you can do is have your software query the outside world and find out what its public IP address is, and then update some location that you can get access to. This is essentially dynamic DNS. I have a domain I registered and have a website that I host. I have the computer that serves the web page update its own DNS every couple of hours because my IP address may change. Another option might be to do something like write a text file to Dropbox. Then when you want to connect to it read the dropbox file and that will tell you the public IP. Then the ports as JKSH mentioned will reference each device.
  36. 1 point
    I threw this together, and maybe someone will find it useful. I needed to be able to interact with cmd.exe a bit more than the native system exec.vi primitive offers. I used .NET to get the job done. Some notable capabilities: - User can see standard output and standard error in real-time - User can write a command to standard input - User can query if the process has completed - User can abort the process by sending a ctrl-C command Aborting the process was the trickiest part. I found a solution at the following article: http://stanislavs.org/stopping-command-line-applications-programatically-with-ctrl-c-events-from-net/#comment-2880 The ping demo illustrates this capability. In order to abort ping.exe from the command-line, the user needs to send a ctrl-c command. We achieve this by invoking KERNEL32 to attach a console to the process ID and then sending a ctrl-C command to the process. This is a clean solution that safely aborts ping.exe. The best part about this solution is that it doesn't require for any console prompts to be visible. An alternate solution was to start the cmd.exe process with a visible window, and then to issue a MainWindowClose command, but this required for a window to be visible. I put this code together to allow for me to better interact with HandbrakeCLI and FFMPEG. Enjoi NET_Proc.zip
  37. 1 point
    I want to give feedback, but its just so much. I did give feedback on 2.0 on a long list of issues on the beta forum but it was frustrating then to not know if there was any reason at all to give feedback. I don't recall even receiving anything that the feedback was received or anyone saying that they read the forum posts. I used 4.0 on a new small/tiny project but gave up since some simple things were not there yet (or who knows, maybe wont be) and I quickly had a new long list of issues but did not have time to document them, and I didn't know if there was any meaning at all in doing that. It would make it much easier for you and us if the development was more transparent so we could see per issue what is intended to work now, what will be implemented and how and the design decisions per feature. Now, this kind of information occasionally comes from different people in different channels (forums, blogs, summits, ...), which makes it easy to not know the state of NXG when you start exploring NXG x.x and thus get frustrated. If we could have access to this information we would know what to not get frustrated about and why and what you are open for feedback on, then we could help by focusing on giving feedback where it actually is helpful to you and then you wouldn't need to respond to all this frustration in different forums/channels. Yes, we all want NXG to be great, so let us help!
  38. 1 point
    In the article it says: "The ability to create modes and overloads isn’t publicly available in the newest version of LabVIEW NXG; however, we’re looking to extend these features to our user base soon."
  39. 1 point
    It is up to the user to take "reasonable steps" to find the license. Keeping license notice in each file helps, especially when someone uses part of your code to create something else, and files with multiple licenses are mixed. Such situations are good to avoid, but if someone takes the code, he/she should check licensing and provide proper information in the derivative work. This is what you will actually find in GNU FAQ, though they make a big issue out of the derivative works: https://www.gnu.org/licenses/gpl-faq.en.html#NoticeInSourceFile To modify a lot of VIs, you may use pylabview - if you know how to use use python or bash, you can make a batch to extract, modify and re-create any amount of RSRC files with it. You only need to make the script which does the modification, ie. add the documentation to one file, and compare extracted XML before and after the modification to get a patch to be applied to all other files. For the selection - if you don't mind others using it for anything, MIT is a good choice. Though sometimes people say that, and then still feel cheated when someone makes modification to the work and starts making money out of it... if you feel unsure here, you may choose GPL instead. And if you completely don't care about license and want to mock it a bit, there's always DBAD - it's quite popular for underground tools.
  40. 1 point
    Oh. Sorry. Missed that bit. That's a different kettle of kippers then.
  41. 1 point
    From the Data tab you can enable logging but I don't think you can export the trace after the fact for some reason. The wall of text is very intimidating but I'll try to give some advice. The way I see most people use DETT is by logging some giant 10,000 line trace and then they just dive into it hoping to find something useful. I usually find that this strategy is a giant waste of time. Ideally you have some specific thing you want to check with DETT (am I leaking references, I shouldn't be reaching this case but am I actually enqueuing that) at this point you can go into View > Filter Settings to filter out all of the garbage, leaving yourself a much more manageable trace to look through.
  42. 1 point
    I'm parenting today, so wait a bit for screenshot, but let's say you have 2 1d arrays of string and you want to compute the intersection or the diff, how do you do? Also open the vim "remove duplicate from 1d array" in the array palette, it uses sets. And check this https://forums.ni.com/t5/LabVIEW-APIs-Discussions/Tree-Map/td-p/3972244?profile.language=en
  43. 1 point
    It is so interesting how everyone uses LabVIEW differently. For me, the ability to stop a running application and still have the Front Panel of a particular sub VI open and then, without doing any more work, run it continuously and allow me to debug is so valuable.
  44. 1 point
    This is what happens when you change the UI scaling while NXG launches (because what else is there to do?) And icons can be a little frustrating at times... Icons make me happy.mp4
  45. 1 point
    These are not actually Data Types. There are palettes for manipulation of data.
  46. 1 point
    I'm putting this out here in case anyone missed it. NI has made all of their online training courses available for free to the global engineering community. The period was just extended to at least May 31, 2020 (previously April 30, 2020). Those who are new to LabVIEW and want to start with LabVIEW Community Edition should take a look at Getting Started with LabVIEW Community Edition. For further reading, check out NI’s Response to the Evolving COVID-19 Situation.
  47. 1 point
    I added notes on follow-up questions and getting the video recording to the original post above.
  48. 1 point
    Version released. https://github.com/LabVIEW-Open-Source/DataManipulation/releases/tag/ Added support to return a list of Event reference types (class of event) for Event Registration Refnums Controls, Panes, Splitters, VI References and Application References. Array is empty for all other datatypes. ** Please note that this does not drill into clusters of Event Registration Refnums. This is only one-level deep. I have not tried, but I assume that getting the cluster elements and then looping on those should work...
  49. 1 point
    Thanks. Here's a more developed subVI that I've used successfully inside a Pre-build action. I use it to set a Build CC symbol to be equal to the Build Name, so different builds can enable different code. Set CC Symbol.vi
  50. 1 point
    I created a package that allows you to create Markdown syntax files using LabVIEW. Code, Download, Bugs/Features, announcement. Ton

  • Create New...

Important Information

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