Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 1
Conteúdo Pág.
Representação de números REAIS no SIMATIC S7 .……….............................................................. 2
Instruções Básicas com números REAIS ........................................................................................... 3
Funções Matemáticas Adicionais ….......…......................................................................................... 4
Funções Trigonométricas e suas Funções Inversas .......................................................................... 5
Outras Instruções com números REAIS ............................................................................................. 6
Exercício 3.1: Calculando Distância …................................................................................................ 7
Date: 05.11.2000
File: PRO2_3P.1
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
Instruções com números REAIS
y=LN(x)
sin?
cos?
tan?
...?
?
?
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com
Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 2
Date: 05.11.2000
File: PRO2_3P.2
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
Representação de números REAIS no SIMATIC S7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
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
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Expoente: e (8 Bits)S
Mantissa: f (23 Bits)
 Formato da representação de um número REAL (IEEE FP formato binário 32 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 0 [qNaN] 1 1 1 1
Estouro 255 0 >(2-2-23) 2127 1 0 1 1
0 (0.f) 2-126 0 0 1 1
(- 0.f) 2-126 0 0 1 1
Zero 0 0 +0 0 0 0 -
Nota As CPUs calculam com inteira exatidão os números em ponto flutuante. O display na
PG pode deviar-se da exata representação, devido ao erro de arredondamento para 
cima na conversão. Números REAIS são arredondados para cima a partir da sexta
casa decimal.
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com
Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 3
Vista Geral As funções +R, -R, *R, /R interpretam os valores encontrados no ACCU1 e ACCU2
como números tipo dados REAIS. Eles executam a operação lógica programada (+R, -
R, *R and /R) e salvam o resultado no ACCU1.
Após os cálculos serem executados, os bits de status CC0 e CC1 indicam, se o
resultado é negativo (CC1=0, CC0=1), zero (CC1=0; CC0=0) ou positivo (CC1=1, 
CC0=0).
Os bits de status OV e OS sinalizam se as operações não excederam a faixa de
números permitidos.
Números REAIS Com um cálculo não autorizado, isto é, quando um dos dois valores inseridos 
não autorizados é um número REAL inválido, então o resultado no ACCU1 é também um número REAL
inválido.
Números REAIS inválidos são também armazenados como um resultado no ACCU1, 
se você tentar processar valores não autorizados com as seguintes instruções:
Adição: Soma de + infinito e - infinito.
Subtração: Subtração de + infinito e + infinito
ou - infinito e - infinito.
Multiplicação: Multiplicação de 0 por infinito.
Divisão: Divisão de infinito por infinito ou 0 por 0.
O resultado da divisão de números REAIS válidos por 0 é, dependendo do sinal do
número, + infinito ou - infinito.
Nota O número hexadecimal D#16#FFFF FFFF representa, por exemplo, um número REAL
inválido.
Date: 05.11.2000
File: PRO2_3P.3
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
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
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com
Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 4
Vista Geral As funções matemáticas pegam o número no ACCU1 como o valor de entrada da 
função a ser executada e armazena o resultado no ACCU1.
Funções matemáticas somente mudam o conteúdo do ACCU1. O conteúdo do 
ACCU2, ou ACCU3 e ACCU4 para S7-400, permanecem inalterados.
Dependendo do resultado da função, a função matemática seta os bits de status CC0, 
CC1, OV e OS.
Se existe um número REAL inválido no ACCU1 antes da função ser executada, então
a função matemática retorna um número REAL inválido e seta os bits de status
correspondentemente.
SQR A função SQR eleva ao quadrado o conteúdo do ACCU1. 
SQRT A função SQRT calcula a raiz quadrada do valor no ACCU1. Se existe um valor menor
do que zero no ACCU1, SQRT seta os bits de status CC0, CC1, OV e OS para "1" e
retorna um número REAL inválido.
Se -0 (menos zero) está no ACCU1, -0 também é retornado.
EXP A função EXP calcula a potência na base “e” (e=2.71828) e o valor (eACCU1) encontrado
no ACCU1.
LN A função LN calcula o logarítmo natural para base “e” do número encontrado no 
ACCU1. Se existe um valor menor que ou igual a zero no ACCU1, LN seta os bits de 
status CC0, CC1, OV e OS para "1" e retorna um número REAL inválido.
O logarítmo natural é a função inversa da função exponencial:
Se: y= ex
então: x = ln y
Date: 05.11.2000
File: PRO2_3P.4
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
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
T MD30 // Transfere o resultado para MD30
SQREN ENO
IN OUTMD10 MD30
(STL)
(LAD)
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com
Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 5
Funções As funções trigonométricas esperam por um ângulo em radianosmedido como 
Trigonométricas número REAL no ACCU1. Para o ângulo inserido ( 00 ... 3600), você deve, se
necessário, realizar uma conversão para graus medidos (0 ... 2 pi, com pi=3.141593).
Durante a execução da função, para valores menores que 0 ou maiores que 2pi, um
múltiplo de 2pi é automaticamente somado ou subtraído até que o valor se encontre 
entre 0 e 2pi (módulo automático de cálculo 2pi).
Funções Arco As funções arco são o inverso de suas respectivas funções trigonométricas. Elas 
esperam um número REAL em uma faixa específica de valores no ACCU1 e retornam
um ângulo medido em radianos:
Função Faixa permitida definida Faixa de valores
ASIN -1 a +1 - pi/2 a + pi/2
ACOS -1 a +1 0 a pi
ATAN faixa inserida - pi/2 a + pi/2
Com uma sobrefaixa da faixa permitida definida, as funções arco retornam um número
REAL inválido e setam os bits de status CC0, CC1, OV e OS para "1".
Date: 05.11.2000
File: PRO2_3P.5
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
Funções Trigonométricas e suas Funções Inversas
Ângulo
 Funções Trigonométricas:
SIN Seno
COS Coseno
TAN Tangente
 Funções Arco:
ASIN Arco seno
ACOS Arco coseno
ATAN Arco tangente
 Exemplo:
L MD10 // Carrega um número REAL
SIN // Calcula o seno
T MD30 // Transfere o resultado para MD30
SIN
EN ENO
IN OUTMD22 MD30
(STL)
(LAD)
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com
Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 6
Vista Geral As funções de conversão convertem os tipos de dados dos valores encontrados no 
ACCU1 em outro tipo de dado e armazena o resultado no ACCU1. O conteúdo dos
outros acumuladores permanecem inalterados.
Se, em uma das instruções (RND+, RND-, RND ou TRUNC), o valor encontrado no 
ACCU1 é maior ou menor do que a faixa de formatos permissíveis de DINT ou este 
não corresponde ao número em formato REAL, a instrução seta os bits de status OV e 
OS para "1". Uma conversão então não tem lugar.
RND+ A instrução RND+ converte o conteúdo do ACCU1 como número REAL em um inteiro
(DINT), o qual é maior ou igual ao número a ser convertido. 
RND- A instrução RND- converte o conteúdo do ACCU1 como número REAL em um inteiro
(DINT), o qual é menor ou igual ao número a ser convertido. 
RND A instrução RND converte o conteúdo do ACCU1 como número REAL no próximo 
inteiro possível (DINT). Se o resultado estiver exatamente entre um número par e um
número ímpar, o número par é retornado.
TRUNC A instrução TRUNC retorna o componente inteiro do número a ser convertido; a parte 
fracionária é jogada fora.
DTR A instrução DTR converte um número de formato DINT para o formato de número
REAL. Uma vez que um número em formato DINT é mais exato do que um número em 
formato REAL, é possível que durante a conversão um arredondamento tenha lugar 
para o próximo número representável.
ABS A instrução ABS forma o valor absoluto do número REAL encontrado no ACCU1, isto
é, o sinal (bit 31) é fixado em “0” (par para um número REAL inválido).
NEGR A instrução NEGR nega o número REAL no ACCU1, isto é, o sinal (bit 31) é invertido
(par para um número REAL inválido). As instruções DTR, ABS e NEGR não afetam os
bits de status.
Date: 05.11.2000
File: PRO2_3P.6
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
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
T MD30 // Transfere o resultado para MD30
RND+
EN ENO
IN OUTMD22 MD30
(STL)
(LAD)
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com
Siemens Ltda.
Training Center
ST-7PRO2
Instruções com números REAISPágina 7
Objetivo A aplicação de funções matemáticas para cálculo de distância entre dois pontos.
Tarefa Criar um FC31 com a seguinte fucionalidade:
• FC31 espera as coordenadas (X1, Y1) ou (X2, Y2) de dois pontos P1 e P2 nos 
parâmetros de entrada.
• FC31 retorna a distância entre os dois pontos no parâmetro de saída RET_VAL.
• FC31 deverá ser instalável no sistema S7-300 bem como no sistema S7-400 Este 
não deverá utilizar endereços globais de CPU para qualquer possível salvamento dos
resultados imediatos.
O que fazer 1. Criar um FC31 com a seguinte fucionalidade.
2. Chamar FC31 no OB1 e conectar os parâmetros de entradas e saídas como a
seguir:
X1 = MD0, Y1 = MD4
X2 = MD8, Y2 = MD12
RET_VAL = MD16
3. Transferir o programa para a CPU S7.
4. Testar FC31 com ajuda da "Monitor/Modify Variable".
Additional Task Criar uma versão run-time otimizada do FC31 para S7-400, que possa operar sem o
uso de variáveis temporárias.
Date: 05.11.2000
File: PRO2_3P.7
SIMATIC S7
Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
Exercício 3.1: Calculando Distância
Exemplo: Calculando a distância D entre dois pontos em 
um sistema de coordenadas retangulares
P1
P2
X1 X2 X
Y
Y2
Y1
Função: FC 31 com D = (X2 - X1)2 + (Y2 - Y1)2
D
Created with novaPDF Printer (www.novaPDF.com)
http://www.novapdf.com

Mais conteúdos dessa disciplina