Você está na página 1de 26

Funções e Blocos de Funções

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.1
Introdução

Variáveis / Dados Globais Dados / Variáveis Locais


(válidos em todo o programa) (válidos apenas em um bloco)

Variáveis Temporárias Variáveis Estáticas


• PII / PIQ
• são apagadas após o bloco • são retidas mesmo após
• I/ O ter sido executado o bloco ter sido executado
•M/T/C • armazenamento temporário no • armazenamento nos DBs
• Áreas de DB L-stack • podem apenas ser
utilizadas nos FBs
• utilizadas em OBs / FCs / FBs

absoluto simbólico

Accesso

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.2
Variáveis Temporárias

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.3
Ocupação Total no L-Stack
Sistema
operacional
1

OB 1 FC 1 FC 2
3
2
Variáveis Variáveis
Temp 4
Temp

5 FC 3

7 Variáveis
6
Temp

Evento 1 2 3 4 5 6 7

Ocupação
no L-stack

256 Bytes
FC2 FC3
FC1 FC1 FC1 FC1 FC1
OB1 OB1 OB1 OB1 OB1 OB1 OB1

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.4
Tamanho do L-Stack

Tamanho total:
Tamanho total:
1.5 Kbyte
1.5 Kbyte
(CPU 313..316)
(CPU 313..316)

Para o S7-300:
Execução
Classe de Tamanho do
Prioridade L-stack

Startup (execução única) 27


256 bytes
Execução cíclica 1

Execução Time-of-Day Interrupt 2 256 bytes


controlada
por tempo Time-Delay Interrupt 3 256 bytes

Cyclic Interrupt 12 256 bytes

Hardware Interrupt 16 256 bytes


Execução
por evento Tratamento de Erros no startup 28
256 bytes
Tratamento de Erros
no ciclo de scan 26

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.5
Bytes Solicitados por um Bloco no L-Stack

direito

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.6
Exercício: Uso de Variáveis Temporárias

#Setpoint

Substitua com a
variável temporária
Setpoint

#Setpoint

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.7
Exemplo de uma Indicação de Falha no Processo

Objetivo

Falha

Reconhecimento

Memória

LED

Sugestão de Solução Memória


RS
Mem. Flanco Reconh. R
Entrada Falha P S Q & >=1
Pulsos

Memória &
Display
Entrada Falha =

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.8
Blocos Parametrizáveis

Solução com Solução com bloco parametrizável


bloco não-
parametrizável Programa no FC 20 Chamada do FC 20 (ex. in OB 1)

FC 20
A I 1.2 A #Reconhecim I 1.1 Entrada
R M 40.0 R #Memoria Falha

A I 1.3 A #Entrada_Falha I 1.4 Reconhecim. Display Q 9.1


(Q 5.1)
FP M 40.1 FP #Mem_Flanco M 10.3 Pulsos
S M 40.0 S #Memoria M 40.0 Memoria
A M 40.0 A #Memoria
M 40.1 Mem_Flanco
A M 10.3 A #Pulsos
O O
ANM 40.0 AN #Memoria
A I 1.3 A #Entrada_Falha Parâmetros Formais
= Q 8.3 = #Display Parâmetros Atuais

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.9
Declarando os Parâmetros Formais no FC 20

Parâmetros Formais

Tipo de parâmetro Declaração Uso Graphic Display

Parâmetro de entrada in Apenas leitura À esquerda do bloco


Parâmetro de saída out Apenas escrita À direita do bloco
Parâmetro In/out In_out Leitura / escrita À esquerda do bloco

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.10
Editando um Bloco Parametrizável

Para um FC não-parametrizável, aqui seria, por ex.:


• com endereçamento absoluto: I 1.3
• com endereçamento simbólico: "End_esq“

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.11
Chamando um Bloco Parametrizável

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.12
Exercício: Editando um Bloco FC Parametrizável
1. Tabela de declaração do bloco FC 20

Bloco não- A I 1.1 Bloco FC 20 A #Reconhecim.


