Analog inputs and/or outputs can be 0 to 10V; -10 to +10V; -5v to +5v; 0 to 20mA and 4 to 20mA.

The analog  signals are sent to the PLC input where they are read in and converted into a numerical value.
Analog outputs are numerical values in the PLC which are sent to the outputs where they are converted into a variable signal (volts or mA).

The “raw” numerical value from an analog input signal can be processed further for use within the user program.

This raw value is usually scaled before such use to make it easier to process. i.e. a 20mA max signal maybe converted into 1024 units but in the real world 20mA may equate to, say, 600 degrees.  It can be seen that if the actual input was 13mA to use the un-scaled value to set min/max alarms in the PLC would be difficult; therefore the user program firsts “scales” the raw values into something more sensible.

For example a sub-routine could scale the raw value to, 1024 units = 600 units, to set min/max alarms now would be easier. i.e.. 300 units = 300 degrees.

It will depend upon the make/model of PLC on how analog signals are transferred to, and scaled by, the CPU


Process = 0 to 600 degrees
Input = 0 to 20mA (0 degrees = 0 units; 600 degrees = 1024 units)
Raw value = 0 to 1024 units.
Scale = 0 to 600

The sub routine would have to carry some maths to perform the following.


Max Scaled Value = 600
Max Raw Value = 1024
Actual Raw Value = 700 (variable)
Using the above equation the scaled value would be 410.16 (degrees)
If the actual raw value was 1000 the scaled value would be 585.94  (degrees)
If the actual raw value was 200 the scaled value would be 117.18 (degrees)

A file of raw values against mA signal is available, in Excel format,  for down- load from the download page (mA to Units).