• 沒有找到結果。

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).

长沙工控帮教育科技有限公司整理