SlideShare uma empresa Scribd logo
1 de 27
Funções e Blocos de Funções

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.1
Introdução

Dados / Variáveis Globais
(válidos no programa todo)

Dados / Variáveis Locais
(válido somente em um bloco)

• I/ O
•M/T/C
• áreas DB

Variáveis Temporárias

Variáveis Estáticas

• são apagadas após o bloco
associado ter sido executado

• são retidas mesmo após a
execução do bloco

• armazenamento temporário na
Pilha L

• armazenamento
permanente em DBs

• utilizável em OBs / FCs / FBs

• PII / PIQ

• só pode ser usado em FBs

absoluto

simbólico
Acesso

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.2
Variáveis Temporárias

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.3
Tamanho da Pilha de Dados Locais
Tamanho total:
Tamanho total:

1.5 Kbyte
1.5 Kbyte

(CPU 313..316)
(CPU 313..316)
For S7-300:

Execução

Classe de
Prioridade

Startup (executa uma única vez)

27

Execução cíclica

1

Tamanho da
Pilha

256 bytes

2

256 bytes

Interrupção Atraso-no-Tempo

3

256 bytes

12

256 bytes

Interrupção de Hardware

16

256 bytes

Erro manipulação no startup

28

Erro manipulação varredura

Execução ativada
por evento

Interrupção Horário-do-Dia

Interrupção Cíclica

Execução
controlada
por tempo

26

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.4

256 bytes
Bytes Necessários de um Bloco na Pilha de Dados Locais

rechts

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.5
Ocupação Total na Pilha de Dados Local
Sistema
operac.
1

FC 1

OB 1

7

Evento

1

2

4

c/variáveis
temporár.

FC 3

6

c/variáveis
temporár.

FC 2

5

2

3

c/variáveis
temporár.

3

4

5

6

7

FC2

FC3

FC1
OB1

256 Bytes

Ocupação
na pilha L
FC1

FC1

FC1

FC1

OB1

OB1

OB1

OB1

OB1

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

OB1

09/03/14
S7-Service.6
Exercício: Uso de Variáveis Temporárias

trocado pela
variável temporária
"Packages"

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.7
Exemplo de uma Mensagem Mostrada Indicando um Problema no
Processo
Tarefa

Disturbance
Acknowledge
Report Memory
LED
Sugestão de Solução

Report Memory
Edge Mem. Bit

Disturb. Input

Acknowl.

P

RS
R
S

Q

&

>=1

Flash Freq.
Report Memory
Disturb. Input

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.8

&

Display
=
Parâmetros Atribuíveis dos Blocos
Bloco com
parâmetros não
atribuídos

Bloco com parâmetros atribuídos
Programa

Chamada
FC 20

A I

1.2

A #Acknowledge

R M

40.0

R #Report Memory

A I

1.3

U #Disturb. input

I 1.2

FP M

40.1

FP #Edge mem. bit

M 10.3

Flash freq.

S M

40.0

S #Report memory

M 40.0

A M

40.0

A #Report memory

Report
memory

A M

10.3

A #Flashing freq.

O

I 1.3

Disturb.
input

Edge
mem.bit
Acknowledge Display

O

ANM

40.0

AN #Reportmemory

A I

1.3

A #Disturb. input

=

8.3

=

Q

Parâmetros formais
Parâmetros atuais

#Display

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.9

M 40.1
A 8.3
Parâmetros Atribuíveis dos Blocos
Parâmetros formais
Tipo de parâmetro
Input parameter
Output parameter
In/out parameter

Declaração
in
out
In_out

Uso
Read only
Write only
Read / write

Tabela de declaração do bloco FC 20

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.10

Mostra graficamente
To the left of the block
To the right of the block
To the left of the block
Editando um Parâmetro Atribuível de um Bloco

Aqui foi, p.ex., de bloco FC s/ parâmetro atribuído:
• com endereçamento absoluto:
I1.3
• com endereçamento simbólico:
“End_left"

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.11
Chamando um Parâmetro Atribuível de um Bloco
Network 3: Primeira chamada
....

absoluto

“End left"
“Acknow.button"

EN
Disturb.input

Edge mem. bit

Acknowledge

M10.3

Flash freq.

M40.0

Endereçamento

FC20

Report memory

Display

M40.1
“Position
error"

ENO

Network 4: Segunda chamada
A8.1

simbólico

“End right"
“Acknow.button"

EN
Disturb.input
Acknowledge

M10.3

Flash freq.

M40.2

Report memory

Tabela de
símbolos

Símbolos Globais

Símbolos Símbolos Locais --> Parâmetros formais

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.12

FC20
Edge mem. bit
Display
ENO

M40.3
Q9.4
Usando os Parâmetros EN/ENO nas Chamadas de Bloco
LAD/FBD

STL

FC 1
Chamada incondicional

Chamada condicional

?? . ?

EN

ENO

CALL
FC
NOP 0

Q 9.0

FC 1
EN
ENO

I 0.1

=
_001:

Exemplo

FC 1
?? . ?

EN

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

ENO

FC 2
EN

Data:
Arquivo:

ENO

09/03/14
S7-Service.13

1

A
JNB
CALL
A
=

0.1

I
_001
FC
BR
Q

1
9.0

FC 3
EN

ENO

=
Exercício: Criando um Parâmetro Atribuível de um Bloco FC
1.

Tabela de declaração do bloco FC 20

Bloco com
parâmetros
não atribuídos

A I
R M
A I
FP M
S M
A M
A M
O
AN M
A I
= Q

1.2
40.0
1.3
40.1
40.0
40.0
10.3

Bloco FC 20 com
parâmetros
atribuídos
2.

40.0
1.3
9.3(Q5.3)

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.14

A #Acknowledge
R #Report memory
A #Disturb. ...
:
:
:
:
:
:
:
:
Exercício: Chamando um Parâmetro Atribuível de um Bloco FC
FC 20
I 1.3
Parâmetros atribuídos
do FC20 na 1a. chamada

I 1.2
M 10.3
M 40.0

Disturb. input

Edge mem. bit
Display
Acknowledge

M 40.1
Q 9.3 (Q 5.3)

Flash freq.
Report memory

FC 20
I 1.4
Parâmetros atribuídos
do FC20 na 2a. chamada

I 1.2
M 10.3
M 40.2

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Disturb. input

Edge mem. bit
Display
Acknowledge

Flash freq.
Report memory

Data:
Arquivo:

09/03/14
S7-Service.15

