As part of my senior design, I am working on LAb view programming. Though I know some basics of lab view, I don't know how to apporach it in the right way. Our device is a dispenser (ink jet printer) which has to dispense user defined amount in user defined location. lab view program has to be interfaced with the printer to do so. I know some basics of lab view and currently I don't know where I am heading to. I have also read the one discussion forum on Lab view FPGA to control an inkjet printer which discussed about FPGA module.
What is the hardware interface with the inkjet printer, or is designing that part of the project? The LabVIEW FPGA module and development addon are quite expensive, although there is probably and academic discount. We would need much more of an idea of what you are attempting to give suggestions on how you might proceed. And it will be suggestions.
We also have to figure about the interfacing with the ink jet printer (epson) and lab view. Are you trying to say that FPGA module is the right choice for our project? Since we have a limited budget, it can be quite expensive.
No, I'm saying that depending on the level that you are interfacing would determine whether the FPGA would be a good answer. If you are interfacing to an existing inkjet printer, where you may need to just provide it with the appropriate values through an existing interface, then FPGA would probably not be the answer. If you are connecting at a lower hardware level where you need to directly control the print head, positioning "stuff" etc., then it might. But as I said, and you have reiterated, it is expensive. FPGA allows you to through "software" define a hardware logic. It is particularly good for those things that need very critical timings between signals as it basically programs a digital logic card, therefore the timings are no longer software/operating system dependent, they are in hardware, with outputs and internal signal changes dependent on internal, hardware, clock transistions. You mention that the printer is an epson inkjet. Are you talking a standard, plug it into a computer, epson printer? Are you expecting to "hack" its hardware to get control of those functions you mentioned, like user controlled ink quantity, etc.? You will have to tell us what you have in a little more detail, and what you expect to have to do. Interface to a printer can be hooking up a parallel, or usb connection and sending the codes to print (which in LabVIEW can be its own hurdle!) to the extreme of cutting into existing hardware to introduce "internal" control signals that substitute for the original. The first step to trying to solve your technical problem is being able to describe what it is that you are trying to do, in as much detail as possible.
The main part of project is to use printer (Epson 2200) as a micro fluidic dispenser, which needed to dispense certain amount of reagent (ml) in certain location, and we wanted to do so by the Lab view programming. I guess what I wanted is to have control over the amount dispensed and the location through lab view programming.
As you said
" Interface to a printer can be hooking up a parallel, or usb connection and sending the codes to print (which in LabVIEW can be its own hurdle!) to the extreme of cutting into existing hardware to introduce "internal" control signals that substitute for the original."
I guess if we cannot use the FPGA module then it would be better as you said to interface a printer through parallel or usb connection and sending codes to print. or Is there any other option?
I don't know the Epson 2200 well enough to say what your options are. I suspect that most of the functions you want to control are already controlled by the printer's own internal circuitry and that you need to bypass those and just have control of the actual dispensing part. Not sure how you would go about that, would require having some seriously in depth knowledge about the process that is probably proprietary (hard to get) information. I would guess that through the "normal" interfaces (parallel, USB, serial, whatever) you are given a pretty limited control of the feature (ink/reagent quantity dispensed) you want to control. I'm thinking three levels, that the internal hardware already there would interpret, italic, normal, bold. The positioning you can pretty much control by sending spaces, etc., with some printers allowing special micro-spacing commands. To control the dispensing amounts more precisely will probably require knowing a lot more about how the print head works, how it calculates how much of whatever it does to produce a given amount, building a circuit to do that and then interfacing that to "the outside world", vi USB, serial, etc., where LabVIEW (or any other language) might then control it. Of course, if you know how the printhead works then LabVIEW FPGA might be an answer, although if this is a one time project it might be a very expensive way to go. Otherwise it will require designing the logic to control the amount, based on the printheads unique requirements, and an interface to the world to allow you to communicate these settings.
Now I have concluded two options and need some help to improvise
1. Justly simply to print from lab view, and Isn't there any way to manipulate easy printVI panel to dispense certain amount and location. http://zone.ni.com/reference/en-XX/help/371361D-01/lvreport/easy_print_panel_doc/
2. I have downloaded instrument driver and downloaded certified labview plug and play (project style) instrument driver of EFD ultimus V. But still need help on how it works.
I'm not sure how the driver for a EFD Ultimus V high precision fluid dispenser will help you with your project. This is a driver for a rather complex looking (expensive) prebuilt unit. The driver will send commands that are specific for that unit, to control its internal, specific, hardware. The driver you have downloaded is not generic.
How had you planned on using the Epson printer? Not the software part, the actual dispensing of fluids part? Why a printer? Describe in a little more detail what you are trying to accomplish and maybe we can come up with some ideas.
We choose printer because it can dispense the low level amount and also we thought we can control the amount that it dispenses and also the location by means of any program so that printer will act as a dispenser. We also assumed that it can be easier to control print head or motors of the printer through software. And Lab view is the requirement as a programming tool.
You are most likely barking up the wrong tree here. Typical consumer type printers are cheap and that's about it. They have certain command style interfaces such as PS, PCL and similar which are designed to allow sending text and page layouts to the printer, which interprets them and puts them in some way on the paper. No direct control of the print heads is foreseen nor allowed since that contains closly shielded proprietary knowledge and doing it wrong can damage the print head too.
Consequently those consumer style printers do usually NOT provide a documented protocol interface to control the heads at all directly. Maybe Epson is different (unlikely) or this printer is a high end printer that may allow such control.
But most likely the only thing you can do is by using the existing control options such as PS or PCL in ingenous ways, simulating the possibility to have some sort of control on the location the head is placed and the amount it dispenses.
Or you take the printer apart and start cutting into the hardware, replacing the electronics with your own hardware such as FPGA to take full control of the mechanics inside.
Likely there are not many other alternatives to this.