Jump to content

carlover

Members
  • Posts

    14
  • Joined

  • Last visited

carlover's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Hi, I tried searching for information but I guess I don't know right terminology buzzwords ... This is general description of what I want to do: Have a vi acquire data through communication port. Data stream contains values from numerous variables (no problem with this..). I would like data to displayed using slider indicators . However, slider displays might change in future ( colors, shape, etc.) , or in future additional data sets might be coming through com port that needs to be displayed. What I would like to do is create a class called "slider" ( I am guessing class is right approach, but maybe not). Some properties might be inherited from base class, and some object properties might be unique to each object of the class (i.e. all sliders might look different from one another). That way I can minimize work for creating new sliders. Also I would like to have all of my sliders located in one directory - so for example if someone else wants to create their own version of the slider or add new one, "all" they have to do is drop their slider into that directory and main vi will account or recognize it...Now in conjuction to that what is the best way or methodology to 'deliver' data ( parsed data?) to those slider indicators? Hard wiring to indicators is one way, but is there a way for 'sliders' to subscribe to certain data - that way it would be easier to implement new sliders if additional data comes down the stream. I am not looking for anyone do deliver a solution to me, just to point me in the right direction where to find more information ( or simple example ). I tried searching for class and inheretance and variations of it but I can't find any onfo or an example. Any help is greatly appreciated!
  2. QUOTE (vtince @ Apr 29 2009, 05:18 PM) In addition to some of the answers already provided, you could search LAVA and NI's site for example. Here are some threads/articles to get you started on motor/motion control: http://forums.lavag.org/Coding-Technique-a...ller-t9517.html http://zone.ni.com/devzone/cda/tut/p/id/30...on_fundamentals http://zone.ni.com/devzone/cda/tut/p/id/3054 As you probably know, what you are attempting to do/build has already been done before and perhaps you can incorporate those approaches into your project. I don't think that moving your solar tracking system for X seconds every Y seconds will give you very good results. Sure you can calculate time and path oof the sun , and try to move your system , but perhaps better approach would be to actually dynamically track the sun (i.e. have a feedback in your system , or in another words move your system towards the position where sun actually is rather then where you calculated it to be). Sucha a "dynamic" tracker is fairly easy to build and implement. For example you can have 3 or 4 light meters positioned some distance apart from one another and continuously measrure their inputs. Then in response to those inputs you would move your system such that all of the detectors show same values - this condition would mean that you are pointing towards sun... Do a search on the net for "sunflower" system... HTH
  3. (mods if this is not right forum please move it) Hi all, I have NI-7356 motion card installed on Win XP box. After initial set up in MAX (encoders, quadrature, etc.) my robotics system runs fine in LabVIEW 8.5 PDS. After a while (weeks) I did notice that certain items in the MAX three start disappearing - for example if I want to see all options for Axis 1 some items are just blank, althoug "bullet space" for it is there - I'll post a screen shot tomorrow.... I am not sure when the items start disapearing but they are definently not there. NI support was stumpped - beside customary re-install suggestion, they even sugested to change XP look to "classic" as it might have something to do with relationship between MAX and system graphics. It didn't help. As a note that might, or might not, be relevant - once I do my set up and some LV work, robotics system is used by custom application written in C# (same computer and everything else). They tell me that app dosn't "touch" MAX but the calls to motion just use settings from MAX (although they do change veleocity and target position...). Anyone ever see this or have any ideas?
  4. Hi, I have a PCI card, but don't have available PCI slots on my on my computer. There are couple of unused PCI-e and PCI-X slots available - Does anyone know of "an adapter" that would enable me to use PCI card in PCI-e or PCI-X slot. Waht I have avaible is: 1 PCI-e x8 slot wired as x4 2 PCI-X 64bit/100MHz slots with support for 3.3v or universal cards Only thing I found so far is PCI-e to PCI as seen here: http://www.beaglesoft.com/pcie2pci.htm (this might work but getting in timely manner might be an issue). Changing computers (to one with desired bumber of PCI slots) is might last and least desired option at the moment. Thanks
  5. Hi, I am trying to get an image from web page into IMAQ vision for processing - this is my ultimate goal. Basically image resides on webserver as (for example) http://example.com/myImage.jpg Image will be changing and I would like to read it at least 3-5 times a second. This is what I have so far, but perhaps there is better way: I can get the image using Datasocket method (see crelf's post). Instead of picture display I load it into IMAQ image (basically temp file that is saved is opened by IMAQ instead of Read JPEG). Speed is of the essence and I am wondering if there is a faster way then saving file to disk and then loading and opening the image? What I mean is: when data string is read from Datasocket, is there a way to convert it to a data type read by IMAQ vision without save/read method from above. I did a lot of searching, and tried few things myself but am coming up short Thanks
  6. I also have dual monitors and don't know how I would do it all on one screen ( spoiled). I also multiple computers which can complicate things .... Instead of bunch of KVMs I run Synergy app (free) which lets me seamlessly share wireless mouse and keyboard across computers -no clutter....
  7. QUOTE (Michael_Aivaliotis @ Nov 22 2008, 02:57 AM) I don't have a problem doing it, but: - it only "works" if you are logged into Google account while searching, otherwise you (user) will not be able to see it. I don't know about most people, but I am rarely logged into G account... - It's doubtful that Google will use this promotion/demotion in the search results page to influence general web page ranking as it could open it to very easy "gaming"....
  8. looong time ago (and many LV versions ago ) below coding test was given to me. Since then I've been in position to interview people and present my own challenges....At least from my experience you have to tailor questions to a position you are hiring for - senior / junior, developer or system engineer, etc. it seems that people who use LV are "jacks of bunch of trades" not just LV coders. Also particular industry experience is also handy - say that you are in telecom industry, it's beneficial if the candidate has experience working with specific instrumentation such as BERT testers, scopes, etc. I usually ask few LV questions to gauge domain knowledge, but then I'll try to work in questions to determine their problem solving skills, and way of approaching problems. I might throw in questions regarding Fourier transforms, or image algorithms, etc. depending on position. Question that took me by surprise once ( but I've used it since ) was: " Tell me about the time you failed". If they never failed they are either lying or not trying hard enough - both not so good. Point of the question is too see how they react - both to the question and at time when things are not going so well.... LV coding test: 1. Create a VI that will take 2 numbers from the user…calculate the 2 numbers…produce and display the result for the following functions. Provide ONE button to select which function and another button to stop the program. A. Multiply B. Divide C. Subtract D. Add E. Remainder Save this VI as Calculator.vi…. Make the VI reentrant. 2. Using the GPIB Status function…Create a VI to extract a GPIB SRQ and display a flag when it's high. Save this VI as SRQ.vi….. Use the Instrument I/O Thread 3. Create a VI for an Array of Hexadecimal integers. Check each element of the array to see if it matches Target number. If the element matches Target number, replace the matching element with the number 0x10. Display the radix of the array. Display the array continuously during program execution. The user will be able to select a Target number that eventually replaces all the elements of the Array with 0x10 until the entire Array has been replaced by 0x10. The program will terminate immediately when: A. The user pushes the Quit button OR B. All elements in the array = 0x10 OR C. A 10-minute timer expires Target number is user defined Array is user-defined (5 elements) Save the VI as Target Array.vi… Make the VI print on execution completion. 4: Create a VI using VISA drivers that will find all GPIB and Serial instruments in a system. Save the VI as VISA.
  9. NI-IMAQ for USB is very disappointing - I really wish they would add functionality for multiple cameras. What *might* work for you is to utilize camera's API ( a la ActiveX) if you have access to it.
  10. QUOTE (Jim Kring @ May 26 2008, 02:06 AM) I thought I saw LV control panel (while they were receiving data few minutes before landing). It was a brief shot so I might be wrong....
  11. QUOTE (jpdrolet @ May 12 2008, 08:31 PM) we did similar thing on a multiple axis robotic platform (with stepper motors). since we used cheap usb game controller we had to define dead band, however we used velocity profile mode and mapped it to position of the 'stick', i.e. further you push it from the center faster it will go. Also, one of the spare buttons on the controller was used as a 'safety' - you had to press and hold it while controlling the robot (to avoid unintentional movement in case controller gets dropped, bumped, etc.). It's pretty fun...
  12. QUOTE I mean time synchronization - where I would have the ability to watch videos from all three cameras, and all cameras would show their prospective views at the same time frame of reference. One way is to time stamp frames using computers clock. I was wondering if there is a better/more elegant way to do so (remember cameras are usb and don't have common trigger) QUOTE (Neville D @ Mar 13 2008, 12:16 AM) Why don't you migrate to firewire cameras with a firewire card in your PC? That should solve your problem, and firewire cameras have better resolution, triggering and speed. You can get cheaper ones too. Neville. That would be nice but I don't think it's an option now. I would love to have NI (or other) video card and connect cameras to it - most of my problems would be done with. So any other ideas of how to use three usb cameras with LV and how to time sync video frames? Thanks
  13. Hi, I have three USB cameras and have to acquire, display, and save video. I do have an option to synchronize and process video 'offline' (it would be nice if it is in real time but not a requirement). It's on LV 8.5, Video Acq. 8.5.1, and I have image dev toolkit. My question is two part: - is there a way to simultaneously acquire from three USB cameras? - what's the best method to synchronize video from multiple usb cameras? I can acquire video from only one camera at a time. While I am aware of NI saying that IMAQ can only handle one USB camera at a time, is there a way around this? Is it possible to build and simultaneously run three standalone exe apps to acquire video on one machine (haven't try this one yet but I have feeling that it might not work). Is anyone aware of other toolkits on the market that allow multiple usb video acq. for LabView? I guess as a last resort I could have one computer per camera (boy will my VP first laugh at me for prising LabView and NI, and afterwards I am not sure what he will do ) , but that brings question of best method to synchronize video regardless of where/how video is acquired. Thanks a lot
  14. QUOTE(Karissap @ Oct 30 2007, 06:15 AM) Why use of shift registers for initial time "stamp" (are there any performance benefits, or...?). If you just connect initial seconds count to the while loop boundary every time loop iterates it will get same value; that would eliminate need to carry "non-changing" variable through the loop and shift registers. or am I missing something?
×
×
  • Create New...

Important Information

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