So here's the update. I checked amps from the card in series with the source wire while having the PLC attempt to send 100% open (20mA). I only got 4mA to read on the meter. This is strange to me because if the channel on the card was bad I wouldn't expect to see any current at all let alone a good value for the minimum position for the valve. Would this indicate a faulty channel or something I'm missing?
So, to get back to it.... do these things..
1) Set your output to 50%, you'll see 12mA regardless if it's a 4-20 loop. if you're seeing 4mA and its at 100%, that could just be scaled opposite in the program, i've done it before, not sure how yours is set up obviously.
2) check the output at the card (in series with your meter) and then at the valve (in series at the signal wire going to it). make sure they match once you can see your output correctly.
3) if you see no variance with 50% setting and still see 4mA. get a 250 ohm or 500 ohm resistor and unwire the valve at the card. install the resistor between the 0v and signal and check that you can see variable voltage when you change the output. you could even just put the resistor on one terminal and then hook up your meter in series to check amperage touching the open side of the resistor and the other side to the other open terminal (either 0v or signal depending on what you chose to put the resistor on).
4) if you see variance of voltage and/or mA but the valve doesn't move,. you can either decide the valve input is bad or you can get a sourcing meter/tester like the loop simulator i posted or you can get a fluke process meter that can source. then hook it up to your valve inputs and give it a direct known good output and see if it responds.
this is basically all you need to do to find where the problem is...
output at the card but not at the valve - bad wire
output at the card and at the valve both good - bad valve input or stuck
no output at the card - bad setting/program/card
direct source to the valve and no response - bad valve or stuck.