Electrical EngineeringProgrammable Logic Controller Lab →List Of Experiments

Implementation Of PLC Arithmatic Instructions

In case of PLC various instructions are available which can be used for computational purpose.
The compute/math instructions evaluate arithmetic operations using an expression or a specific arithmetic instruction.
Various instructions PLC can support are as follows.



Instruction

Description

ADD

Add two values        

SUB

Subtract two values

MUL

Multiply two values

DIV

Divide two values

MOD

Determine the remainder after one value is divided by another

SQR

Calculate the square root of a value

NEG

Take the opposite sign of a value

ABS

Take the absolute value of a value

When these operations are carried out in the PLC, the type should be the same for source and destination e.g. real, integer etc. You can use mix data types, but loss of accuracy and rounding error occurs. The instruction may take more time to execute.

A compute/math instruction executes once each time the instruction is scanned as long as the rung-condition-in is true. Out of the above; ADD, SUB, MUL and DIV instructions are available in the PLC simulator.

The input and output parameters associated with these instructions are:



   Input  Parameter    

  Data  Type       

 Description

EnableIn

BOOL

Enable input. If cleared, the instruction does not execute and outputs are not updated

Source A

 REAL

Value to add to Source B

Source B

 REAL

Value to add to Source A



   Output  Parameter    

  Data  Type       

 Description

EnableOut

BOOL

Enable output

Dest

 REAL

Result of the math instruction

ADD instruction:

The ADD instruction adds Source A to Source B and places the result in the Destination.

When the instruction is used in Relay Ladder the output parameter conditions are defined as mentioned below.



Condition

Action

prescan         

The rung-condition-out is set to false.

rung-condition-in is false

The rung-condition-out is set to false.

rung-condition-in is true

Destination = Source A + Source B

The rung-condition-out is set to true

SUB instruction:

The SUB instruction subtracts Source B from Source A and places the result in the Destination.

When the instruction is used in Relay Ladder the output parameter conditions are defined as mentioned below.



Condition

Action

prescan         

The rung-condition-out is set to false.

rung-condition-in is false

The rung-condition-out is set to false.

rung-condition-in is true

Destination = Source A - Source B

The rung-condition-out is set to true

MUL instruction:

The MUL instruction multiplies Source A with Source B and places the result in the Destination.

When the instruction is used in Relay Ladder the output parameter conditions are defined as mentioned below.



Condition

Action

prescan         

The rung-condition-out is set to false.

rung-condition-in is false

The rung-condition-out is set to false.

rung-condition-in is true

Destination = Source A * Source B

The rung-condition-out is set to true

DIV instruction:

The DIV instruction divides Source A by Source B and places the result in the Destination.

When the instruction is used in Relay Ladder the output parameter conditions are defined as mentioned below.



Condition

Action

prescan         

The rung-condition-out is set to false.

rung-condition-in is false

The rung-condition-out is set to false.

rung-condition-in is true

Destination = Source A / Source B

The rung-condition-out is set to true