# PLC Programming Computational Mathematical Instructions – MOD | Modulo

## Introduction

The MOD, also known as the modulo, is an instruction which allows the user to calculate the remainder produced by a division of two integers. This instruction is not frequently used in ladder logic programming but is very useful for calculating the remainder of a ratio, production excess, and several other parameters. ** The instruction takes three registers as operands. The first two are the dividend and the divisor. The result is stored in this third register which is labeled as the destination**.

This instruction **can be found in situations which require one to find the leftovers of a batch**, how the performance of a piece of machinery is or any other situation which relies on a notion of a remainder.

## Example & Usage of MOD

**Here’s a real-world scenario of a MOD instruction**:

- A CompactLogix L24ER Allen Bradley PLC is used to control a process.
- In rung 0, a MOD instruction is used to compute the modulo of an integer System_DINT[0] and System_DINT[1] and store the result in the integer System_DINT[2].
- Since the value of the first double integer is set to 200 and the second one to 43, the modulo evaluates to 26. In other words, 200 / 43 = 4 with a remainder of 26.
- In rung 1, a MOD instruction is used to compute the modulo of an integer System_REAL and System_REAL and store the result in the float System_REAL[2].
- Since the value of the first double integer is set to 200.22 and the second one to 10, the modulo evaluates to 0.22. In other words, 200.22 / 10 = 20 with a remainder of 0.22.
- In rung 2, a MOD instruction is used to compute the modulo of a system which calculates the remainder of a production run. “Source A” is set to the total number of cases produced while “Source B” has the count of products per case. By calculating the modulo, we can figure out if we’ve filled all cases or we have leftover product.

**Programming example in Studio 5000**:

**Outcome**:

The MOD instruction will compute the remainder of a division of two integers or floats. In the first two examples, we’re calculating two remainders which evaluate to 28 and 0.22 respectively. These calculations can be confirmed through a simple calculator. The last rung is used to figure out if we have any leftover product. **A simple example would be the production if 1023 bottle of beer while each case holds 25 bottles. Simple math allows us to evaluate a modulo of 23 which should be utilized to complete the run.**

The MOD instruction is not something you’d see on a regular basis in ladder logic but can be very useful in niche situations.

## Data Types Allowed for MOD

The MOD can be used to compare two values of identical types or mismatching types such as float and integer. These value can be INTs or FLOATs.

**Integer**– You may specify each operand to be of “Integer” type.**Float**– You may specify each operand to be of “Float” type.