Jump to content

Neville D

Members
  • Posts

    752
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Neville D

  1. Use the Edge Finder to get the "1st and last" edges. They will be in arrays. Subtract the two arrays to get the distance between the edges. N.
  2. Why specifically do you want a controller based on those processors? Won't an FPGA based compact RIO controller do? N.
  3. The only way is to ftp the VI and then use VI Server within your main app to call the new plug-in VI that you have ftp'ed. But why don't you just cram all the plug-in VI's you would need into an exe and then just leave the exe once and for all on the RT target? Then call what you need from the ini file or commands from the Host or any other architecture. There is an example VI on the NI site that downloads a VI and then runs it with VI Server. You need the Internet Toolkit installed to run that. But be warned, this is not a bullet-proof method. I have been doing this for a while now, and running a VI remotely with VI Server is flaky. It may or may not work and frequently throws Error 66 (when it has been working fine before). My current work around is to try again till it works or try a reboot which seems to clear things up.. (not very scientific to say the least..) There is another example on the NI site that uses a Client Server App to do what you are doing, by running a particular process (say a different waveform to generate) based on a command sent. This is now much easier with shared variables. N.
  4. I know this doesn't help much, but I remember reading about some University project running LV on PC104 with some specific plug in DAQ modules.. maybe the modules were from Boston Engineering? Try searching Boston Engg. on the NI site. I think they had a paper at NI-WEEK 08. Neville.
  5. Search the ni site for a paper on Kalman Filtering which was presented at NI-WEEK 08. You might even be able to download it. N.
  6. QUOTE (klrk @ Feb 5 2009, 02:46 AM) I would write data as ASCII txt, and then open the text file in Excel. Writing to an xls file is non-trivial and generally is not worth the extra trouble having to deal with ActiveX, DDE etc. to open the file, find the exact spot in the file to write to and then closing the file, all the while, the user could mess with the open file and cause problems. QUOTE (klrk @ Feb 5 2009, 02:46 AM) Since it'll be running for few days, I need to convert my running time from s to timeline which is as attached below. But the problem is that I made a data sampling time control in the main loop since it'll be running for days, there'll be whole lots of digits if it's in s. Right-click on your Time control>Display Format>Relative Time This will let the value of the control still be defined in Seconds, but you can display & select the Time as HH:MM:SS. (I think you can even set it to days). Neville.
  7. QUOTE (Chris Davis @ Feb 3 2009, 05:50 PM) Thats a very cool idea. But did you see any performance benefit by manually farming out processing to different cores? N.
  8. QUOTE (stever @ Feb 3 2009, 04:01 PM) No. But in my experience, if you just use regular loops and make any shared VI's re-entrant, the OS/LV will take care of scheduling the processor cores quite well. Alternately, you could add some NI hardware and use its clock source (you can do that in Windows as well), but I think it won't make a huge difference. I saw an NI-WEEK demo where going from 4 simultaneous FFT's on Windows to RT improved performance from 3.8x to 4x. N.
  9. As far as I remember, the .mat need not be binary. You could probably write the .mat file to look like this in ASCII: A=[1 0 2] (maybe a ; at the end?) and matlab should be able to interpret it as a matrix A. Anyway, the bottom line is: Jojo-Lapin, PLEASE ask questions in a coherent way so that people can actually give you reasonable answers. Looks like people are desperately trying to pull the signal out of noise, but who knows if they are succeeding? N.
  10. Have you tried looking at the vision examples? Also take a look at this. Neville.
  11. QUOTE (Maci @ Feb 1 2009, 05:00 PM) I think you already have all the information you need from the posts above. If you need to add 4x pts to your current time record, pad with zeroes. In the search button above pallets type "zero pad" and find the function. Search around in the "Signal Processing" pallets for other functions that might be of use to you. After all, you have to do some of the work yourself. N.
  12. There is a Zero padder VI somewhere in the signal processing pallets. Also, if padding, add zeroes upto a power of 2 to get a total of 2^N elements in your time array so that a more efficient (faster) FFT algorithm is used. Neville.
  13. QUOTE (jfazekas @ Jan 29 2009, 10:46 AM) I think AQ has already answered your question. No data copies at a fork unless there is a write at one of the forks. N.
  14. If you work it out, it would be nice if you could post a solution here for others to use in their applications. N.
  15. You can also open the required VI in a subpanel, allowing you full control of its front panel. N.
  16. I think your application is a good candidate for using TestStand. Neville.
  17. QUOTE (jfazekas @ Jan 26 2009, 11:24 AM) Maybe you can run the profiler and see if the memory usage for a particular subVI seems larger than it should be. Check that you aren't using any build arrays, and are only extracting small sections of the array at a given time. Dunno about the LV Class Control. Worth a try, I guess. N.
  18. QUOTE (jfazekas @ Jan 26 2009, 10:43 AM) Your right. By ref will be slow. I would stick with direct wires as the fastest way, and look at the data copies. Why are they being formed? Can you do anything about it? LV is smart enough to NOT make copies unless absolutely necessary. Just passing a wire into a subVI does not mean a copy of the data is made for that subVI (unless there is some branching that changes the data). See if you can use the inplace element structure to speed things up if replacing elements in a complicated array. Another approach is to chunk your data into a few manageable sets and work on those (maybe in parallel? Multicore optimization with smaller data! Hey thats a win-win!) Neville.
  19. What I meant was don't save the images from the camera in jpeg format and then try to detect edges after reading in the jpeg. Use the best resolution you can get from the camera, acquire the image, perform your processing and then if you want save the images (for off-line processing) in png format. N.
  20. QUOTE (Eugen Graf @ Jan 22 2009, 02:24 PM) It can be very useful to write tools for code development or automate some coding bits that you find yourself doing over and over. For example the Tunnel wiring tool. Just because you haven't yet found a use for it doesn't mean it isn't useful. N.
  21. I wouldn't use JPEG images for edge detection. The discrete cosine transform used in JPEG compression is brutal on straight lines. Use png or tiff if possible. Neville.
  22. You can tip strips. But these need to be short since they just extend horizontally 1 row for as long as the text field. Tip strips work with Sub-panels. N.
  23. Make sure under Serial settings that the instrument's settings match the ones in your driver.. especially the Baud rate, else you will get back junk data. Neville.
  24. I had a recent problem like that (LV 8.6) where for some reason Error Handler CORE had unsaved changes..!!? They didn't show up in the top-level VI or the building the exe. But on running it, it would fail and look for some components. I did a save-all, rebuilt exe and installer, and everything was peachy after that. No classes or anything. Plain vanilla LV project; no hardware. Neville.
  25. I don't have any answers to your questions, but in general I find VI Server calls to remote targets a bit flaky. Sometimes they seem to be ignored by the target, generating errors. Especially if you have a bunch of them sequentially. Example: I want to open a remote panel of the top-level VI on an RT target. Trying to query top-level remote VI's name works most of the time (about 75%). At other times it will generate an error (that doesn't mean anything). Anyway, I agree, all your questions are very relevant. Hope there are some answers out there.. Neville.
×
×
  • Create New...

Important Information

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