M 40.3
Q 9.4 (Q 5.4)
Blocos de Funções (FBs)
OB 1
DB 2
FB 2
EN
Disturb. input
Acknowledge
Flash freq.

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

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.16
Blocos de Funções para Mostrar Mensagens

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

Bloco de dados
instance

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.17
Gerando Blocos de Dados Instance
1. Gera o DB instance na chamada do FB

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

2. Criar um novo DB instance

Data:
Arquivo:

09/03/14
S7-Service.18
O Modelo Múltiplo Instance
O Modelo Instance
OB 1
Call FB20, DB10
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=
Call FB20, DB11
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=

Call FB20, DB12
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=

O Modelo Múltiplo Instance
DB10

FB20

OB 1
Call FB100, DB100
FB 100
stat

DB12

FB20

Call Dist_2
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=

FB20

SIMATIC S7

Dist_2

Call Dist_1
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=

FB20

Siemens Serviços Técnicos 2004. Todos os direitos reservados.

FB20

stat

DB11

Dist_1

Data:
Arquivo:

09/03/14
S7-Service.19

DB100
Parâmetros e
variáveis estáticas
da 1a. chamada
do FB20

Parâmetros e
variáveis estáticas
da 2a. chamada
do FB20
Inserindo/Apagando Parâmetros de Bloco Posteriormente

ve
Sa

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.20
Correções Quando Chamando Blocos Modificados
Quando o bloco chamado é aberto:

Com o botão direito

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.21
Exercício: Editando um Bloco de Funções
1.

Tabela de declaração do bloco FB 20

2.

Sessão de programa do
FB 20

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

A #Acknowledge
R #Report memory
A #Disturb. ...
:
:

Data:
Arquivo:

09/03/14
S7-Service.22
Chamando e Testando um Bloco de Funções

(Q 5.3)

(Q 5.3)

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.23
Convertendo um FC em um FB usando Programas Fonte (1)

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.24
Convertendo um FC em um FB usando Programas Fonte (2)

:
:

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

:
:

Data:
Arquivo:

09/03/14
S7-Service.25
Exercício: Reconhecendo Tipos de Variáveis

Instrução

Global

Local

Absoluta Simbólica

L #Number_1
L #Number_2
T #Max_value
L #Intermediate_result
L “Number_1"
T MW 40
T #Number_2

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Data:
Arquivo:

09/03/14
S7-Service.26

Temporária

Estática Parâmetro
Resumo: Chamada de Blocos
FC
Linguagem

STL

FB

Sem parâmetros

Com parâmetros

• CALL FC1
• UC FC1
• CC FC1

Sem parâm., sem DB inst.

• CALL FC2
Par1: ...
Par2: ...
Par3: ...

Com parâm., c/ DB inst.

• CALL FB2, DB3
Par1: ...
Par2: ...
Par3: ...

• UC FB1
• CC FB1

FC1
( CALL )
LAD

FC2

FC1
EN

ENO

EN

DB3
FB2

FB1
ENO

EN

ENO

Par1
Par2

EN
Par1

Par3

Par2

FC1
CALL
FBD

EN

EN

FB1
Par3

FB2

EN

EN

Par1
Par2

Par1
ENO

ENO

ENO

SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.

Par3

DB3
FC2

FC1

ENO

Data:
Arquivo:

09/03/14
S7-Service.27

Par2

Par3
ENO

Mais conteúdo relacionado

Mais procurados

Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2confidencial
 
Ch3 v70 project_structure_en
Ch3 v70 project_structure_enCh3 v70 project_structure_en
Ch3 v70 project_structure_enconfidencial
 
Bp6 ap2
Bp6 ap2Bp6 ap2
Bp6 ap2mosliw
 
Treinamento a familia s7 200
Treinamento a familia s7 200Treinamento a familia s7 200
Treinamento a familia s7 200confidencial
 
06 blocos de_programação
06 blocos de_programação06 blocos de_programação
06 blocos de_programaçãoconfidencial
 
11 erros que causam stop
11   erros que causam stop11   erros que causam stop
11 erros que causam stopconfidencial
 
03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_en03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_enconfidencial
 
07 comissionamento de hardware
07   comissionamento de hardware07   comissionamento de hardware
07 comissionamento de hardwareconfidencial
 
02 tia portal hands on - hardware e redes v11 -v1
02 tia portal   hands on - hardware e redes v11 -v102 tia portal   hands on - hardware e redes v11 -v1
02 tia portal hands on - hardware e redes v11 -v1confidencial
 
02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 en02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 enconfidencial
 
04 tia portal hands on - scl v11 -v1
04 tia portal   hands on - scl v11 -v104 tia portal   hands on - scl v11 -v1
04 tia portal hands on - scl v11 -v1confidencial
 
Studio 5000 Architect®: Introduction and Demostration
Studio 5000 Architect®: Introduction and DemostrationStudio 5000 Architect®: Introduction and Demostration
Studio 5000 Architect®: Introduction and DemostrationRockwell Automation
 

Mais procurados (20)

Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2
 
S7 avançado
S7 avançadoS7 avançado
S7 avançado
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
Ch3 v70 project_structure_en
Ch3 v70 project_structure_enCh3 v70 project_structure_en
Ch3 v70 project_structure_en
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
Bp6 ap2
Bp6 ap2Bp6 ap2
Bp6 ap2
 
Treinamento a familia s7 200
Treinamento a familia s7 200Treinamento a familia s7 200
Treinamento a familia s7 200
 
06 blocos de_programação
06 blocos de_programação06 blocos de_programação
06 blocos de_programação
 
PROFINET - SIEMENS
PROFINET - SIEMENSPROFINET - SIEMENS
PROFINET - SIEMENS
 
11 erros que causam stop
11   erros que causam stop11   erros que causam stop
11 erros que causam stop
 
03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_en03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_en
 
07 comissionamento de hardware
07   comissionamento de hardware07   comissionamento de hardware
07 comissionamento de hardware
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
02 tia portal hands on - hardware e redes v11 -v1
02 tia portal   hands on - hardware e redes v11 -v102 tia portal   hands on - hardware e redes v11 -v1
02 tia portal hands on - hardware e redes v11 -v1
 
Ch8 v70 os_en
Ch8 v70 os_enCh8 v70 os_en
Ch8 v70 os_en
 
02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 en02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 en
 
04 tia portal hands on - scl v11 -v1
04 tia portal   hands on - scl v11 -v104 tia portal   hands on - scl v11 -v1
04 tia portal hands on - scl v11 -v1
 
