﻿ Data Types in PLC - Bit, Byte, Integer, Real, String

# Data Types in PLC

In this post, we will understand the various PLC data types like a bit, byte, integer, real, string, etc.

Various new programmers face issues in understanding a data type of PLC. Data type means the format of the variable or constant used in a program.

## Data Types in PLC

Without understanding a data type and how its format works, a PLC programmer cannot develop and define a program properly. In this post, we will see the various data types generally used in a PLC.

## Bit

The format of a variable starts with a single bit. Its value is defined as 0 or 1.

In simpler terms, compare it with Indian currency. It starts with a single paisa and multiple paisas make a rupee. Similarly, the format of any data type starts with a bit.

Its value is only true or false. The “bit” is also called as Boolean.

## Byte

Now, 8 bits make a byte. The first start bit means LSB (least significant bit) and the last bit means MSB (most significant bit).

Refer to the below image. It comprises of 8 number of bits, with each bit having its individual value. The range of a format is defined by 2n.

Here, n is the number of bits used in a data type.

So, as per the format used here in byte, the value for 28 will be 256. That means 256 numbers of combinations or values will be possible in a byte.

Any format with multiple bits can be classified into two types – signed and unsigned. Signed means the range has both positive and negative numbers.

Unsigned means the range has only positive numbers. So, here in a byte, unsigned byte means 0 to 256; and signed byte means -127 to 127.

A byte is also called a short integer.

## Integer

Now, 16 bits make an integer. The first start byte means LSB (least significant byte) and the last byte means MSB (most significant byte).

The value for 216 will be 65536. That means 65536 numbers of combinations or values will be possible in an integer.

An integer is also called as a word. But, a word cannot be signed. It will be unsigned only.

An unsigned integer means 0 to 65536, and a signed integer means -32767 to 32767.

## Double Integer

Now, 32 bits make a double integer. The value for 232 will be 4294967296. That means 4294967296 numbers of combinations or values will be possible in a double integer.

An unsigned double integer means 0 to 4294967296, and a signed double integer means -2147483647 to 2147483647.

In a PLC memory, two words make a double integer. So, for example, consider a Schneider PLC. %MW0 and %MW1 both will make a double integer; whereas only a single %MW0 or %MW1 will make an integer.

So, if you use %MD0 in this PLC, the next available address will be %MD2; as %MD0 comprises of %MW0 and %MW1.

## Real

Here too, 32 bits makes a real format. But, the major difference between real and double integers is that a real variable can directly be assigned a decimal value.

The value will be from -3.4028235E+38 to 3.4028235E+38.

Like a double integer, a real format too uses two memory words.

## String

A string format can contain any string of characters – numeric or alphanumeric. Every PLC has it’s own reserved memory for string variables.

The memory space needed for a string is 1 byte per character + 1 additional byte.

So, say a value – WELCOME. It will require 7 bytes for storing this value plus one additional byte; means a total of 8 bytes will be required.

These are some of the generally used data types in a PLC.

## PLC Data Types Video

In the below video, we discussed the various types of data in Omron PLC.