09-30-2009 11:21 AM
Hello all,
My motion controller card is connected to a MID-7604/7602 Stepper Motor drive. I've got a peristaltic pump here with a 25 pin serial connection on the back, and I'd like to integrate automated pump control into an already existing VI. There's no driver for my pump, and so what I'm going to try to do is write a driver for it, using the analog output terminal on the stepper drive to wire voltages to certain pins of the serial connection on the pump.
Have I got this right?
Cheers,
Ryan
10-01-2009 02:27 AM
Hi Ryan,
I'm sorry, but I don't understand exactly what you are trying to do. First of all, the MID only routes the analog outputs from your motion control board to the connector terminals. Which motion control board are you using? My question is based on the fact, that e. g. the PCI-7330 doesn't provide analog outputs at all. Here are some more questions that should help to better understand your needs:
Sorry for my confusion. Please provide more detailed information. A datasheet of the pump would also be helpful, as well as a bigger picture of your system setup.
Thanks,
Jochen
10-01-2009 02:47 PM
Hi Jochen, and thanks for your help.
I'm using a PCI-7344 .
- Yes, the MID is connected to a stepper motor via the encoder and stepper motor terminal blocks, independent of the pump.
- Sorry, but I'm not so knowledgeable about different bus architectures. The pump is a Wilson-Marlow 205U, and a datasheet can be found here, which may answer your question.
- Perhaps it's not serial then.
The pump datasheet linked to above describes how to control the device remotely, by passing voltages to certain pins to do different functions. What I want to do is to write a vi that will pass these voltages to the device. Since Motion I/O port on the back of my PCI-7344 card is already taken by my MID, I thought maybe I could tell my MID to produce certain voltages on the different channels of analogue output, connected to my pump.
I hope it's clear what I was trying to accomplish. If this is not possible, I would appreciate any suggestions on a better way.
Thanks again,
Ryan
10-01-2009 03:12 PM
Sorry, upon examining more closely, I believe I'll have to wire digital signals to the pump.
I have a PCI-6035E DAQ card with several digital I/O ports that looks like it'll better suit what I'm trying to accomplish.
I may have just solved my own dilemma, with your help. Does this sound reasonable?
Cheers
10-02-2009 01:27 PM
Based on the manual, it appears that the pump is using some non-standard method of programming. I think you are on the right track providing digital signals to the different pins of the connector. To provide the digital signals, you can use the 6035E as you mentioned or you can use the motion controller. To use the motion controller, you will just have to hook up a connector block (like the SCB-68) to the Digital I/O port on the controller card.
Which of the two you decide to use will probably depend on your familiarity with programming each. The 6035E will use the NI-DAQmx driver whereas you will have to use the Motion I/O VIs under the NI-Motion driver if you want to use your controller card.
Good luck and let us know if you have any further questions!
10-02-2009 01:46 PM
Thanks very much for your input. Just one more question... I've got the pump wired to DIO 0 of my DAQ card, and used the DAQ assist VI to specify that I want digital output at line 0 / port 0. Now, I'm having trouble finding the correct vi to wire up to the data input to produce a TTL high signal.
Thanks for all the help.
10-05-2009 12:05 AM
You won't need an actual VI to set it high. You can use a True/False constant, a boolean control, or any boolean input to the DAQ Assistant. The only caveat to the DAQ Assistant for DIO is that it expects an array of inputs, even for only one line.
In your case, if you were to wire a True constant in to drive the line high, you would just need to place a Build Array VI between the boolean constant and the DAQ Assistant.
10-05-2009 02:00 PM