Studio 5000 Architect®: Introduction and Demostration
Studio 5000 Architect®: Introduction and DemostrationStudio 5000 Architect®: Introduction and Demostration
Studio 5000 Architect®: Introduction and Demostration
 
Ch5 v70 cfc_en
Ch5 v70 cfc_enCh5 v70 cfc_en
Ch5 v70 cfc_en
 
Ch6 v70 sfc_en
Ch6 v70 sfc_enCh6 v70 sfc_en
Ch6 v70 sfc_en
 

Semelhante a 03 funções e blocos de funções (20)

S7 bas-09
S7 bas-09S7 bas-09
S7 bas-09
 
Stoe 03 p
Stoe 03 pStoe 03 p
Stoe 03 p
 
Stoe03p
Stoe03p Stoe03p
Stoe03p
 
S7 bas-05
S7 bas-05S7 bas-05
S7 bas-05
 
15 soluções
15   soluções15   soluções
15 soluções
 
01 introdução e revisão
01   introdução e revisão01   introdução e revisão
01 introdução e revisão
 
Stoe 01 p
Stoe 01 pStoe 01 p
Stoe 01 p
 
Pro2 06p
Pro2 06pPro2 06p
Pro2 06p
 
Stoe01p
Stoe01p Stoe01p
Stoe01p
 
S7 bas-14
S7 bas-14S7 bas-14
S7 bas-14
 
S7 SIEMENS SPS AVANÇADO .pdf
S7 SIEMENS SPS AVANÇADO .pdfS7 SIEMENS SPS AVANÇADO .pdf
S7 SIEMENS SPS AVANÇADO .pdf
 
Pro2 01p
Pro2 01pPro2 01p
Pro2 01p
 
Pro2 15p
Pro2 15pPro2 15p
Pro2 15p
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
Stoe 13 p
Stoe 13 pStoe 13 p
Stoe 13 p
 
S7 bas-12
S7 bas-12S7 bas-12
S7 bas-12
 
16 automação totalmente integrada
16   automação totalmente integrada16   automação totalmente integrada
16 automação totalmente integrada
 
08 comissionamento de software
08   comissionamento de software08   comissionamento de software
08 comissionamento de software
 
Pro2 10p
Pro2 10pPro2 10p
Pro2 10p
 
Pro2 04p
Pro2 04pPro2 04p
Pro2 04p
 

Mais de confidencial

19 exercises v1.00_en
19 exercises v1.00_en19 exercises v1.00_en
19 exercises v1.00_enconfidencial
 
18 syntax rules v1.0
18 syntax rules v1.018 syntax rules v1.0
18 syntax rules v1.0confidencial
 
17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_en17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_enconfidencial
 
15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_en15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_enconfidencial
 
14 mass data engineering v1.00_en
14 mass data engineering v1.00_en14 mass data engineering v1.00_en
14 mass data engineering v1.00_enconfidencial
 
13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_en13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_enconfidencial
 
12 archiving system v1.00_en
12 archiving system v1.00_en12 archiving system v1.00_en
12 archiving system v1.00_enconfidencial
 
11 customizing the os v1.00_en
11 customizing the os v1.00_en11 customizing the os v1.00_en
11 customizing the os v1.00_enconfidencial
 
10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_en10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_enconfidencial
 
09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_enconfidencial
 
08 basics control functions v1.00_en
08 basics control functions v1.00_en08 basics control functions v1.00_en
08 basics control functions v1.00_enconfidencial
 
07 connection to the process v1.00_en
07 connection to the process v1.00_en07 connection to the process v1.00_en
07 connection to the process v1.00_enconfidencial
 
05 project setup v1.00_en
05 project setup v1.00_en05 project setup v1.00_en
05 project setup v1.00_enconfidencial
 
01 introduction v1.00_en
01 introduction v1.00_en01 introduction v1.00_en
01 introduction v1.00_enconfidencial
 
00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 en00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 enconfidencial
 
Fluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeFluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeconfidencial
 
01tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp0101tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp01confidencial
 
Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01confidencial
 
Sitrain introdução a ihm
Sitrain introdução a ihmSitrain introdução a ihm
Sitrain introdução a ihmconfidencial
 
Sitrain visão geral do sistema tia portal
Sitrain visão geral do sistema tia portalSitrain visão geral do sistema tia portal
Sitrain visão geral do sistema tia portalconfidencial
 

Mais de confidencial (20)

19 exercises v1.00_en
19 exercises v1.00_en19 exercises v1.00_en
19 exercises v1.00_en
 
18 syntax rules v1.0
18 syntax rules v1.018 syntax rules v1.0
18 syntax rules v1.0
 
17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_en17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_en
 
15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_en15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_en
 
14 mass data engineering v1.00_en
14 mass data engineering v1.00_en14 mass data engineering v1.00_en
14 mass data engineering v1.00_en
 
13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_en13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_en
 
12 archiving system v1.00_en
12 archiving system v1.00_en12 archiving system v1.00_en
12 archiving system v1.00_en
 
11 customizing the os v1.00_en
11 customizing the os v1.00_en11 customizing the os v1.00_en
11 customizing the os v1.00_en
 
10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_en10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_en
 
09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en
 
08 basics control functions v1.00_en
08 basics control functions v1.00_en08 basics control functions v1.00_en
08 basics control functions v1.00_en
 
07 connection to the process v1.00_en
07 connection to the process v1.00_en07 connection to the process v1.00_en
07 connection to the process v1.00_en
 
05 project setup v1.00_en
05 project setup v1.00_en05 project setup v1.00_en
05 project setup v1.00_en
 
01 introduction v1.00_en
01 introduction v1.00_en01 introduction v1.00_en
01 introduction v1.00_en
 
00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 en00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 en
 
Fluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeFluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verde
 
01tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp0101tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp01
 
Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01
 
Sitrain introdução a ihm
Sitrain introdução a ihmSitrain introdução a ihm
Sitrain introdução a ihm
 
Sitrain visão geral do sistema tia portal
Sitrain visão geral do sistema tia portalSitrain visão geral do sistema tia portal
Sitrain visão geral do sistema tia portal
 

Último

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxfabiolalopesmartins1
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 

Último (20)

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptx
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 

