Você está na página 1de 7

Instruções com números REAIS

?
y=LN(x)
?

sin?
cos?
tan?
...?

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.1
Representação de números REAIS no SIMATIC S7

Formato da representação de um número REAL (IEEE FP formato binário 32 bits):


31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2-1 2-23
S Expoente: e (8 Bits)
Mantissa: f (23 Bits)

Representação de um número REAL normalizado:


S x (1.f) x 2 (e-127) S = Bit de sinal (0 corresponde a “+“, 1 corresponde a “-“)
f = 23 bits da Mantissa com MSB = 2-1 e LSB =2-23
e = expoente binário inteiro (0 < e < 255)

Exemplo:
S =0
e = 1000 0101 = 133 R = +1.625 x 2(133-127) = 1.625 x 64 = 104.0
f = 1010 0000... = 0.5 + 0.125

Faixa de valores dos números REAIS normalizados:


- 3.402 823 x 10+38 ... -1.175 494 x 10-38, 0, 1.175 494 x 10-38 ... 3.402 823 x 10+38

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.2
Instruções Básicas com números REAIS
Adição em REAL:
L MD10 // Carrega o primeiro número REAL
L MD20 // Carrega o segundo número REAL
+R // Soma os números REAIS (MD10 + MD20)
T MD30 // Transfere o resultado para o MD30

Subtração em REAL:
L MD10 // Carrega o primeiro número REAL
L MD20 // Carrega o segundo número REAL
-R // Subtrai os números REAIS (MD10 - MD20)
T MD30 // Transfere o resultado para o MD30

Multiplicação em REAL:
L MD10 // Carrega o primeiro número REAL
L MD20 // Carrega o segundo número REAL
*R // Multiplica os números REAIS (MD10 * MD20)
T MD30 // Transfere o resultado para o MD30

Divisão em REAL:
L MD10 // Carrega o primeiro número REAL
L MD20 // Carrega o segundo número REAL
/R // Divide os números REAIS (MD10 / MD20)
T MD30 // Transfere o resultado para o MD30

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.3
Funções Matemáticas Adicionais

Funções Matemáticas:
SQR Forma o quadrado de um número
SQRT Calcula a raiz quadrada

EXP Função exponencial na base “e“


LN Logarítmo natural
(e=2.718282)

Exemplo:
L MD10 // Carrega um número REAL
SQR // Calcula o quadrado (STL)
T MD30 // Transfere o resultado para MD30

SQR
EN ENO (LAD)
MD10 IN OUT MD30

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.4
Funções Trigonométricas e suas Funções Inversas

Funções Trigonométricas:
SIN Seno
COS Coseno
TAN Tangente
Ângulo

Funções Arco:
ASIN Arco seno
ACOS Arco coseno
ATAN Arco tangente

Exemplo:
L MD10 // Carrega um número REAL
SIN // Calcula o seno (STL)
T MD30 // Transfere o resultado para MD30

SIN
EN ENO
(LAD)
MD22 IN OUT MD30

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.5
Outras Instruções com números REAIS
Instruções de conversão de REAL para DINT:
RND+ arredonda para o próximo número DINT acima
RND- arredonda para o próximo número DINT abaixo
RND arredonda para o inteiro mais próximo
TRUNC trunca o número, mantendo somente a parte inteira

Instruções de conversão de DINT para REAL:


DTR converte com arredondamento

Outras instruções de REAL para REAL:


ABS retorna o valor absoluto ou módulo
NEGR nega um número REAL

Exemplo:
L MD10 // Carrega um número REAL
RND+ // Converte para o próximo número DINT acima
(STL)
T MD30 // Transfere o resultado para MD30

RND+
EN ENO
(LAD)
MD22 IN OUT MD30

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.6
Exercício 3.1: Calculando Distância

Exemplo: Calculando a distância D entre dois pontos em


um sistema de coordenadas retangulares
Y

Y2 P2

Y1 P1

X
X1 X2

Função: FC 31 com D = (X2 - X1)2 + (Y2 - Y1)2

SIMATIC S7 Date: 09.03.14 Conhecimento em Automação


Training Center
Siemens AG 1999. All rights reserved. File: PRO2_3P.7

Você também pode gostar