Back to tutorials
PLC Instructions

PLC Programming Computational Mathematical Instructions – MUL | Multiply

Vladimir Romanov
Table of Contents


The MUL, also known as the multiply, is an instruction which will perform a mathematical multiplication of two integers or floats. This mathematical instruction will be executed upon the registers specified in “Source A” and “Source B” and have the result stored within the register specified in the “Dest” field. This is a fundamental PLC instruction which is frequently used for scaling purposes. This need arises quite frequently when dealing with analog signals.

Paired with other mathematical instructions, the MUL can be a powerful tool for an array of different applications and calculations.

Example & Usage of MUL

Here’s a real-world scenario of a MUL instruction:

  1. A Micrologix 1100 Allen Bradley PLC is used to control a process.
  2. In rung 0000, a MUL  instruction is used to multiply an integer N7:0 by a constant value and store the result in the integer N7:1.
  3. Since the value of the integer is currently 23 and the value of the constant is 12, the result is evaluated to 156.
  4. In rung 0001, a MUL  instruction is used to multiply an integer N7:2 by an integer N7:3 and store the result in the integer N7:4.
  5. Since the value of the integer is currently 123 and the value of the second integer is 21, the result is evaluated to 2583.
  6. In rung 0002, a MUL  instruction is used to multiply a float F8:0 by a float F8:1 and store the result in the float F8:2.
  7. The MUL instruction is preceded by an XIC tied to B3:0/0 which will prevent the ADD to execute until it’s set to HIGH.
  8. Since the value of the float is currently 242.45 and the value of the second float is 123.123, the result is evaluated to 365.573.

Programming example in RSLogix 500:

  1. In rung 0003, a MUL instruction is used twice on the same value. The demonstration here is that you can easily convert an integer into a float through the use of the instruction.
  2. In the first branch of the rung, the MUL is used to multiply two INTs and stores the result in a FLOAT.
  3. The second branch multiplies the result of the first branch by the inverse of the value (0.001) which results in the original value in a FLOAT form.
  4. Do note that you can simply multiply by 1 and store the value in a FLOAT.

Programming example in RSLogix 500:



The MUL instruction is used to multiply a set of integers or floats. These values can be specified through a constant or within a register. The rungs above showcase some examples of how the MUL instruction is used to evaluate the multiplication of several registers and store the final value into the register specified within the “Dest” cell.

The last rung showcases a simple example in which two MUL instructions are chained. These instructions multiply two integers and store the result in a float. The result becomes a float value which is something common to all mathematical functions. This property is often used to convert an integer into a float.

Data Types Allowed for MUL

The MUL 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.

Video Tutorial

Back to tutorials

Related Tutorials


PowerFlex 525 Parameter, Input and Output Programming Tutorial in RSLogix Studio 5000

The PowerFlex 525 series of Variable Frequency Drives from Allen Bradley is highly utilized and respected within the automation field. The drives are compact, versatile and easy to use. We’ve written an extensive tutorial on how to get started with these drives in a previous tutorial; it covers how to initialize the drive, connect it to an EtherNet/IP based PLC and how to set the right parameters. In this tutorial, we’re looking to expand on the concepts and demonstrate a way to access and utilize the multiple Input and Output options available on the drive. The reason you may want to utilize the IO is to save money on purchasing external components, integrate instrumentation into your drive and save floor space, wiring and cost. We’ve seen the need to integrate closely related sensors into a PowerFlex 525 application; this would be the right way to do it.

Vladimir Romanov

Publishing MQTT Data Using Opto 22 groov EPIC PAC

MQTT is a communication protocol that has taken off in the IIoT community. It’s a light-weight, efficient protocol that works through a publisher / broker / subscriber model. It creates an easy way for field devices to communicate and retrieve data from a single location. In this article, we’ll go over MQTT and dive into an example of how you can publish data using a groov EPIC PAC and retrieve the data using a MQTT client.

Vladimir Romanov

HMI Design - Best Practices for Effective HMI Screens

HMI Design is the practice of building HMI screens that are intuitive to the end user, pleasing to the eye and are efficient to operate. As control systems within manufacturing are migrated from traditional push button designs to primarily operated from HMI displays, HMI Design has become trivial to any new installation.Although there is a wide range of HMI based systems, the basic principles of good design remain the same. Different industries may dictate different patterns of layout for their systems, but the good practices remain.

Vladimir Romanov