03 funções e blocos de funções

  • 1. Funções e Blocos de Funções SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.1
  • 2. Introdução Dados / Variáveis Globais (válidos no programa todo) Dados / Variáveis Locais (válido somente em um bloco) • I/ O •M/T/C • áreas DB Variáveis Temporárias Variáveis Estáticas • são apagadas após o bloco associado ter sido executado • são retidas mesmo após a execução do bloco • armazenamento temporário na Pilha L • armazenamento permanente em DBs • utilizável em OBs / FCs / FBs • PII / PIQ • só pode ser usado em FBs absoluto simbólico Acesso SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.2
  • 3. Variáveis Temporárias SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.3
  • 4. Tamanho da Pilha de Dados Locais Tamanho total: Tamanho total: 1.5 Kbyte 1.5 Kbyte (CPU 313..316) (CPU 313..316) For S7-300: Execução Classe de Prioridade Startup (executa uma única vez) 27 Execução cíclica 1 Tamanho da Pilha 256 bytes 2 256 bytes Interrupção Atraso-no-Tempo 3 256 bytes 12 256 bytes Interrupção de Hardware 16 256 bytes Erro manipulação no startup 28 Erro manipulação varredura Execução ativada por evento Interrupção Horário-do-Dia Interrupção Cíclica Execução controlada por tempo 26 SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.4 256 bytes
  • 5. Bytes Necessários de um Bloco na Pilha de Dados Locais rechts SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.5
  • 6. Ocupação Total na Pilha de Dados Local Sistema operac. 1 FC 1 OB 1 7 Evento 1 2 4 c/variáveis temporár. FC 3 6 c/variáveis temporár. FC 2 5 2 3 c/variáveis temporár. 3 4 5 6 7 FC2 FC3 FC1 OB1 256 Bytes Ocupação na pilha L FC1 FC1 FC1 FC1 OB1 OB1 OB1 OB1 OB1 SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: OB1 09/03/14 S7-Service.6
  • 7. Exercício: Uso de Variáveis Temporárias trocado pela variável temporária "Packages" SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.7
  • 8. Exemplo de uma Mensagem Mostrada Indicando um Problema no Processo Tarefa Disturbance Acknowledge Report Memory LED Sugestão de Solução Report Memory Edge Mem. Bit Disturb. Input Acknowl. P RS R S Q & >=1 Flash Freq. Report Memory Disturb. Input SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.8 & Display =
  • 9. Parâmetros Atribuíveis dos Blocos Bloco com parâmetros não atribuídos Bloco com parâmetros atribuídos Programa Chamada FC 20 A I 1.2 A #Acknowledge R M 40.0 R #Report Memory A I 1.3 U #Disturb. input I 1.2 FP M 40.1 FP #Edge mem. bit M 10.3 Flash freq. S M 40.0 S #Report memory M 40.0 A M 40.0 A #Report memory Report memory A M 10.3 A #Flashing freq. O I 1.3 Disturb. input Edge mem.bit Acknowledge Display O ANM 40.0 AN #Reportmemory A I 1.3 A #Disturb. input = 8.3 = Q Parâmetros formais Parâmetros atuais #Display SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.9 M 40.1 A 8.3
  • 10. Parâmetros Atribuíveis dos Blocos Parâmetros formais Tipo de parâmetro Input parameter Output parameter In/out parameter Declaração in out In_out Uso Read only Write only Read / write Tabela de declaração do bloco FC 20 SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.10 Mostra graficamente To the left of the block To the right of the block To the left of the block
  • 11. Editando um Parâmetro Atribuível de um Bloco Aqui foi, p.ex., de bloco FC s/ parâmetro atribuído: • com endereçamento absoluto: I1.3 • com endereçamento simbólico: “End_left" SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.11
  • 12. Chamando um Parâmetro Atribuível de um Bloco Network 3: Primeira chamada .... absoluto “End left" “Acknow.button" EN Disturb.input Edge mem. bit Acknowledge M10.3 Flash freq. M40.0 Endereçamento FC20 Report memory Display M40.1 “Position error" ENO Network 4: Segunda chamada A8.1 simbólico “End right" “Acknow.button" EN Disturb.input Acknowledge M10.3 Flash freq. M40.2 Report memory Tabela de símbolos Símbolos Globais Símbolos Símbolos Locais --> Parâmetros formais SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.12 FC20 Edge mem. bit Display ENO M40.3 Q9.4
  • 13. Usando os Parâmetros EN/ENO nas Chamadas de Bloco LAD/FBD STL FC 1 Chamada incondicional Chamada condicional ?? . ? EN ENO CALL FC NOP 0 Q 9.0 FC 1 EN ENO I 0.1 = _001: Exemplo FC 1 ?? . ? EN SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. ENO FC 2 EN Data: Arquivo: ENO 09/03/14 S7-Service.13 1 A JNB CALL A = 0.1 I _001 FC BR Q 1 9.0 FC 3 EN ENO =
  • 14. Exercício: Criando um Parâmetro Atribuível de um Bloco FC 1. Tabela de declaração do bloco FC 20 Bloco com parâmetros não atribuídos A I R M A I FP M S M A M A M O AN M A I = Q 1.2 40.0 1.3 40.1 40.0 40.0 10.3 Bloco FC 20 com parâmetros atribuídos 2. 40.0 1.3 9.3(Q5.3) SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.14 A #Acknowledge R #Report memory A #Disturb. ... : : : : : : : :
  • 15. Exercício: Chamando um Parâmetro Atribuível de um Bloco FC FC 20 I 1.3 Parâmetros atribuídos do FC20 na 1a. chamada I 1.2 M 10.3 M 40.0 Disturb. input Edge mem. bit Display Acknowledge M 40.1 Q 9.3 (Q 5.3) Flash freq. Report memory FC 20 I 1.4 Parâmetros atribuídos do FC20 na 2a. chamada I 1.2 M 10.3 M 40.2 SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Disturb. input Edge mem. bit Display Acknowledge Flash freq. Report memory Data: Arquivo: 09/03/14 S7-Service.15 M 40.3 Q 9.4 (Q 5.4)
  • 16. Blocos de Funções (FBs) OB 1 DB 2 FB 2 EN Disturb. input Acknowledge Flash freq. Display ENO Tabela declaração do bloco de funções SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.16
  • 17. Blocos de Funções para Mostrar Mensagens Tabela de declaração do bloco de função Bloco de dados instance SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.17
  • 18. Gerando Blocos de Dados Instance 1. Gera o DB instance na chamada do FB SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. 2. Criar um novo DB instance Data: Arquivo: 09/03/14 S7-Service.18
  • 19. O Modelo Múltiplo Instance O Modelo Instance OB 1 Call FB20, DB10 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= Call FB20, DB11 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= Call FB20, DB12 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= O Modelo Múltiplo Instance DB10 FB20 OB 1 Call FB100, DB100 FB 100 stat DB12 FB20 Call Dist_2 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= FB20 SIMATIC S7 Dist_2 Call Dist_1 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= FB20 Siemens Serviços Técnicos 2004. Todos os direitos reservados. FB20 stat DB11 Dist_1 Data: Arquivo: 09/03/14 S7-Service.19 DB100 Parâmetros e variáveis estáticas da 1a. chamada do FB20 Parâmetros e variáveis estáticas da 2a. chamada do FB20
  • 20. Inserindo/Apagando Parâmetros de Bloco Posteriormente ve Sa SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.20
  • 21. Correções Quando Chamando Blocos Modificados Quando o bloco chamado é aberto: Com o botão direito SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.21
  • 22. Exercício: Editando um Bloco de Funções 1. Tabela de declaração do bloco FB 20 2. Sessão de programa do FB 20 SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. A #Acknowledge R #Report memory A #Disturb. ... : : Data: Arquivo: 09/03/14 S7-Service.22
  • 23. Chamando e Testando um Bloco de Funções (Q 5.3) (Q 5.3) SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.23
  • 24. Convertendo um FC em um FB usando Programas Fonte (1) SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.24
  • 25. Convertendo um FC em um FB usando Programas Fonte (2) : : SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. : : Data: Arquivo: 09/03/14 S7-Service.25
  • 26. Exercício: Reconhecendo Tipos de Variáveis Instrução Global Local Absoluta Simbólica L #Number_1 L #Number_2 T #Max_value L #Intermediate_result L “Number_1" T MW 40 T #Number_2 SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Data: Arquivo: 09/03/14 S7-Service.26 Temporária Estática Parâmetro
  • 27. Resumo: Chamada de Blocos FC Linguagem STL FB Sem parâmetros Com parâmetros • CALL FC1 • UC FC1 • CC FC1 Sem parâm., sem DB inst. • CALL FC2 Par1: ... Par2: ... Par3: ... Com parâm., c/ DB inst. • CALL FB2, DB3 Par1: ... Par2: ... Par3: ... • UC FB1 • CC FB1 FC1 ( CALL ) LAD FC2 FC1 EN ENO EN DB3 FB2 FB1 ENO EN ENO Par1 Par2 EN Par1 Par3 Par2 FC1 CALL FBD EN EN FB1 Par3 FB2 EN EN Par1 Par2 Par1 ENO ENO ENO SIMATIC S7 Siemens Serviços Técnicos 2004. Todos os direitos reservados. Par3 DB3 FC2 FC1 ENO Data: Arquivo: 09/03/14 S7-Service.27 Par2 Par3 ENO

