1.14 ---(SAVE) Save RLO into BR Memory
3 Conversion Instructions
3.1 Overview of Conversion Instructions
Description
The conversion instructions read the contents of the parameters IN and convert these or change the sign. The result can be queried at the parameter OUT.
The following conversion instructions are available:
• BCD_I BCD to Integer
• I_BCD Integer to BCD
• BCD_DI BCD to Double Integer
• I_DINT Integer to Double Integer
• DI_BCD Double Integer to BCD
• DI_REAL Double Integer to Floating-Point
• INV_I Ones Complement Integer
• INV_DI Ones Complement Double Integer
• NEG_I Twos Complement Integer
• NEG_DI Twos Complement Double Integer
• NEG_R Negate Floating-Point Number
• ROUND Round to Double Integer
• TRUNC Truncate Double Integer Part
• CEIL Ceiling
• FLOOR Floor
长沙工控帮教育科技有限公司整理
3.2 BCD_I BCD to Integer
Symbol
BCD_I ENO EN
IN OUT
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN WORD I, Q, M, L, D BCD number
OUT INT I, Q, M, L, D Integer value of BCD number
Description
BCD_I (Convert BCD to Integer) reads the contents of the IN parameter as a three-digit, BCD coded number (+/- 999) and converts it to an integer value (16-bit). The integer result is output by the parameter OUT. ENO always has the same signal state as EN.
Status word
BR CC 1 CC 0 OV OS OR STA RLO /FC
writes: 1 - - - - 0 1 1 1
Example
Q 4.0 I 0.0
MW10
BCD_I ENO EN
IN OUT MW12
NOT
If input I0.0 is "1" , then the content of MW10 is read as a three-digit BCD coded number and converted to an integer. The result is stored in MW12. The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.3 I_BCD Integer to BCD
Symbol
I_BCD ENO EN
IN OUT
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN INT I, Q, M, L, D Integer number
OUT WORD I, Q, M, L, D BCD value of integer number
Description
I_BCD (Convert Integer to BCD) reads the content of the IN parameter as an integer value (16-bit) and converts it to a three-digit BCD coded number (+/- 999).
The result is output by the parameter OUT. If an overflow occurred, ENO will be
"0".
Status word
BR CC 1 CC 0 OV OS OR STA RLO /FC
writes: x - - x x 0 x x 1
Example
Q 4.0 I 0.0
MW10
I_BCD ENO EN
IN OUT MW12
NOT
If I0.0 is "1", then the content of MW10 is read as an integer and converted to a three-digit BCD coded number. The result is stored in MW12. The output Q4.0 is
"1" if there was an overflow, or the instruction was not executed (I0.0 = 0).
长沙工控帮教育科技有限公司整理
3.4 I_DINT Integer to Double Integer
Symbol
I_DINT ENO EN
IN OUT
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN INT I, Q, M, L, D Integer value to convert
OUT DINT I, Q, M, L, D Double integer result
Description
I_DINT (Convert Integer to Double Integer) reads the content of the IN parameter as an integer (16-bit) and converts it to a double integer (32-bit). The result is output by the parameter OUT. ENO always has the same signal state as EN.
Status word
BR CC 1 CC 0 OV OS OR STA RLO /FC
writes: 1 - - - - 0 1 1 1
Example
Q 4.0 I 0.0
MW10
I_DINT ENO EN
IN OUT MD12
NOT
If I0.0 is "1", then the content of MW10 is read as an integer and converted to a double integer. The result is stored in MD12. The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.5 BCD_DI BCD to Double Integer
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
BCD_DI (Convert BCD to Double Integer) reads the content of the IN parameter as a seven-digit, BCD coded number (+/- 9999999) and converts it to a double integer value (32-bit). The double integer result is output by the parameter OUT. ENO always has the same signal state as EN.
Status word
IN OUT MD12
NOT
If I0.0 is "1" , then the content of MD8 is read as a seven-digit BCD coded number and converted to a double integer. The result is stored in MD12. The output Q4.0 is
"1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.6 DI_BCD Double Integer to BCD
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN DINT I, Q, M, L, D Double integer number
OUT DWORD I, Q, M, L, D BCD value of a double integer
number
Description
DI_BCD (Convert Double Integer to BCD) reads the content of the IN parameter as a double integer (32-bit) and converts it to a seven-digit BCD coded number 9999999). The result is output by the parameter OUT. If an overflow occurred, ENO will be "0".
Status word
IN OUT MD12
NOT
If I0.0 is "1", then the content of MD8 is read as a double integer and converted to a seven-digit BCD number. The result is stored in MD12. The output Q4.0 is "1" if an overflow occurred, or the instruction was not executed (I0.0 = 0).
长沙工控帮教育科技有限公司整理
3.7 DI_REAL Double Integer to Floating-Point
Symbol
DI_REAL ENO EN
IN OUT
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN DINT I, Q, M, L, D Double integer value to convert
OUT REAL I, Q, M, L, D Floating-point number result
Description
DI_REAL (Convert Double Integer to Floating-Point) reads the content of the IN parameter as a double integer and converts it to a floating-point number. The result is output by the parameter OUT. ENO always has the same signal state as EN.
Status word
BR CC 1 CC 0 OV OS OR STA RLO /FC
writes: 1 - - - - 0 1 1 1
Example
Q 4.0 I 0.0
MD8
DI_REAL ENO EN
IN OUT MD12
NOT
If I0.0 is "1", then the content of MD8 is read as an double integer and converted to a floating-point number. The result is stored in MD12. The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.8 INV_I Ones Complement Integer
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN INT I, Q, M, L, D Integer input value
OUT INT I, Q, M, L, D Ones complement of the integer
IN
Description
INV_I (Ones Complement Integer) reads the content of the IN parameter and performs a Boolean XOR function with the hexadecimal mask W#16#FFFF. This instruction changes every bit to its opposite state. ENO always has the same signal state as EN.
Status word
IN OUT MW10
NOT
If I0.0 is "1", then every bit of MW8 is reversed, for example:
MW8 = 01000001 10000001 results in MW10 = 10111110 01111110.
The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.9 INV_DI Ones Complement Double Integer
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN DINT I, Q, M, L, D Double integer input value
OUT DINT I, Q, M, L, D Ones complement of the double
integer IN
Description
INV_DI (Ones Complement Double Integer) reads the content of the IN parameter and performs a Boolean XOR function with the hexadecimal mask W#16#FFFF FFFF .This instruction changes every bit to its opposite state. ENO always has the same signal state as EN.
Status word
IN OUT MD12
NOT
If I0.0 is "1", then every bit of MD8 is reversed, for example:
MD8 = F0FF FFF0 results in MD12 = 0F00 000F.
The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.10 NEG_I Twos Complement Integer
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN INT I, Q, M, L, D Integer input value
OUT INT I, Q, M, L, D Twos complement of integer IN
Description
NEG_I (Twos Complement Integer) reads the content of the IN parameter and performs a twos complement instruction. The twos complement instruction is equivalent to multiplication by (-1) and changes the sign (for example: from a positive to a negative value). ENO always has the same signal state as EN with the following exception: if the signal state of EN = 1 and an overflow occurs, the signal state of ENO = 0.
IN OUT MW10
NOT
If I0.0 is "1", then the value of MW8 with the opposite sign is output by the OUT parameter to MW10.
MW8 = + 10 results in MW10 = - 10.
The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
If the signal state of EN = 1 and an overflow occurs, the signal state of ENO = 0.
长沙工控帮教育科技有限公司整理
3.11 NEG_DI Twos Complement Double Integer
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN DINT I, Q, M, L, D Double integer input value
OUT DINT I, Q, M, L, D Twos complement of IN value
Description
NEG_DI (Twos Complement Double Integer) reads the content of the IN parameter and performs a twos complement instruction. The twos complement instruction is equivalent to multiplication by (-1) and changes the sign (for example: from a positive to a negative value). ENO always has the same signal state as EN with the following exception: if the signal state of EN = 1 and an overflow occurs, the signal state of ENO = 0.
IN OUT MD12
NOT
If I0.0 is "1", then the value of MD8 with the opposite sign is output by the OUT parameter to MD12.
MD8 = + 1000 results in MD12 = - 1000.
The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
If the signal state of EN = 1 and an overflow occurs, the signal state of ENO = 0.
长沙工控帮教育科技有限公司整理
3.12 NEG_R Negate Floating-Point Number
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN REAL I, Q, M, L, D Floating-point number input value
OUT REAL I, Q, M, L, D Floating-point number IN with
negative sign
Description
NEG_R (Negate Floating-Point) reads the contents of the IN parameter and changes the sign. The instruction is equivalent to multiplication by (-1) and changes the sign (for example: from a positive to a negative value). ENO always has the same signal state as EN.
Status word
IN OUT MD12
NOT
If I0.0 is "1", then the value of MD8 with the opposite sign is output by the OUT parameter to MD12.
MD8 = + 6.234 results in MD12 = - 6.234.
The output Q4.0 is "1" if the conversion is not executed (ENO = EN = 0).
长沙工控帮教育科技有限公司整理
3.13 ROUND Round to Double Integer
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ROUND (Round Double Integer) reads the content of the IN parameter as a floating-point number and converts it to a double integer (32-bit). The result is the closest integer number ("Round to nearest"). If the floating-point number lies between two integers, the even number is returned. The result is output by the parameter OUT. If an overflow occurred ENO will be "0".
Status word
IN OUT MD12
NOT
If I0.0 is "1", then the content of MD8 is read as a floating-point number and converted to the closest double integer. The result of this "Round to nearest"
function is stored in MD12. The output Q4.0 is "1" if an overflow occurred or the instruction was not executed (I0.0 = 0).
长沙工控帮教育科技有限公司整理
3.14 TRUNC Truncate Double Integer Part
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN REAL I, Q, M, L, D Floating-point value to convert
OUT DINT I, Q, M, L, D Whole number part of IN value
Description
TRUNC (Truncate Double Integer) reads the content of the IN parameter as a floating-point number and converts it to a double integer (32-bit). The double integer result of the ("Round to zero mode") is output by the parameter OUT. If an overflow occurred, ENO will be "0".
Status word
IN OUT MD12
NOT
If I0.0 is "1", then the content of MD8 is read as a real number and converted to a double integer. The integer part of the floating-point number is the result and is stored in MD12. The output Q4.0 is "1" if an overflow occurred, or the instruction was not executed (I0.0 = 0).
长沙工控帮教育科技有限公司整理
3.15 CEIL Ceiling
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN REAL I, Q, M, L, D Floating-point value to convert
OUT DINT I, Q, M, L, D Lowest greater double integer
Description
CEIL (Ceiling) reads the contents of the IN parameter as a floating-point number and converts it to a double integer (32-bit). The result is the lowest integer which is greater than the floating-point number ("Round to + infinity"). If an overflow occurs, ENO will be "0".
Status word
BR CC 1 CC 0 OV OS OR STA RLO /FC
writes *: X - - X X 0 X X 1
writes **: 0 - - - - 0 0 0 1
* Function is executed (EN = 1)
** Function is not executed (EN = 0)
Example
IN OUT MD12
NOT
If I0.0 is 1, the contents of MD8 are read as a floating-point number which is converted into a double integer using the function Round. The result is stored in MD12. The output Q4.0 is "1" if an overflow occured or the instruction was not processed (I0.0 = 0).
长沙工控帮教育科技有限公司整理
3.16 FLOOR Floor
Parameter Data Type Memory Area Description
EN BOOL I, Q, M, L, D Enable input
ENO BOOL I, Q, M, L, D Enable output
IN REAL I, Q, M, L, D Floating-point value to convert
OUT DINT I, Q, M, L, D Greatest lower double integer
Description
FLOOR (Floor) reads the content of the IN parameter as a floating-point number and converts it to a double integer (32-bit). The result is the greatest integer component which is lower than the floating-point number ("Round to - infinity"). If an overflow occurred ENO will be "0".
Status word
IN OUT MD12
NOT
If I0.0 is "1", then the content of MD8 is read as a floating-point number and converted to a double integer by the round to - infinity mode. The result is stored in MD12. The output Q4.0 is "1" if an overflow occurred, or the instruction was not executed (I0.0 = 0).