Divide (DIV)

This information applies to the CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, and GuardLogix 5580 controllers. Controller differences are noted where applicable.
When enabled, the DIV instruction and the operator '/' divides Source A by Source B.
Available Languages
Ladder Diagram
DIV_LD_avail_v31
Function Block Diagram
Function Block Diagram supports these elements:
FBD Block
DIV_FBD_avail_v31
FBD Function
TIP:
FBD Function is applicable to CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only.
DIV_avail lang_fbd fun
Structured Text
This instruction is not available in structured text.
TIP:
Use the operator '/' in an expression to compute the same result. Refer to
Structured Text Syntax
for more information on the syntax of expressions and assignments within structured text.
Operands
IMPORTANT:
Unexpected operation may occur if:
  • Output tag operands are overwritten.
  • Members of a structure operand are overwritten.
  • Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an instruction. See
Data Conversions
.
Ladder Diagram
Operand
Data Type
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers
Data Type
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers
Format
Description
SourceA
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
immediate
tag
Value of the dividend
SourceB
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
immediate
tag
Value of the divisor
Dest
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
tag
Tag to store the result of the instruction.
Function Block Diagram
FBD Block
Operand
Data Type
Format
Description
DIV
FBD_MATH
tag
DIV structure
FBD_MATH Structure
Input Members
Data Type
Description
EnableIn
BOOL
Enable input. If false, the instruction does not execute and outputs are not updated.
Default is true.
Source A
REAL
Value of the dividend.
Source B
REAL
Value of the divisor.
Output Members
Data Type
Description
EnableOut
BOOL
Indicates if the instruction executed without fault when it was enabled.
Dest
REAL
Result of the instruction.
FBD Function
TIP:
FBD Function is applicable to CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only.
Input Operands (Left Pins)
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers
Data Type
Description
SourceA (top)
SINT
USINT
INT
UINT
DINT
UDINT
LINT
ULINT
REAL
LREAL
Value of the dividend.
SourceB (bottom)
SINT
USINT
INT
UINT
DINT
UDINT
LINT
ULINT
REAL
LREAL
Value of the divisor
Output Operands (Right Pin)
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers
Data Type
Description
Dest
DINT
UDINT
LINT
ULINT
REAL
LREAL
Result of the function
See
FBD Functions
.
Affects Math Status Flags
Controllers
Affects Math Status Flags
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers
Conditional
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers
Yes
Major/Minor Faults
A minor fault will occur if:
Fault Type
Fault Code
Source_B = 0
4
4
See Index Through Arrays for array-indexing faults.
Execution
Ladder Diagram
Condition/State
Action Taken
Prescan
N/A
Rung-condition-in is false
Set Rung-condition-out to Rung-condition-in
Rung-condition-in is true
Set Rung-condition-out to Rung-condition-in
Dest = Source A / Source B
1,2
Postscan
N/A
Function Block Diagram
Condition/State
Action Taken
Prescan
N/A
EnableIn is false
Set EnableOut to EnableIn
EnableIn is true
Dest = SourceA / SourceB
1,2
If overflow occurs
Clear EnableOut to false
else
Set EnableOut to true
Instruction first run
N/A
Instruction first scan
N/A
Postscan
N/A
FBD Function
TIP:
FBD Function is applicable to CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only.
Condition/State
Action Taken
Prescan
N/A
Normal Scan
Dest = SourceA / SourceB
1,2
Instruction first run
N/A
Instruction first scan
N/A
Postscan
N/A
1
If SourceB is zero the result will be SourceA for integer divides and 1.$ for floating point divides. This condition can also cause minor overflow faults.
2
For integer destination and source operands the result is truncated.
Examples
Ladder Diagram
L5K_DIV_LD_ex_v31
Function Block Diagram
FBD Block
L5K_DIV_FBD_ex_v31
FBD Function
DIV_fb function_ex
Structured Text
DINT_dst := DINT_srcA / DINT_srcB;
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.