Notas do Editor

  1. SumárioPágina Introdução .........................................................................................................................................2 Variáveis Temporárias ......................................................................................................................3 Tamanho da Pilha de Dados Locais .................................................................................................4 Bytes Necessários de um Bloco na Pilha de Dados Locais .............................................................5 Ocupação Total na Pilha de Dados Local ........................................................................................6 Exercício: Uso de Variáveis Temporárias ..………...........................................................................7 Exemplo de uma Mensagem Mostrada Indicando um Problema no Processo ...............................8 Parâmetros Atribuíveis dos Blocos ..................................................................................................9 Declaração dos Parâmetros Formais ...............................................................................................10 Editando um Parâmetro Atribuível de um Bloco ..............................................................................11 Chamando um Parâmetro Atribuível de um Bloco ...........................................................................12 Usando os Parâmetros EN/ENO nas Chamadas de Bloco ..............................................................13 Exercício: Criando um Parâmetro Atribuível de um Bloco FC .........................................................14 Exercício: Chamando um Parâmetro Atribuível de um Bloco FC ....................................................15 Blocos de Funções (FBs) .................................................................................................................16 Blocos de Funções para Mostrar Mensagens .................................................................................17 Gerando Blocos de Dados Instance .................................................................................................18 O Modelo Múltiplo Instance ..............................................................................................................19 Inserindo/Apagando Parâmetros de Bloco Posteriormente .............................................................20 Correções Quando Chamando Blocos Modificados ........................................................................21 Exercício: Editando um Bloco de Funções ......................................................................................22 Chamando e Testando um Bloco de Funções ..................................................................................23 Convertendo um FC em um FB usando Programas Fonte (1) .........................................................24 Convertendo um FC em um FB usando Programas Fonte (2) .........................................................25 Exercício: Reconhecendo Tipos de Variáveis ...................................................................................26 Resumo: Chamada de Blocos ...........................................................................................................27
  2. GeralAté agora, as entradas e saídas na planta de engarrafamento foram endereçadas com seus parâmetros atuais. Você não pode atribuir parâmetros aos blocos. Você deveria escolher este procedimento, por exemplo, para criação de um programa que é somente utilizado uma vez com uma máquina especial. Para freqüentes funções recorrentes em grandes sistemas, você cria universalmente utilizáveis blocos com parâmetros atribuíveis (FC, FB).Estes têm parâmetros formais de entrada e saída, que são atribuídos parâmetros atuais quando o bloco é chamado. O ajuste da funcionalidade do bloco ao hardware toma lugar com o parâmetro atribuído quando o bloco é chamado; a “vida interna“ do bloco não muda. Variáveis LocaisAté agora você havia usado variáveis globais (memórias bit e blocos de dados) para armazenar dados de produção, por exemplo. Neste capítulo você irá encontrar mais sobre armazenamento de dados em variáveis locais. Variáveis Variáveis Temporárias são variáveis que somente são armazenadas enquanto Temporárias o bloco está sendo executado. Eles podem ser usados em todos os blocos (OB, FC, FB). Variáveis Estáticas Se os dados estão sendo retidos mesmo após o bloco ser executado, eles devem ser armazenados em variáveis estáticas.Variáveis estáticas somente podem ser usadas em blocos de funções.
  3. GeralVariáveis temporárias podem ser usadas em blocos (OB, FC, FB). Eles são usados para armazenar temporariamente informações enquanto o bloco está sendo executado. Os dados são perdidos quando o bloco é terminado. Os dados são armazenados na pilha L (pilha de dados locais). Esta é uma área de memória separada na CPU. DeclaraçãoVocê define as variáveis na tabela de declaração do bloco. Na linha "temp" você insere um nome de variável e um tipo de dado associado. Você não pode pré-definir aqui um valor inicial ou de partida. Após você ter salvo o bloco, a memória locada na pilha L é mostrada na coluna de “Endereços". AcessoNo Network 1, você vê um exemplo de acesso simbólico para uma variável temporária. O resultado da subtração é armazenado na variável temporária “result“.Você também pode fazer um acesso absoluto (T LW0). Você deve, You can also make an absolute access (T LW0). You should, de qualquer modo, tentar escapar disto uma vez que o programa fica difícil para ler. Nota #Nomes de variáveis que começam com o caractere especial # são variáveis locais as quais são somente válidas dentro do bloco no qual eles estão declarados na tabela de declarações. O Editor de Programas insere automaticamente o caractere especial.
  4. Mostrando os Você pode ver o número exato de bytes necessários na pilha de dados local Bytes Necessáriospela seleção das propriedades do bloco. Ativar1. No gerenciador SIMATIC, selecione o bloco com o botão direito do mouse e então -> Object Properties. ou2. No gerenciador SIMATIC, selecionar o bloco com o botão esquerdo do mouse e então a opção de menu Edit -> Object Properties. NotasA soma dos dados locais para um nível de execução (OB) é de um máximo de 256 bytes com o S7-300. Cada OB individualmente sempre ocupa 20 ou 22 bytes.Isto significa que um máximo de 234 bytes podem ser usados em um FC ou FB.Se mais do que 256 bytes dos dados locais estão definidos em um bloco, o bloco não pode ser transferido para dentro da CPU. A transmissão é interrompida com uma mensagem de erro “The block could not be copied" (o bloco não pode ser copiado). Dentro desta mensagem de erro existe o botão "Details". Se você clicar nele, uma caixa de mensagem aparece com a explicação “Incorrect local data length" (tamanho errado dos dados locais).
  5. ObjetivoVocê não está usando qualquer memória bit como armazenamento temporário no bloco FC 19 do programa S7 "Fill". Estas estão sendo trocadas pela variável temporária “Packages" (pacote de garrafas). Se você escreveu um programa para o bloco em LAD ou FBD, as memórias bit foram necessárias para conectar a saída do divisor com a entrada do conversor de código. Certamente se você escreveu um program para o bloco em STL (onde nenhuma memória bit é necessária) insira a variável temporária “Packages" para armazenamento. O que fazer•Abra o bloco FC 19 no programa S7 "FILL" . •Defina a variável temporária com o nome “Packages" e o tipo de dado "Integer“ na tabela de declaração. •Armazene o número de pacotes na variável temporária. •Transfira o programa alterado e teste. ResultadoVocê agora conhece o uso de variáveis temporárias.
  6. DescriçãoProblemas (disturbances) que ocorrem estão sendo mostrados por um LED na console do operador. Quando o problema (I1.3) ocorre, o LED (Q8.3 ou Q4.3) pisca com 2Hz. O problema é detectado na entrada de reconhecimento (acknowledge) I 1.2. Se o problema for corrigido, o LED para de piscar. Se o problema continua, o LED muda para aceso até o problema ser corrigido. ProgramaEntão para que se mantenham os problemas, que somente existem por um curto intervalo de tempo, não sejam perdidos, um flip flop com set dominante (M40.0) é usado. Um RLO de detecção de transição do sinal mensagem também é executado, desde que a memória é por outro lado imediatamente resetada quando um problema existente é reconhecido. Se o “report memory“ é setado (mensagem não tinha sido ainda reconhecida), a lógica AND de cima leva o LED a piscar. Com isto, a memória bit M10.3, que foi definida como uma memória clock quando o parâmetro atribuído foi feito na CPU, é gatilhado. A lógica AND de baixo é usada para deixar o LED aceso para um problema que foi reconhecido mas ainda existe.
  7. IntroduçãoVocê pode usar blocos de parâmetros atribuíveis para sessões de programa repetitivos. Isto tem as seguintes vantagens: •o programa somente precisa ser criado uma vez.•o bloco somente é armazenado uma única vez na memória do usuário e pode ser chamado quantas vezes você quiser. •o bloco pode ser programado com parâmetros formais (parâmetros input, output ou in/out) e somente quando o bloco é chamado ele dá o endereço “real“ (parâmetro atual). ExemploQuando o bloco é executado, a instrução “A Disturbance input" é verificada vendo qual parâmetro atual foi atribuído ao parâmetro formal “Disturbance input". Se, quando o bloco é chamado, I 1.4 é assumido como parâmetro atual, então a instrução “A I 1.4" é executada. FC / FBBlocos com parâmetro atribuíveis podem deste modo ser FCs ou FBs. FC20 com No exemplo, a mensagem mostrada é requerida dez vezes no sistema. Parâmetros Ele é criado como bloco FC 20 com parâmetros atribuídos e é então chamado Atribuídos dez vezes com parâmetros atuais diferentes.
  8. Endereços FormaisAntes de você poder criar o programa do bloco de parâmetros atribuíveis, você tem que definir os parâmetros formais na tabela de declarações. Tipo de ParâmetroNa tabela do slide, você pode ver três possíveis tipos de parâmetros e seus usos. Favor certificar-se que quando você tiver um acesso de leitura ou escrita a um endereço formal que você usa como parâmetro in/out. Exemplo do FC20Na parte de baixo do slide, você pode ver a tabela de declaração para a mensagem mostrada (message display) (ver página anterior). Desde que a “report memory“ é acessada como leitura (set/reset) bem como escrita (consulta), este tem que ser definido como um parâmetro in/out. NotasExiste somente uma linha para cado tipo de parâmetro na tabela de declaração. Quando você necessitar de diversos parâmetros input, você tem que usar a tecla “Return“ quando você terminar de inserir uma linha. Uma linha adicional para este tipo de parâmetro é então aberta. Após você ter selecionado uma linha de declaração, você pode usar as opções de menu Insert -> Declaration Row -> Before Selection / After Selection para inserir uma linha adicional. Atenção!Se você deseja inserir ou apagar posteriormente uma linha – depois do bloco já ter sido chamado - , você tem que atualizar esta chamada de bloco!
  9. NotasNão faz diferença se os nomes dos parâmetros formais são escritos com letras maiúsculas ou minúsculas. O caractere "#" em frente ao nome é automaticamente inserido pela PG. Isto é para indicar a você que esta é uma variável local que foi definida na tabela de declaração deste bloco. É possível que quando você escreva o programa em LAD / FBD, que o nome não seja completamente mostrado em uma linha. Isto depende de como você configurou os ajustes no Editor de Programas (Options -> Customize -> "LAD/FBD" tab -> Width of address field – largura dos campos de endereço). Símbolos1.Se você usa um nome simbólico quando você edita o bloco, o Editor procura a variável na tabela de declarações. Se existir, o símbolo com o # em frente a ele é aceita no programa como uma variável local. 2.Se ela não pode ser encontrada como uma variável local, o Editor procura na tabela de símbolos para símbolos globais. Se esta é encontrada lá, o símbolo é colocada entre aspas e é aceita no programa. 3.Se você especificar o mesmo nome simbólico como global (na tabela de símbolos) e como local (na tabela de declarações de variáveis), o Editor irá sempre inserir a variável local. Se, de qualquer modo, você deseja trabalhar com símbolos globais, você deve inserir o nome entre aspas quando você estiver inseríndo-a.
  10. ChamadaEm LAD/FBD, você pode selecionar a chamada do browser "Program Elements". Pontos de interrogação (??.?) são mostrados nos parâmetros input, output e in/out do bloco. Aqui você insere o parâmetro atual que você deseja. NotaQuando você chama um bloco FC com parâmetros atribuíveis, você deve atribuir todos os parâmetros do bloco (exceto EN e ENO).
  11. FCs Padrões As seguintes regras existem para execução dos FCs padrões: •Se EN=0, o bloco não é executado e ENO é também =0. •Se EN=1, o bloco é executado e se ele é executado sem erros ENO é também =1. Se um erro ocorre enquanto o bloco está sendo executado, ENO fica =0. FCs do UsuárioNão tem problema se um bloco do usuário foi escrito em LAD, FBD ou STL, quando ele é chamado em LAD/FBD, os parâmetros EN e ENO são adicionados. Isto torna possível a passagem de RLO. EN/ENO não existe em STL. Você pode, deste modo, emulá-los. Você deve programar, independentemente da linguagem de programação, uma avaliação de erro. InterconexãoEm LAD/FBD, diversas caixas podem ser agrupadas juntas uma após a outra e conectá-las logicamente com EN / ENO.
  12. TarefaEscreva o programa para mostrar uma mensagem como um bloco com parâmetro atribuído. No slide você pode ver a tabela de declaração com os parâmetros input e output e o início do programa. O que fazer•Inserir um bloco FC 20 no programa S7 "My Program" .•Escreva o programa no FC 20.•Salve o FC 20.
  13. TarefaChama o FC 20 no OB 1 duas vezes (com endereços absolutos diferentes). Teste a funcionalidade do programa. O que fazer•Inserir dois networks no OB 1 do program S7 "My Program".•Criar duas chamadas do FC 20, conforme aparece no slide,•Transfira os blocos FC20 e OB 1,•Testar a função. Nota: Durante a configuração de HW, você deve usar o MB10 para parâmetro atribuído do byte de memória clock. Entretanto se você tiver realizado um reset de memória, você deve transferir a configuração de HW mais uma vez para que a M10.3 pisque.
  14. CaracterísticasDiferentemente das funções (FCs), os blocos de funções (FBs) possuem uma Especiais dos FBsmemória (rechamada). Isto significa que um bloco de dados local é associado ao bloco de funções, o denominado bloco de dados instance. Quando você chama um FB, você também tem que especificar o número do DB instance, o qual é automaticamente aberto. Um DB instance é usado para salvar variáveis estáticas. Estas variáveis locais somente podem ser usadas em FB, nesta tabela de declarações elas são declaradas. Quando o bloco deixa de ser executado, elas são salvas ou retidas pelo DB. ParâmetrosQuando o bloco de função é chamado, os valores dos parâmetros atuais estão armazenados no DB instance. Se nenhum parâmetro atual foi atribuído ao parâmetro formal em uma chamada de bloco, então o último valor armazenado no DB instance para este parâmetro é usado na execução do programa. Você pode especificar diferentes parâmetros atuais com cada chamada de FB. Quando o bloco de função é terminado, os dados no DB são retidos. Vantagens do FB•Quando você escreve um programa para um FC, você deve procurar por memórias bit vazias, áreas de endereços ou áreas de dados e você deve mantê-los por si próprios. As variáveis estáticas de um FB, por outro lado, são mantidas pelo software STEP 7. •Quando você usa variáveis estáticas você evita o risco de atribuição duplicadade memórias bit, áreas de endereços ou áreas de dados. •Em vez dos parâmetros formais “Report memory" e “Edge memory marker" do FC20, você usa as variáveis estáticas “Report memory" e “Edge memory marker" no FB. Isto torna a chamada do bloco segura e sem duplicidade.
  15. Mostra de Mensagem Em um exercício anterior você criou um bloco FC 20 com parâmetros atribuídos para mostrar uma mensagem (indicando um problema). Ao invés de memórias bit, que eram usadas no FC 20 para salvar o sinal da mensagem e seu RLO de detecção de transição, você pode usar as conhecidas variáveis estáticas em um FB. Elas são armazenadas em um DB instance referenciado ao FB. Estrutura do Quando um DB é gerado e referenciado a um FB, o STEP7 criar a estrutura de DB Instance dados do bloco de dados usando a estrutura especificada na tabela de declarações do bloco de funções. Depois você salva o DB, o bloco de dados é criado e pode então se usado como um DB instance.
  16. Gerando um Existem dois caminhos para geração de um novo DB instance: DB Instance •Quando você chama um FB, você especifica com qual DB instance o FB irá trabalhar. As seguintes mensagens então aparecem: "Instance data block DB x does not exist. Do you want to generate it?". ("O bloco de dados instance DB x não existe. Você deseja gerá-lo?"). •Quando você cria um novo DB, você seleciona a opção "Data block referencing afunction block". NotasUm DB instance somente pode ser referenciado a um FB. Deste modo, um FB pode ser referenciado por um DB instance diferente a cada vez que ele é chamado. Se você modificar o FB (pela adição de parâmetros ou variáveis estáticas), você então atmbém deve gerar o DB instance novamente.
  17. Modelo Múltiplo Até agora, você tinha que usar diferentes DBs instance para cada chamada de Instance um FB. O número de DBs contudo é limitado e por esta razão existe um método que permite a você usar um DB instance comum para todas as chamadas do FB. O modelo múltiplo instance agora habilita você a usar um único DB para diversas chamadas. Para fazer isto você necessita de um FB adicional para gerenciar estes instances. Para cada chamada do FB (FB 20), você define uma variável estática do FB alto nível (FB 100). Neste bloco chama-se Call Dist_1, você não tem então que especificar um DB instance.O FB alto nível (FB 100) é chamado, por exemplo, no OB1, o DB instance comum (DB 100) é gerado somente uma vez. NotaMúltiplos instances são em um curso de programação avançado.
  18. O ProblemaQuando você acrescenta parâmetros de bloco adicionais posteriormente a um bloco já chamado no programa, você deve também atualizar o bloco chamado. Caso contrário, a CPU acabará indo para Stop ou o bloco de funções não será garantido uma vez que os parâmetros adicionais ainda tem que ser alimentados com os parâmetros atuais da chamada. No exemplo, um parâmetro de entrada adicional “Check_lights" foi inserido. Atualizando a Quando você salva o bloco no qual a tabela de declarações foi modificada, uma Chamada mensagem aparece avisando você sobre possíveis problemas.
  19. Atualizando a Quando o bloco chamado é aberto, a seguinte mensagem aparece: Chamada “Time stamp conflict with at least one block call" e a chamada é mostrada em vermelho.Com o botão direito do mouse, clique no bloco e selecione a opção de menu “Update Call" (atualizar a chamada). O bloc chamado é então mostrado novamente e passa a conter, conforme nosso exemplo, o parâmetro de entrada adicional “Check_light“. Este parâmetro pode então ser atribuído. No caso dos FBs, os DBs instance são então gerados novamente.
  20. TarefaO programa para mostrar uma mensagem (indicando um problema) é agora implementado em um FB. Para salvar a memória bit de detecção de transição e a “report memory“ você está utilizando variáveis estáticas que estão armazenadas no DB instance do FB. Neste caminho, você não requer qualquer memória bit para salvar. No slide você pode ver a tabela de declaração com parâmetros de entrada e saída e o começo do programa. O que fazer•Inserir um bloco FB 20 no programa S7 "My Program".•Escreva o programa no FB 20.•Salve o FB 20.
  21. O que fazerNo programa S7 "My Program": • delete ambos networks com a chamada do FC20. •escreva um programa de duas chamadas do FB 20, como mostrado no slide. •transfira os blocos FB20, DB20, DB21 e OB 1. •teste a funcionalidade do programa. FC -> FBEm nosso exemplo, o FB20 foi reescrito, apesar de que um FC20 com os mesmos conteúdos já existisse. Isto não foi difícil fazer. Se um FC com um extenso programa está sendo convertido em um FB, você tem alguns caminhos alternativos: Primeira possível solução: • insira um novo FB • copie a tabela de declaração do bloco FC no FB e o ajuste. • copie os networks do FC no FB • salve o FB. Segunda possível solução : • gerar um arquivo fonte do bloco FC • fazer os ajustes no arquivo fonte • gerar o novo FB do arquivo fonte (ver próxima página).
  22. IntroduçãoDo mesmo modo que nas linguagens de programação de alto nível, você também pode criar blocos usando um arquivo fonte (arquivo texto). Quando você compila este programa fonte, blocos executáveis são gerados. Da mesma forma, um arquivo fonte pode ser gerado de blocos existentes. Você fazer uso disto para criar, com um mínimo de trabalho (digitação), um FB 20 de um bloco FC 20. O que fazer1.Abra um bloco. 2. No Editor LAD/STL/FBD, escolha a opção de menu Options -> Customize, então o "Editor“ tabula. Na caixa “View" selecione a opção "Symbolic representation". 3.No Editor LAD/STL/FBD selecione a opção de menu options File -> Generate Source File... 4.Na janela "New“, você pode inserir um nome de sua escolha para o arquivo fonte a ser gerado na caixa "Object name". 5.Na janela “Generate Source File" que então aparece, selecione os blocos de programa que serão compilados um após o outro na janela “Unselected Blocks“. 6.Clique "OK" para iniciar a compilação dos blocos no código fonte. Os blocos compilados são então encontrados no arquivo fonte com seus nomes previamente definidos, na pasta “Source Files" do programa S7.
  23. Fontes, Para Que?•para refiação automática usando símbolos•para atribuição de atributos de blocos, por exemplo, proteção de bloco•como proteção de dados do programa inteiro•mais liberdade na edição e processamento dos blocos:-modificando o tipo do bloco- inserindo / deletando separadores de network- moldando elementos de programa e comentando em novos blocos- criando programas fonte em outros editores de texto (WORD, WordPad), sem ter que instalar o STEP7 no PC-programação simbólica completa sem verificação de sintaxe, etc. Programa Fonte No lado esquerdo do slide você pode ver o programa fonte para o bloco FC 20. No lado direito do slide, o programa fonte é mostrado para o programa como FB 20. Aqui, as palavras chaves associadas para um bloco de função foi inserido. Complementarmente, variáveis estáticas para a “report memory“ e a memória de detecção de transição estão definidas.Após uma compilação, um FB 20 executável existe uma vez mais. NotaSe você não conhecer as palavras chaves, você pode inserir um bloco template usando a opção de menu Insert -> Block Template -> FB.O tópico “Arquivos Fontes" é discutido amplamente em detalhes em um curso avançado de programação.
  24. ObjetivoVocê irá reconhecer diferenças entre os diversos tipos de variáveis. O que fazerNa tabela, marque o tipo de dado associado com um X.Responda as seguintes questões:O que não está correto na instrução T#Number_2 ?................................................................................. ResultadoVocê pode reconhecer e usar os tipos de variáveis.
  25. CALLA instrução "CALL" é usada para chamada de blocos de programa (FC, FB, SFC, SFB), independentemente do RLO ou quaisquer outras condições. Se você chamar um FB ou SFB com "CALL“, você deve também especificar o correspondente DB instance. Você pode usar indiferentemente nomes absolutos ou simbólico para o bloco de programa. Por exemplo: "CALL FB2, DB2“ ou "CALL valve, level“. A operação "CALL“ salva o endereço retornado, desativa a dependência no MCR e cria a área de dados locais para o bloco a ser chamado. UCA instrução "UC" é uma chamada incondicional de um bloco do tipo Fc ou FB sem atribuição de parâmetros."UC" é de outro modo idêntica ao "CALL". CCA instrução "CC" chama um bloco do tipo FC ou FB sem parâmetros se RLO=1."CC" é de outro modo idêntica ao "CALL". ParâmetrosParâmetros declarados na tabela de declaração são conhecidos como “parâmetros formais“. Os endereços ou valores especificados na chamada são referidos como “parâmetros atuais“. Variáveis estáticas e temporárias não são especificadas na chamada.