02-01-2011 03:04 PM
Hi,
I have a NI 7350 Motion controller. I am using some of its outputs as an Analog OUT. Is it possible to write an onboard program that would ramp/down the voltage automaticaly without the involvement of the computer?
It would look like that. The Output is 0V I set Load DAC to ie 1V and the Motion card ramps it up lets say in 50ms to 1V. Then make the Load DAC again back to 0V and it takes again 50 ms to get there. Of course the numbers are just examples.
LB 2009SP1 RT In PXI controller.
Thanks
02-02-2011 03:53 PM
Hey Andy,
Take a look at the NI-Motion User Manual. Chapter 14 is about Onboard Programming.
Ricky V.
02-02-2011 04:15 PM
I did. It seemed that I could do that with only motion commands but I might be wrong here.
All I need is a feature that would ramp up/down the voltage to level I want to without me watching it.
02-03-2011 11:11 AM
Hey Andy,
You could possibly do a Capacitor and Resistor in line, you could do an LCR circuit.
Or you could do a separate while loop and program a voltage ramp/deramp, but you would manually have to write the logic for that.
Does that help any?
Ricky
02-03-2011 11:18 AM
A separate circuit is out of question but the second solution seems interesting.
Would you care to give some more details? I definately cannot do that in the main VI program runnig on the Computer CPU - too slow. I would need that ramping/derampin loop run 500-1kHz that is why I was thinking about the onbord program.
02-04-2011 11:16 AM
Hi AndyN,
All you would need to do is use a local variable for the desired voltage. In the second while loop you read the desired voltage and knowing you step size increment or deincrement the voltage output accordingly. This will create a choppier signal but should be able to get the job done.
02-04-2011 05:45 PM - edited 02-04-2011 05:53 PM
The problem is I nedd to have the main CPU to do other tasks for me so I can t force it to do 500+Hz. It cannot be choppy neither. The signal will go to a servo.
The solution I found so far is to use the regular motion functions. The provide the ability to ramp up/dow the signal. The problem is I need to use the servo setup without feedback or open loop feedback with the DAC as output. Those configuration are not possible in MAX. Are they possible in the code or rather will the Motion card/LV accept them? I saw in the manual that I can turn off feedback making it "None" How will PID react to it than? I already set the all gains to zero excecpt the proportional which is set to 1. The only thing left is to force the PID to ignore feedback. However I need to know the feedback for my algorithm. I need to keep the cake and eat it as well.
02-07-2011 01:38 PM
Hey Andy,
I am not sure if you have seen these Knowledge Based Articles before, but these may be of assistance.
1) Limiting the DAC Output Voltage on a Servo Axis
2)On-board Programming in FlexMotion
3)Onboard Programming with Flexmotion Controllers: VIs That Can Execute
Onboard or on the Host
Ricky V.
02-07-2011 03:03 PM
Thanks, I did not see those last two. I'll post when I find a working solution.