Jump to content

ShaunR

Members
  • Posts

    5,047
  • Joined

  • Days Won

    313

Everything posted by ShaunR

  1. I'm a programmer, not a social worker. My AI concerns are around privacy, confidentiality and data exfiltration. I don't really do hand-wringing, feely stuff. My discussion input, in this thread, is about how to keep lavag.org relevant by utilising AI instead of just trying to defend against it. One way is to make lavag.org interactive when the few that still inhabit the forum (and the even fewer that answer questions) are asleep or do not have domain expertise. People with questions often want answers quickly because they have already spent days trying to resolve something and a forum is last resort. AI means that they may not have to wait 2 weeks for Rolf or you to come back from holiday to get something targeted, specific and useful.
  2. That's such a Linux thing. "Ask it the way I want or you 4 pages of me berating you about how to ask a question". Asking erudite questions is simply an efficiency. Don't care. Never did. Overrated. There are symposiums and meetups for that. The forums are just a way to organise it. I don't see any downsides here. Got anything else?
  3. AI bot's seem fairly obvious to me, ATM. They don't really understand comma's and lists. On a different note. I've thought Lavag would be a good place for it's own AI bot. It could link questions to previous resolved answers. Automatically identify cross-posts. Guard against spam bots etc. Lavag.org is a huge resource that could be targeted domain training. Known meat-sacks could upvote and downvote the AI bot's response to train it. Too many downvotes, it disappears from the responses so as to not pollute with stupid responses. I think lavag could utilise a simple AI as a first interaction support. The expertise of a years worth of LabVIEW (experienced intern). A users question is usually a much better search criteria than the site search where you need to know the keywords.
  4. I should also point out it is forum etiquette to state and link if a question is a cross-post on Ni.com. https://forums.ni.com/t5/Industrial-Communications/NI-9145-with-NI-9476-9375-in-TwinCAT/td-p/4485626
  5. IIRC. There is a safe-mode that will set outputs to a safe value (presumably 0v for sourcing 24v) when active. However. I think the status LED of the controller should be blinking red to signify that. Apart from that. If a variable can be set but it's not being replicated in the slave device (the NI device is a slave, right?) then it points to a mismatch in the PDO mapping. I do not know how you would tell that from the XML files you supplied but you may know more about their construction than I.
  6. Mailing lists were great for maintainers, horrendous for users. Waiting a week to see if your question was answered and trawling through the archives in case you missed a response. One's issue getting engulfed in spam of the same simple issues posted by different people over and over again. I'm glad the days of IRC, Mailing Lists and, hopefully, Discord, are way behind us. Even SQLite eventually dumped the mailing list and support has greatly improved because of it.
  7. Discord is a poor support platform and I view Discord with the same contempt as IRC (and for similar reasons). If one thinks Lavag.org is a sub-optimal platform with little activity; answer the question or suggest posting the same question on NI.com. EtherCAT is a niche expertise and if you can't find help here or on NI.com, I very much doubt you will find it on your Discord server.
  8. Lots of exclamation points against using Bytes At Serial Port and then goes on to use Bytes At Serial Port More seriously though. You avoid a lot of the problems if you just pop up on the read prototype and set it to Synchronous IO mode instead of Asynchronous.
  9. I don't have an Arduino to hand but here is a quick and dirty conversion of your dump file so you can see how it would be done. Not much in the JPG to look at though str2jpg.zip
  10. Why is the XKCD mage URL (for hotlinking/embedding) blocked for posting? -> "The link could not be embedded because that URL is not allowed."
  11. I see that as a testament to quality. No contact, no bugs.
  12. I think the main issue (and probably the reason for the question originally) is the Cyber Resilience Act which basically makes everybody legally responsible for software they use. There are carve-outs for opensource but the only real way forward is through what they call "Software Stewards". I wouldn't stick your head above the parapet for OpenG. The next question will be "where's the SBOM and CVD Policy" The way forward would be for NI or JKI to name themselves as "Software Stewards" for OpenG but it's a big ask for American companies.
  13. Me too, for the compane. I got fed up with deleting connectors every time I created a new VI.
  14. Can I Use LabVIEW on My Linux Machine with an ARM Processor?
  15. No. I'm saying *if* the device is hardware independent then it wouldn't matter if a CSZ and/or Enviro device was installed and deployment of the hardware driver could be based on the platform, not the device. Rolf solved that by abstracting through VISA. However, you stipulated that you can't have both (CSZ & Enviro) classes in memory.
  16. I wrote a markup string xcontrol. I really should look at it again because I don't think the mouse-over for links work properly on Windows 11.
  17. Then you added not in memory for deployment to platforms. That's what messes the straight forward choice up because the platform hardware isn't abstracted.
  18. Hooovahh is using the static binding for deployment though. Rather than abstract the transport he wants to abstract the device as a proxy for the transport because then platform specific deployment is automatic. You use VISA for the hardware abstraction and configure the transport with a string. Hooovahh is attempting to configure the transport by not installing a device so that when it's deployed only the platform classes are deployed. I think he will run in to trouble if he has a device that has multiple transports but that doesn't seem an issue right now.
  19. Parking deployment for the moment (as I said, I think it's a separate issue) ... I dislike both. My workflow would be "Find" a chamber (i.e. detect one or more), "open" comms then start setting setpoints, dwells, ramps etc. I don't care who the manufacturer is - that was all sorted during the install, right? Ideally the "find" would return a list of available chambers (an array of class objects) so I'm not sure why I would need to use class specific "find" functions, or even use the actual class constants from a palette. If you no longer require class constants to be passed in to "find", then you can build a "found" array dynamically that users can use. In this flavour of "find, internally you can coerce to a more specific from the general type to actually probe and that coercion can be dependent on what's installed.
  20. I'm not sure you can get away without dynamically loading. It seems you are basically wanting a plugin architecture. The problem with platform specific code is, I think, a separate issue. Note that a plugin architecture also solves your "find" since you can only find those that have been installed. The issue then becomes that you were reliant on static binding (class constants) to solve your deployment to target. This is the same as VI refnums. What do you envisage the process to be when you have a chamber that has different implementations depending on platform? Let's say that the CSZ chamber must use TCP for Linux but USB for Windows? Now you don't have a static binding problem for deployment but you still have a platform problem.
  21. That's not the real problem (but the same solution as I was about to suggest). The main issue is the LabVIEW static linking. Traditionally we have gotten around it with conditional disable structures or calling CLFN's with a path. hooovahh has created a class that isn't platform independent, only device independent and is attempting to solve platform dependencies with deployment. I'll have to sleep on it.
  22. I use a polymorphic VI. It basically just wraps the class constant for this purpose.The user can then have a single VI that they can choose the implementation method from a menu and that ripples down through the class functions. It means you only need 1 VI in the palette for the Open/New/Whatever and, once placed, the the user can change implementations without creating or deleting anything. When there is a single type wired it looks much better because LabVIEW will show the class instance (see below) rather than the generic instance see (above). The drawback is quick-drop (apparently) because you cannot choose a specific instance, only the polymorphic, but I ignore people that complain about that
  23. You should contact the developer. It may use features not available in earlier versions and it is a source control nightmare maintaining subtly difference versions.
  24. Retrieve Token String.vi
×
×
  • Create New...

Important Information

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