Jump to content

crossrulz

Members
  • Posts

    531
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by crossrulz

  1. What is the communication bus that is used to talk to the instruments? Assuming anything VISA, it is likely that the communication time will swamp out any gains from going parallel. As a gut feel, I would likely go with the Parallel FOR Loop simply because it is easier to code up than two FOR loops (one to launch the VIs and a second to collect the results).
  2. Update: There is now a 2024 Q1 patch that fixes this bug. So you no longer need to wire up the Type Specifier when using the static VI reference wired to the VI Path input on the Open VI Reference. The patch also covers several security issues. Those who are using 2024Q1 really should go into NIPM and get the update.
  3. FYI, there is a new feature in LabVIEW 2024Q1 where can wire the reference to the VI Path input on the Open VI Reference. You do also need to wire up the Type Specifier if you need the strict type. NI has stated the need for the type specifier as a bug per this thread on the dark side: New Open VI Reference Functionality
  4. Top: Start Asynchronous Call - Loads a VI, starts running the VI, and then waits for it to complete. The SAC returns as soon as the VI has started to run. The Wait On Asynchronous Call is what waits for the VI to complete and return its outputs. Middle: Call By Reference - Loads a VI and runs it. The CBR will not return until the called VI is complete. Bottom: Run VI Invoke Node - Loads a VI and runs it. If you wire FALSE to the Wait Until Done input, the VI runs asynchronously. If you wire a TRUE to the Wait Until Done input, the invoke node will not return until the VI is complete. You do not have a direct way of getting the results once the VI is complete.
  5. Sounds like something a real AI would do to throw off the humans...
  6. 1. Use Read Delimited Spreadsheet File to read the file and get a 2D array of strings. 2. Your text file does not have any tab characters. Are they supposed to be space delimited? 3. You have duplicate values in your text file. This could be causing an error when you try to set them.
  7. I avoid named queues and notifiers. So what I do is put the notifier reference in the event data. This makes the calling VI in control of the reference.
  8. What hardware are you using? I see it is cDAQ, but what modules and chassis?
  9. One of the few times Block Diagram Cleanup can be useful.
  10. Sounds like an OOP solution is what you really want.
  11. It is now official: Emerson Completes Acquisition of NI, Advancing Global Automation Leadership
  12. In this exact scenario, I think I would make a "Waveforms" library that would contain the waveform data type and any other general waveform processing VIs. Any module that generates or processes a waveform can then depend on that library.
  13. It is formatting each byte into an ASCII representation of the byte.
  14. For 7-10 years, you will probably be fine sticking with LabVIEW and TestStand. For those of us who are more like 20 years out, looking at alternatives is advisable. I am personally interested in Rust, but also want to get back into the C world for embedded work.
  15. I am personally a fan of StarTech. I have not used their PCIe adapters, but their USB-RS232 adapters are really good. https://www.startech.com/en-us/cards-adapters/serial-cards-adapters?filter_bustype=pci%20express As far as working with MAX, they just need to be normal COM serial ports and VISA will do the rest.
  16. It took me a bit of time to figure out CDS is LabVIEW Control Design and Simulation Module. Yeah, that kind of came out of nowhere, but it was really only used in academia as far as I am aware. MathScript was also dropped mostly due to it being a major PITA to maintain, especially since Matlab was such a better product to do something very similar. As soon as NI and Mathworks became friends, I saw this coming.
  17. 1. Move the VISA Configure Serial Port to before the loop. No need keep re-initializing it. 2. You shouldn't need the Flush Buffer. 3. You should not need the wait. This would also eliminate the need for the Sequence Structure 4. Since you are expecting a response immediately after you send the command (or soon after), you should not be checking the Bytes At Port. This would eliminate the need for the Case Structure. 5. Because of the termination character, tell the VISA Read to read more bytes than you expect back. In this case, I would probably use 50. The read will complete when the Line Feed is encountered. 6. Since you are dealing with space separated data, use the Spreadsheet String To Array with a space set as the delimiter to make an array of strings, each element corresponding to a piece of data. You can use Index Array if you really want them separated out.
  18. Then, a couple of years later, NI completely redid how events work behind the scenes which corrected some things Jack mentioned, complete with an NI Week presentation.
  19. I don't think VISA works with UDP. It will work with TCP. So you are going to have to use the UDP functions to communicate with this device.
  20. If you can read the serial number from the device, then you can just use Format String to create the file name and then write to the file as you already are doing.
  21. 0x08 is a Backspace. In \ Codes, that is \b. A little more information on the \ Codes here: Backslash ('\') Codes Display LabVIEW Help
  22. Wire a value into the shift register on the left side of the loop.
  23. Crosspost on the darkside: https://forums.ni.com/t5/LabVIEW/connect-LabVIEW-USB-or-LAN/m-p/4309342
  24. The announcement for the acquisition did happen in early April. Now it is just waiting for approval by the US government and who knows what other legal red tape for it to actually happen. One of the articles mentioned the acquisition finalization was expected to be in Emerson's financial 2024 H1, which starts in October. Do not expect to hear anything until that happens.
×
×
  • Create New...

Important Information

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