Jump to content

Tim_S

Members
  • Posts

    875
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by Tim_S

  1. Tim_S

    DMA FIFO

    I'm hoping someone has run into this and can point me in a good direction. The test machine I'm using is a 2.79 GHz Pentium 4, WinXP, 1 GB RAM system with a PCI-7831R card in it. I'm running LabVIEW 8.6.1. I'm trying to stream data from the FPGA to the PC over a DMA FIFO. I've picked 250 kHz as my current benchmark as that is significantly above where the actual system is going to need to run. The FPGA side uses a fixed time interval (4 usec) FIFO write. The PC side uses two loops, one to read a latched timeout flag in the FPGA and one to read out the FIFO in a 20 msec loop. This works most of the time until I do something like minimize Windows Task Manager. The CPU usage doesn't blip and stays at ~25%; the number of elements remaining in the FIFO jumps to 30,000+ and I start to lose data points as the FIFO write in the FPGA times out. I've attached my test code. I appreciate any light people can shed on this. Tim FPGA DMA Test.zip
  2. Are you disabling front panel updates? I find I need to disable front panel updates, make all of the treeview (or similar) changes, then enable the updates again whenever there is a large number of elements in the treeview or [multicolumn] listbox. Tim
  3. [snip] There is one A/D converter multiplexed. I don't see a multi-channel rate, so the multichannel and single channel rate should both be 250 kHz aggregate. You should be able to get 17+ kHz with 14 channels. The hardware can handle the DAQ you are looking for, so I'd recommend you look at the way you're moving the data about. Tim
  4. Code always helps when trying to answer questions. Your question can be interpreted different ways. I assume you are trying to get data from a chart control. There isn't a way to get X data from a chart control. Graph controls, yes, but not chart controls. Tim
  5. There is not an equivalent. The closest thing is data value references, which creates what operates like a pointer, however LabVIEW operates on a different concept than C/C++ does as it is data driven. The DVR didn't exist for eight full versions of LabVIEW over 20+ years, so if you're looking to use them you should reconsider how your algorithm is implemented. Tim
  6. I expect all of that can be integrated using LabVIEW, however you will have to do your homework to determine what must be done. You'll be able to locate examples of some things, but they will be basic pieces and not whole packages unless you are willing to buy pieces. The connections are concepts and are independant of programming language. Tim
  7. You're trying to build a hot test cell. It sounds as if you have a task and a bunch of lincoln logs, and need to figure out what you need to do with them. I'd recommend sitting down and going through some paper engineering: writing down all of your requirements, planning how pieces interact with each other, laying out some conceptual user interfaces and going over how things work. A large whiteboard is very useful for this. It doesn't sound as if you're ready to write code yet. Tim
  8. Are you looking to perform torque-to-turn, endplay, leak, bore code, cold test, hot test, TDC rotation, NVH analysis or assembly verification? Are you looking for instrumentation and coding help? Are you looking for a turnkey test station? Mapping? People are willing to help with some questions, but we also make a living not only with our programming, but the specialized knowledge of how to test specific parts. I work for Assembly & Test Worldwide (down the road a bit from VI Engineering ); we tend to do mapping and turnkey systems from individual test stations to entire assembly lines rather than consultation. Tim
  9. The primative should not care what the dimension of the queue is. I've used a single-element queue as an object reference in a similar manner and not had a problem. Tim
  10. That would be an IP layer issue and not a library issue. The PC wouldn't be able to perform name to IP lookup nor would it be able to obtain a valid IP address. Tim
  11. 1000 entries is not really a huge dataset... that's a day's production. A description of the type of data and what you're trying to accomplish may help point you in a good direction. Linked lists have been a foreign concept in LabVIEW until rescently when objects were added to the language. Tim
  12. This sounds like a hardware issue and not the Modbus library. I don't understand what you mean by using "only 4 wires of the cable". You need to have the cable wired to the spec or the cable won't work. Ran across one page that seems to show how it's done: CAT7 Cable Termination Tim
  13. An unknown state of the hardware can leave it unaccessible until you power cycle the equipment. The example that comes to mind is a counter/timer card where an aborted VI can leave the counter occupied as the task was not cleared... solution required rebooting the PC. You could argue safety regulations and standard industry practices without much effort. And you could always include removing them in ISO 9000 proceedures. Tim
  14. It's not in the listing of build specification options, so no. There is an option to create a .NET Interop assembly, though. Tim
  15. You can join tables in a database, but I don't know of a way to join tables in different databases. "LabVIEW SQL queries" are the same thing as regular SQL, so your best bet it so find a manual for SQL statements. There isn't anything to handle unless you're trying to use a stored proceedure. The SQL statement is processed inside the database and it knows how to deal with it. Tim
  16. I've created a template file, read it in as a string, edited the string, then saved as the report file. It works, you can set up really lean html, but it really doesn't save anything if you have access to the report generation toolkit. Tim
  17. It would help if you posted some code and described how the cards were wired. Do you have a RTSI connection between the cards? Tim
  18. What was the relative performance increase you saw with the SSD? Tim
  19. Actually, that's how you implement GPIB (HP-IB) using HP-BASIC. The messages are SCPI. the 'OUTPUT 717;"*RST"' sends a reset (*RST) to node 17 on output port 7, if I'm remembering that right. Tim
  20. Have you checked the instrumentation network on NI's website? You may find the solution already programmed there. You're asking a pretty broad question. Is this GPIB? RS232 Serial? RS485 Serial? Ethernet? My experience is that Algient/HP uses SCPI commands; the instruction set is listed in their manuals. I'd start with a simple command like *IDN? (assuming SCPI commands) which returns the devices identifying information. Everything else pretty well falls into place if you can get this command working as it requires you to format a command, send it, receive a response an decode the response. Tim
  21. returns from a 3-day holiday weekend where he didn't have to work!

  22. You're going to have to talk with the company's IT department. They are the experts on that network and have policies and proceedures they must follow. They may have a proceedure to allow for what you need or they may have a corporate policy explicitly forbidding what you are trying to do. Tim
  23. I'd use a command-line switch to pick the ini file instead. I've had locked files get stuck that way when things crash. Tim
  24. Don't discount the memory being bad because the system is new. I've received pleanty of new systems and components that couldn't have been tested before leaving the factory or were damaged in shipping. Tim
  25. I'm not seeing anything obvious in the VI that you attached. You should stop the task before clearing it, though that's not causing your problem. I'd recommend eliminating as much as you can and then adding it back in one piece at a time if you are certain it's your program. You don't say what the message is when you get a system crash. Memory usage shouldn't cause XP to crash as XP will hard-kill any task that is taking 2 GB or more. Does your program have the same behavior on a different PC? Could you be running into, say, a bad memory sector? Tim
×
×
  • Create New...

Important Information

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