O documento fornece instruções sobre como representar e manipular números reais no SIMATIC S7, incluindo formatos de representação, operações básicas como adição, subtração, multiplicação e divisão, funções matemáticas como raiz quadrada, exponencial e logaritmo, funções trigonométricas e suas inversas, e outras instruções como conversão e operações absolutas. O documento também fornece um exemplo de como calcular a distância entre dois pontos usando números reais.
1. Instruções com números REAIS
?
?
y=LN(x)
sin?
cos?
tan?
...?
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
09.03.2014
PRO2_3P.1
Conhecimento em Automação
Training Center
2. 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-23
2-1
S
Expoente: e (8 Bits)
Representação de um número REAL normalizado:
S x (1.f) x 2 (e-127)
Mantissa: f (23 Bits)
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
f = 1010 0000... = 0.5 + 0.125
R = +1.625 x 2(133-127) = 1.625 x 64 = 104.0
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
Siemens AG 1999. All rights reserved.
Date:
File:
09.03.2014
PRO2_3P.2
Conhecimento em Automação
Training Center
3. Instruções Básicas com números REAIS
Adição em REAL:
L
L
+R
T
MD10
MD20
MD30
// Carrega o primeiro número REAL
// Carrega o segundo número REAL
// Subtrai os números REAIS (MD10 - MD20)
// Transfere o resultado para o MD30
Multiplicação em REAL:
L
L
*R
T
MD30
// Carrega o primeiro número REAL
// Carrega o segundo número REAL
// Soma os números REAIS (MD10 + MD20)
// Transfere o resultado para o MD30
Subtração em REAL:
L
L
-R
T
MD10
MD20
MD10
MD20
MD30
// Carrega o primeiro número REAL
// Carrega o segundo número REAL
// Multiplica os números REAIS (MD10 * MD20)
// Transfere o resultado para o MD30
Divisão em REAL:
L
L
/R
T
SIMATIC S7
Siemens AG 1999. All rights reserved.
MD10
MD20
MD30
// Carrega o primeiro número REAL
// Carrega o segundo número REAL
// Divide os números REAIS (MD10 / MD20)
// Transfere o resultado para o MD30
Date:
File:
09.03.2014
PRO2_3P.3
Conhecimento em Automação
Training Center
4. Funções Matemáticas Adicionais
Funções Matemáticas:
SQR
SQRT
EXP
LN
Forma o quadrado de um número
Calcula a raiz quadrada
Função exponencial na base “e“
Logarítmo natural
(e=2.718282)
Exemplo:
L
SQR
T
MD10
MD30
EN
MD10
SIMATIC S7
Siemens AG 1999. All rights reserved.
IN
SQR
// Carrega um número REAL
// Calcula o quadrado
// Transfere o resultado para MD30
ENO
OUT
(STL)
(LAD)
MD30
Date:
File:
09.03.2014
PRO2_3P.4
Conhecimento em Automação
Training Center
5. Funções Trigonométricas e suas Funções Inversas
Funções Trigonométricas:
SIN
COS
TAN
Seno
Coseno
Tangente
Ângulo
Funções Arco:
ASIN
ACOS
ATAN
Arco seno
Arco coseno
Arco tangente
Exemplo:
L
SIN
T
MD10
MD30
EN
MD22
SIMATIC S7
Siemens AG 1999. All rights reserved.
IN
SIN
// Carrega um número REAL
// Calcula o seno
// Transfere o resultado para MD30
(STL)
ENO
OUT
(LAD)
MD30
Date:
File:
09.03.2014
PRO2_3P.5
Conhecimento em Automação
Training Center
6. Outras Instruções com números REAIS
Instruções de conversão de REAL para DINT:
RND+
RNDRND
TRUNC
Instruções de conversão de DINT para REAL:
DTR
converte com arredondamento
Outras instruções de REAL para REAL:
ABS
NEGR
arredonda para o próximo número DINT acima
arredonda para o próximo número DINT abaixo
arredonda para o inteiro mais próximo
trunca o número, mantendo somente a parte inteira
retorna o valor absoluto ou módulo
nega um número REAL
Exemplo:
L
RND+
T
MD10
MD30
EN
MD22
SIMATIC S7
Siemens AG 1999. All rights reserved.
IN
// Carrega um número REAL
// Converte para o próximo número DINT acima
// Transfere o resultado para MD30
(STL)
RND+
ENO
OUT
(LAD)
MD30
Date:
File:
09.03.2014
PRO2_3P.6
Conhecimento em Automação
Training Center
7. 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
D
Y1
P1
X1
Função: FC 31 com D =
SIMATIC S7
Siemens AG 1999. All rights reserved.
X
X2
(X2 - X1)2 + (Y2 - Y1)2
Date:
File:
09.03.2014
PRO2_3P.7
Conhecimento em Automação
Training Center