*In order for an analog voltage or current to be used by a PLC, a circuit called an Analog-to-Digital Converter (ADC) or a PLC analog input module is used.*

###
**PLC's - Analog Values**

**Eugene Kowch | P.I.D. Consultants Inc.**

# Programmable Logic Controller ---- Analog Values

Author: Eugene Kowch, P.I.D. Consultants Inc.

Programmable Logic Controllers (PLC) can not deal directly with varying voltage levels. In order for an analog voltage or current to be used by a PLC, a circuit called an Analog-to-Digital Converter (ADC) or a PLC analog input module is used. This circuit accepts a voltage or current that is designed to fall within a given range and converts that value into a binary representation that is suitable for use by the PLC.

Many homes and offices require more than simple on/off control. They must deal with temperature, gas/water meters, and sump levels, which vary in a continuous manner from some minimum to some maximum reading. Various sensors are used to measure the quantity and convert it to a voltage or current value. The voltage or current signal is thus a representation or analog value of the actual quantity.

Programmable Logic Controllers (PLC) can not deal directly with varying voltage levels. In order for an analog voltage or current to be used by a PLC, a circuit called an Analog-to-Digital Converter (ADC) or a PLC analog input module is used. This circuit accepts a voltage or current that is designed to fall within a given range and converts that value into a binary representation that is suitable for use by the PLC.

An analog signal can vary smoothly between two distinct values. Mathematically, it is said that an analog signal consists of an infinite number of discrete points between Point A and point B. To be useful to the PLC, the analog signal must be quantitized into a finite number of discrete points. The number of points is determined by the capability of the ADC. There are several methods used to quantitize the analog signal into discrete points; Successive Approximation, Flash and Dual Slope converters. The Successive Approximation method is very common because it offers the best compromise between speed and cost. Regardless of the method used, the ADC quantitizes the analog input into a series of discrete values or steps. Any analog input within the proper range is converted to a single acceptable digital output.

The size of the quantitization steps is determined by the ADC’s resolution. Resolution is determined by the number of bits in the binary value that the converter produces. Common values are 10-bit, 12-bit and 14-bit converters. Given the number of bits of resolution, the number of discrete steps is determined by the 2-to-the-Nth power formula, where ‘N’ is the number of bits of resolution. Thus, a 10-bit converter has 1024 discrete steps, a 12-bit converter has 4096 discrete steps and a 14-bit converter has 16384 discrete steps. Note that resolution does not describe accuracy. Accuracy is concerned with how well the converter does the task it was designed to do.

The resolution tells us how small a quantitization step size is possible. Another way of saying this is how small a change in the analog signal can be measured by the ADC. First, though, we must know the possible values of the incoming analog signal, and then configure an appropriate range for the ADC module. In order to produce consistent readings, most PLC analog input modules (ADC modules) conform to one of the following ranges:

- 0 to 5 Volts
- 0 to 10 Volts or
- 0 to 20 mA.

Once the range for the PLC analog input module is determined, simple math will tell us the quantitization step size:

Step Size = (Maximum range – Minimum range) / Resolution.

This is best illustrated with an example. Given a PLC analog input module with 10-bit resolution and a 0 to 10.24 Volt range:

Step Size = (10.24-0) / 1024

or 10 mV.

In this example, any change in the analog input of at least 10 millivolts will produce a change in the digital output.

*Note: It is important that the over range capability of the PLC analog input module be included as part of the computation.*

**Comments (0)**

This post does not have any comments. Be the first to leave a comment below.