Jump to content

LogMAN

Members
  • Posts

    720
  • Joined

  • Last visited

  • Days Won

    81

Everything posted by LogMAN

  1. Welcome to the forums 🎉 I haven't really thought about it as this was the first time I learned about Nigel (never thought anything like that is even remotely possible in LV). Still, I'm familiar with GitHub Copilot and Visual Studio's IntelliCode, which have great IDE integration. What I'm looking for is not so much an AI that writes my code (because I know how to do that), but one that accelerates my development process by suggesting changes in the context of my code. For example, to predict what I'm going to do and provide hints in the form of grayed-out suggestions I can simply accept by pressing a key (tab-driven-development 😉). Things like: When I place an "open connection" function, it suggests the corresponding "close connection" function. When I place several methods of a class or VISA or DAQmx, it suggests how to order them in a sensible manner (open, read, write, close). When I connect the terminals of a VI, it suggests to connect error wires as well. When I place error terminals it suggests adding an error case structure. Of course, there are more specialized tasks where a smart AI would also be really useful: Creation of driver libraries, just like your example from importing a PDF to generating code. Configuration of CLFNs Beautify/Cleanup my block diagram Suggest changes when upgrading to a newer version of LabVIEW Suggest icons for my VIs 😍 Derive VI descriptions from code Apply changes to a set of VIs (i.e., renaming them) Point out mistakes in my code (missing cases, unhandled errors, etc.) That's awesome. I hope we can play with it soon
  2. 1:02:00 "... but NIgel can control your physical hardware!" *terminator theme intensifies* Jokes aside, the copilot looks interesting but it needs much better integration to be useful for any of my day-to-day tasks. It needs much faster response time and it will have to show how well it can work with legacy and non-standard code bases that aren't developed with NI's portfolio and vision in mind. Did they mention if and when this can be tried out?
  3. I'm not familiar with network streams but the online help provides an example for your particular scenario (scroll to the very bottom): Specifying Network Stream Endpoint URLs - NI Based on your code this works for me: Working Example.zip Edit: To provide some more explanation: Only one application can create endpoints in the default (empty) context "//localhost/". Incidentally, this is also the default context when you create a writer endpoint by name. For example, writer endpoint "my_writer" is equivalent to "//localhost/my_writer". In your particular example, Application B creates a writer endpoint "ApplicationA_in_writer", which is equivalent to "//localhost/ApplicationA_in_writer". Application C creates a writer endpoint "ApplicationB_in_writer", which is equivalent to "//localhost/ApplicationB_in_writer". And since only one application can use the default context, the error happens. To create endpoints in separate contexts, you must specify the context in the endpoint name. For example, "//localhost:ApplicationB/ApplicationA_in_writer" and "//localhost:ApplicationC/ApplicationB_in_writer".
  4. LogMAN

    ActiveX

    I'm not quite sure if this is what you are looking for but here is an example that works for me: Excel Formula.vi
  5. A union is always sized to its largest member, not the sum of its members. In your case, 4 bytes. You currently provide 8 bytes of memory. Try reducing the size of the union to 4 bytes.
  6. +1 for Unbundle. It it simple, requires less code and you understand immediately that these elements belong to the current class. They are also easier to maintain in case you ever feel the need to change the name or type of an element and work well with In-Place Element Structures in Unbundle-Bundle-Scenarios.
  7. A few month later, this is what Bing Image Creator produces for the same input: Can confirm, wires everywhere...
  8. Not like this Because that is the goal; break down your complex and complicated data types into simple and uncomplicated ones. For configuration data you could maintain the path to the storage location and load the data as needed.
  9. This is explained in the SQLITE help pages: https://www.sqlite.org/lang_savepoint.html#savepoints
  10. Sounds like an uncommitted transaction. Make sure you have committed all transactions before closing the file. Uncommitted transactions are lost.
  11. This appears to be a known issue in LabVIEW 2021 SP1. https://www.ni.com/de-de/support/documentation/bugs/22/labview-2021-sp1-known-issues.html
  12. For future reference: https://download.ni.com/#support/daq/pc/ni-daq/daqmx/ It appears they moved their old ftp server to that site.
  13. Okay, wow! This is just awful. Community edition is equivalent to professional... just saying...
  14. This might be an issue with environment variables. Your application runs with whatever environment variables exist at the time it was launched and cuda is only added to PATH during its installation. It should work if you specify the path explicitly (or somehow reload environment variables).
  15. Your download works fine but only for signed-in users. Also, the error message could be misleading:
  16. I use InnoSetup and offline installers. The steps are documented here: https://www.ni.com/docs/en-US/bundle/package-manager/page/automate-installer.html
  17. "LabVIEW Programmer"
  18. Here is the kind of response it produces for LabVIEW: The responses are impressive but it doesn't look like we are getting replaced any time soon...
  19. The reason your cant change the unit label at runtime is because unit labels change the data type of the wire (notice the "S" in brackets at the end). That said, what you want can be achieved with the display format. Enable unit label and specify the unit "S" Change the display format to SI notation and the number of digits to 3 Now it will automatically add the prefix according to your value. For example, 10000 S will turn into 10 kS.
  20. While community-scoped VIs are only accessible from VIs in the same library and friends, they are still exported. To see the complete list of exported members, use Get Exported File List.vi or open the library from the Getting Started Window. Attempting to execute community-scoped VIs results in a runtime error. Here is an example using Open VI Reference. The same error should appear in TestStand (otherwise it's a bug). LabVIEW simply hides community-scoped members in Project Explorer for convenience. Looks like TestStand does not do that.
  21. LabVIEW clusters can actually be passed by value, given that the values are structs. For classes, you need to construct the class before you pass it to the method.
  22. It sounds as if you want to pass a .NET Array type by ref to your method. This should be possible by constructing an array in LabVIEW, for example, by using the To .NET Object function, and passing the instance by reference to your method (assuming that your method signature is by ref). If you want to avoid generics, you can also initialize your own array as illustrated below.
  23. Yes, this makes sense for class members. They should always access the private data cluster directly. Property nodes are only good for callers (and maybe when accessing parent class data). In the past I also avoided property nodes. Mostly because of stability and performance issues (~2011-2015). Nowadays they appear to be stable and are just easier to read (also, I'm lazy and property nodes don't need icons 😏). This is probably the best way to do it. Read-only and write-only access, however, should still be done with standalone bundle/unbundle. It makes it easier to understand what is going on, avoids unnecessary wires, and has the same memory footprint. By the way, Darren Nattinger recently held a presentation at GDevConNA 2022 that might be interesting to you. He provides some insights into features of LabVIEW that aren't as stable as one would hope...
  24. Cross-post: Remove Block Diagram after Build with VIPM - VI Package Manager (VIPM) - VIPM Community Please always include links when posting in multiple forums.
×
×
  • Create New...

Important Information

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