parametrizável R M 40.0 parametrizável R #Memoria
A I 1.4 A #Entrada...
2.
FP M 40.1 :
S M 40.0 :
A M 40.0 :
A M 10.3 :
O :
AN M 40.0 :
A I 1.3 :
= Q 9.1(Q5.1) :

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.13
Exercício: Chamando um Bloco FC Parametrizável

1a. chamada do FC 20
Exibição da Falha 1

(Q 9.1)

2a. chamada do FC 20
Exibição da Falha 2

(Q 9.2)

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.14
Blocos de Funções (FBs)
OB 1

DB 2

FB 2
EN
Entrada_Falha
Reconhecim. Display
Pulsos ENO

Tabela de declaração do bloco de


função

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.15
Bloco de Função para Exibição de Mensagem

Tabela de
declarações do
bloco de função

Bloco de dados
Instance

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.16
Gerando Blocos de Dados Instance

1. Gerando o DB instance via chamada de FB 2. Criando um novo DB instance

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.17
Atualizando (Inserindo / Apagando) Parâmetros de um Bloco

l v ar
Sa

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.18
Verificando a Consistência do Bloco

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.19
Correções nas Chamadas de Blocos Modificados

1x com o direito

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.20
Exercício: Editando um Bloco de Função
1. Tabela de declarações do bloco FB 20

A #Acknowledge
2. Seção de programa do FB 20 R #Report memory
A #Disturb...
:
:

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.21
Exercício: Chamando um Bloco de Função e Testando-o

(Q5.2)

(Q5.3)

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.22
O Modelo Múltiplo Instance

O Modelo Instance O Modelo Múltiplo Instance

OB 1 DB10 OB 1
Call FB100, DB100
Call FB20, DB10 FB20
Entrada_Falha:=
Reconhecim:= FB 100
Pulsos:=
Display:= stat Falha_1 FB20

DB11 stat Falha_2 FB20


Call FB20, DB11 DB100
Entrada_Falha:=
Reconhecim:= Call Falha_1 Parâmetros e
FB20 Entrada_Falha:=
Pulsos:= variáveis estáticas
Display:= Reconhecim:= da 1a. chamada
Pulsos:= do FB20
Display:=

Call FB20, DB12 DB12 Call Falha_2


Entrada_Falha:= Entrada_Falha:= Parâmetros e
Reconhecim:= FB20 Reconhecim:= Variáveis estáticas
Pulsos:= Pulsos:= da 2a. chamada
Display:= Display:= do FB20

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.23
Exercício: Reconhecendo Tipos de Variáveis

Instrução
Global Local Absoluto Simbólico Tempor. Estática Parâmetro
L #Number_1
L #Number_2
T #Max_value
L #Intermediate_result
L “Number_1"
T MW 40
T #Number_2

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.24
Usando os Parâmetros EN/ENO em Chamadas de Blocos
LAD/FBD STL

FC 1
Incondicional ?? . ? EN ENO CALL FC 1
NOP 0

FC 1 Q 9.0
A I 0.1
Condicional I 0.1 EN ENO = JNB _001
CALL FC 1
_001: A BR
= Q 9.0

Exemplo
FC 1 FC 2 FC 3

?? . ? EN ENO EN ENO EN ENO =

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.25
Resumo: Chamadas de Blocos
FC FB
Lin-
guagem Sem parâmetros Com parâmetros Sem param., sem inst. DB Com param., com inst.DB

• CALL FC1 • CALL FC2 • CALL FB2, DB3


STL • UC FC1 Par1: ... Par1: ...
• UC FB1
Par2: ... Par2: ...
• CC FC1 Par3: ... • CC FB1 Par3: ...

FC1
( CALL ) DB3
FC2 FB1 FB2
FC1
LAD EN ENO EN ENO EN ENO
EN ENO
Par1 Par1
Par2 Par3 Par2 Par3

FC1
CALL DB3
FC2 FB1 FB2
FC1 EN Par3 EN EN Par3
FBD EN Par1 Par1
ENO
Par2 ENO ENO Par2
ENO

SIMATIC S7 Data: 24/05/20


Siemens Engenharia e Service 2002. Todos os direitos reservados. Arquivo: S7-Bas-09.26

Você também pode gostar