Jump to content

infinitenothing

Members
  • Posts

    357
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by infinitenothing

  1. Is this a good way to stop a calculation midstream if you get a new input?
  2. Expansion chassis node? See the bottom of this: http://www.ni.com/white-paper/10555/en/
  3. I use RT a lot and actually haven't run into this much. Most of the time the only thing I share between the RT and Main are the control type defs and normally, when it blocks me from editing, I like that reminder. I just stop my RT code. A stop button is about the only thing I have on the top level front panel out there. I almost never edit things in libraries on the RT side. I was probably trained out of it. The RT code is usually fairly light and doesn't do fancy stuff for performance reasons. It's somewhat old school programming. On the Windows side I'm less concerned about memory so I'll let my data types get heavier and I'm more willing to create new threads.
  4. IMHO, we've talked about it before and this is the annoying part of the license: We talked about making a tool that would collect all the providers but it seems unnecessary for compiled code. In some cases, maybe its undesirable to let others know what your tool chain is.
  5. What if the client computers pushed the files onto the top level computer rather than having the top level pull? That's a similar concept to a database but not quite as well organized. Like I said, it's really easy to move from a sequential for loop to a parallel for loop. I'd experiment with both. The Async is what lets "other things" happen.
  6. Sounds like you're going to want to launch the background VIs with Start Asynchronous Call. You might not want to launch 10. Maybe just loop through the 10 computers in a for loop. This is especially true if your top level computer is using a magnetic disk drive. You could try and switch the for loop to a parallel for loop later. I'm not sure what your file goals are, it's sort of an unusual use case and maybe setting up some sort of server on the top level computer possibly a database might be the way to go. You're probably going to want to go through the folders recursively unless it's a flat folder. Maybe you can look at timestamps to see what's modified.
  7. I don't think your for loop will work because it's in a SCTL and it has the FIFO in there. You have to give up one of those. That is, put the for loop in a normal loop (pass data between the loops using a local) or remove the for loop and keep an index on a shift register in your SCTL. Also, your select function does nothing, you can just delete it and wire the boolean through. I'm not sure how that API implements write-read. I think you just need to enter your byte array sequence that specifies the register in the write array and set the read Boolean to false. If you have trouble, maybe ask the authors of the API. The shared variable is written so if the loop exits because of an error, the other loops are notified and stop. FYI, there's an specific forum for embedded questions you can use.
  8. The secret is that the incoming error is always the same as the outgoing error. Grab it where it's more convenient but you don't need both. If you need the warning, and I never do, you can merge it at the top on your rightmost merge. Reference: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Can-we-have-an-error-in-terminal-on-the-in-place-element/idi-p/2008551
  9. Use a second Ethernet port on the host for the CRIO. Password protect the RIO. Shut off features I don't use.
  10. Keep Windows up to date Install antivirus Windows is logged in as normal user, not admin Firewall off everything you don't need Use a VPN to get into local networks If I had to expose a service I'd use HTTPS
  11. It's been a while since I've used Vision but I remember seeing some weird things with the higher bit depth images. I remember that sometimes you had to explicitly set the bit depth of the image: http://zone.ni.com/reference/en-XX/help/370281P-01/imaqvision/imaq_image_bit_depth/ What pixel values are in your image? Could they just be really low? I'm guessing the gradient or rainbow pallets aren't helping
  12. You're not really an end user if the executable is being used by someone else. You're more like a middle user Can I suggest using a license that doesn't follow the binary, maybe Apache or MIT, for future work.
  13. Anyone tired of their myrio and looking to unload it? $1000 seems a little steep.
  14. I'm not sure I've ever seen a port freeze on my dev computer but I know I've heard of freezes in the field. I tell them to call IT. The only timing issue I've had is with flush and what happened was that flush was clearing data from a prior visa write.. Are you using NI serial ports? I'm guessing that's going to be more reliable or at least give you a better outlet for troubleshooting. I open the port at the beginning and close at the end. That's never been a problem. I use both sync and async read/writes.
  15. 2048*48K= 983,040,000 pixels per second. Assuming 8 bit images You're at 7.9 Gb/s which is too fast for gige but in USB3.1 range.
  16. I remember many years ago, we'd have a camera in an inspection system and it would disappear or something and a reboot would fix it. Is this a thing ever anymore? Is there any best practice on what the best interface is for reliability. I'm thinking GigE is the way to go because of the locking connector. Any thoughts?
  17. There may also be third party tools that do something similar https://lavag.org/topic/19124-deploying-labview-code-to-raspberry-pi/
  18. Is your RMS at least better? Yeah, the symmetric errors do look like glitching. I wonder if the high input impedance is a possible contributor. You could throw a 1KOhm in parallel and see what that does. If that isn't enough add a 20nF cap in there.
  19. It might be worthwhile to look at what your AI waveform looks like. Maybe you have an offset in there.
  20. I know someone out there has a tool for handling window's window handles and you can make arbitrary EXEs a child window. I was hoping they'd chime in.
  21. Your class type has the queue in it. Your accessors have to dequeue-modify-enqueue with a timeout as an input. You have to have a Create-Run-Destroy architecture.
  22. I don't run into this issue much but back before we had DVRs, many people were using single element queues for the same purpose.
  23. Let me poke a hole in that theory. Async wires aren't necessary for anything. The functionality already exists as shown in the Getting Started guide.
×
×
  • Create New...

Important Information

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