**Programmable Logic Controllers (PLC)** are the same as computers. They only understand two conditions; on and off. (1 or 0 / Hi or Low/ etc.) This is known as binary. The PLC will only understand binary but we need to display, understand and use other numbering systems to make things work. Let’s look at the following common numbering systems.

**Binary** has a base of two (2). Base means the number of symbols used. In binary the symbols are 1 or 0. Each binary symbol can be referred to as a bit. Putting multiple bits together will give you something that looks like this: 100101112. The 2 represents the number of symbols/binary notation. Locations of the bits will indicate weight of the number. The weight of the number is just the number to the power of the position. Positions always start at 0. The right hand bit is the ‘least significant bit’ and the left hand bit is the ‘most significant bit’.

Let’s look back at our example to determine what the value of the binary number is:

100101112 =

We start with the least significant bit and work our way to the most significant bit.

1 x 2^{0 }= 1 x 1 = 1

1 x 2^{1 }= 1 x 2 = 2

^{2 }= 1 x 2 x 2 = 4

^{3 }= 0 x 2 x 2 x 2 = 0

^{4 }= 1 x 2 x 2 x 2 x 2 = 16

^{5 }= 0 x 2 x 2 x 2 x 2 x 2 = 0

^{6 }= 0 x 2 x 2 x 2 x 2 x 2 x 2 = 0

^{7 }= 1 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 128

**Decimal**has a base of ten (10). The symbols are 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9.

^{0 }= 1 x 1 = 1

5 x 10^{1 }= 5 x 10 = 50

1 x 10^{2 }= 1 x 10 x 10 = 100

15110 = 1 + 50 + 100

151 = 151

**Hexadecimal** has a base of sixteen (16). The symbols are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F. Hexadecimal is used to represent binary numbers. F16 = 11112

Every for bits of binary represent one hexadecimal digit.

In our original binary number we now can convert this to hexadecimal.

100101112

The least significant four bits are:

01112 =

1 x 2^{0 }= 1 x 1 = 1

1 x 2^{1 }= 1 x 2 = 2

^{2 }= 1 x 2 x 2 = 4

0 x 2^{3 }= 0 x 2 x 2 x 2 = 0

^{0 }= 1 x 1 = 1

^{1 }= 0 x 2 = 0

^{2 }= 0 x 2 x 2 = 0

1 x 2^{3 }= 1 x 2 x 2 x 2 = 8

Therefore:

100101112 = 9716

We can now convert this hexadecimal number back into decimal

9716 =

^{0 }= 7 x 1 = 7

^{1 }= 9 x 16 = 144

9716 = 7 + 144 = 151

The following chart will show all of the combinations for 4 bits (nibble) of binary. Its shows the Binary, Decimal and Hexadecimal (Hex) values. It is interesting to not that Hex is used because you still have only one digit (Place Holder) to represent the nibble of information.

Binary | Decimal | Hexadecimal | Binary | Decimal | Hexadecimal |

0000 | 00 | 0 | 1000 | 08 | 8 |

0001 | 01 | 1 | 1001 | 09 | 9 |

0010 | 02 | 2 | 1010 | 10 | A |

0011 | 03 | 3 | 1011 | 11 | B |

0100 | 04 | 4 | 1100 | 12 | C |

0101 | 05 | 5 | 1101 | 13 | D |

0110 | 06 | 6 | 1110 | 14 | E |

0111 | 07 | 7 | 1111 | 15 | F |

**ASCII**(American Standard Code for Information Interchange)

**word**is

**made up of two bytes, or 4 nibbles, or 16 bits of data. Words are used in the PLC for holding information. The word can also be referred to as an integer.**

**Long word / Double word**is made up of 4 bytes, or 8 nibbles, or 32 bits of data. Long words are used for instructions in the PLC like math.

**Memory retentiveness:**

Thank you,

Garry

If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.

To get this free article, subscribe to my free email newsletter.

Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you **subscribe to ACC Automation**.

## 2 replies on “What Everybody Ought to Know About PLC (Programmable Logic Controller) Numbering Systems”

do you mind if we can download the plc software that is discussed so that we can immediately understand it and run it thanks

Hi Supriadi,

Here is some information on the Do-More Designer Software.

https://www.automationdirect.com/adc/overview/catalog/software_products/programmable_controller_software/do-more_plc_programming_software

This is a free programming package that includes a simulator that I have used several times on the website. Here is the download link:

https://support.automationdirect.com/products/domore.html

This series will take you through learning the software.

https://www.youtube.com/playlist?list=PL3y71jAPOdZB5LJMMotZP36LvzfdgkgzW

I hope this helps you out.

Regards,

Garry