I have seen similar posts on the forum covering similar questions, but I still can't get my system to work even after going through the posts that I found. A high level overview of what I'm trying to accomplish is as follows: I have a servo motor conducting a test where a torque transducer is being used. The torque transducer feeds into the analog input of an NI9205 which is on a cDAQ-9174 chassis. The problem is I need to correlate the torque reading to the position of the motor. I have no way of feeding the motor position as an analog signal to the DAQ so what I'm trying to do is have the PLC running the motor send a digital signal when the motor starts moving and another signal when it stops moving. I know the start and stop positions and the speed of the motor, so I can use that to correlate torque to position.
The problem is that I cannot get the DAQ to start and stop via the PFI input on the 9205. I was planning on sending a HIGH signal to the DAQ when the motor starts and keep it high until the motor stops. I would then have a digital rising edge start trigger and a digital falling edge reference trigger. I am using the VI provided by NI here.
It feels like I could have a wiring / setup problem so here's my attempt to explain how the system is hooked up: The torque transducer has its own 24Vdc power supply and gives a +/- 10V RSE signal. The (-) of the 24Vdc power supply is wired into the COM terminal of the 9205 and the analog out wired to the ai/0 of the 9205. The PLC has its own internal 24Vdc power supply; the digital signal from the PLC is wired to the PFI0 terminal on the 9205 and the common is tied to the 9205 COM and torque transducer 24Vdc (-).
The test hardware is in the lab so I am mimicking the PLC and torque transducer with two different power supplies at my desk. The "torque transducer" is a variable power supply set to 7Vdc (just a random voltage I picked which is within the +/-10V output the torque transducer can produce) the (+) terminal is connected to ai/0 of the 9205 and the (-) terminal is connected to the COM of the 9205. The "PLC" is another variable power supply set at 5Vdc, with the (+) terminal connected to a momentary button with the other lead of the button wired to the PFI0 terminal of the 9205. I use this button to simulate the PLC sending the digital signal, ideally I can press (start acquisition) and release (stop acquisition). The (-) terminal is connected to the "torque transducer" power supply so that they share a common.
The DAQ doesn't trigger when I press and release the button, and if I hook an oscope up to the button I am seeing a 5V and when I press the button I would expect to see 0V, but instead the voltage is 1V? I'm not sure why that is the case it almost seems as if the commons aren't tied together?.
Attached is my VI which is the one provided by NI with just a minor addition for stopping the loop if the acquisition doesn't trigger.
Please let me know if I have wired something incorrectly, or if the VI is setup incorrectly. Your assistance is appreciated, I've been beating my head against a wall for a day now trying to figure this out.
I read somewhere that the DO0 and PFI0 from NI-9205 are not supported with cDAQ systems they are only supported in cRIO, but I just can't find the source anymore.
And the max input (PFI0) and max Output (DO0) is 3.3V
I was able to get the PFI0 working on the NI-9205 so it does work on a cDAQ system, and after you mentioned the max input as 3.3V I re-read that section of the manual and missed that. I saw the +/- 30V as the maximum and apparently stopped reading after that so thank you.
If I short the PFI0 to the module common as my trigger signal it works reliably, I wasn't able to get the system to work by feeding it a digital signal from a (now) 3.3V source with the source and module common shared. If there is any input on what I'm doing wrong I would greatly appreciate that as I was able to verify the code works just fine so this must be a wiring issue on my end. I guess I will move forward with shorting the PFI0 to common whenever I need a signal, it just adds some extra complexity to the system that I was really hoping to avoid.