17 ARITHMETIC OPERATION FUNCTIONS
17.2 Multiplication
779
17
17.2 Multiplication
MUL(_E)
These functions output the product input values ((s1)ï‚´(s2)ï‚´ ... ï‚´(s28)).
*1 The input variable "s" can be changed in the range of 2 to 28.
â– Descriptions, types, and data types
â– Operation processing
• These functions multiply the INT, DINT, or REAL type data input to (s1) to (s28) ((s1)(s2) ...(s28)), and output the
operation result from (d) in the same data type as (s).
Data type is INT
• A value input to (s1) to (s28) is the INT, DINT, or REAL type data value.
• If an underflow occurs in the operation result, the result will be output as follows from (d).
• When the operation result is 0, the zero flag (SM8020) turns on.
Ladder diagram
*1
Structured text
*1
[Without EN/ENO] [With EN/ENO] [Without EN/ENO]
d:=MUL(s1,s2);
[With EN/ENO]
d:=MUL_E(EN,ENO,s1,s2);
Argument Description Type Data type
EN Execution condition (TRUE: Execution, FALSE: Stop) Input variable BOOL
s1 to s28 Input Input variable ANY_NUM
ENO Output status (TRUE: Normal, FALSE: Abnormal) Output variable BOOL
d Output Output variable ANY_NUM
Data type is INT Data type is DINT Data type is REAL
• Even if underflow or overflow occurs in the
operation result, it is not regarded as an operation
error. "MUL_E" outputs "TRUE" from ENO.
• Even when the operation result exceeds the INT
type data range, the INT type data is output. (The
operation result is the DINT type, however, the
output data is the INT type data with high-order 16
bits deleted.)
• When the operation result exceeds the INT type
data, convert an input value into the DINT type
data by INT_TO_DINT then perform the
operation.
• Even if underflow or overflow occurs in the
operation result, it is not regarded as an
operation error. "MUL_E" outputs "TRUE" from
ENO.
• Even when the operation result exceeds the
DINT type data range, the DINT type data is
output. (The operation result is the 64-bit data,
however, the output data is the DINT type data
with high-order 32 bits deleted.)
• When the operation result exceeds the DINT
type data, convert an input value into the REAL
type data by DINT_TO_REAL then perform the
operation.
An operation error occurs and an undefined value
is output.
INT
100 ï‚´
INT
15
INT
1500
(s1)
(s2)
(d)