I was in a similar situation, in my case it was a linear potentiometer that was feeding 0-10V into a PLC analog input. It was supposed to produce a linear signal, but being a cheap pot it wasn't perfect, plus the A/D conversion adds some nonlinearity.
My solution was to calibrate the pot by recording the response across the full scale range, then plotting it in Excel and programming the trendline regression equation into my PLC to interpolate. It was a 5-inch potentiometer so I recorded the analog reading every 1/4 inch for a total of 20 readings. I then had a polynomial equation that would produce a distance [inch] output given an analog input value. (Floating point math was required.) Works great, in fact we've built 8 of these units and calibrate each pot individually since they all have a slightly different response.