Você está na página 1de 19

Blocos de

organização

© Siemens AG 2009. All rights reserved.


Blocos de organização: Visão geral

FB FC

Hardware Sistema
Instance
operacional FC
Ciclo OB1

Processamento de interrupção
FC
Global

Partida OB
10x

FC Global
Tempo OB
20x

Hardware OB FB FC
20x
Instance
Diagnóstico OB FC
82

É possível aplicar mais de um OB em um projeto.

Página 2 / 19 Siemens AG © 2009


Blocos de organização: Propriedades

OB – blocos de organização:
OB
§ A interface entre o sistema operacional e o
programa do usuário
§ OBs podem ser programados pelo usuário, isto
permite controlar a reação da CPU
§ Blocos de organização são chamados pelo
sistema operacional para os seguintes eventos:
§ Comportamento da partida
§ Processamento de programa cíclico
§ Execução de programas dirigidos à
interrupção
§ Manipulação de erros

Página 3 / 19 Siemens AG © 2009


Eventos que ativam um OB

Classe de evento No. OB Quantidade Gatilho do evento Prio Classe


Programa cíclico 1, >=200 >= 1 Término da partida ou fim do último OB 1 1
cíclico
Partida 100, >= 0 Transição STOP - RUN 1
>= 200
Interrupção atraso >= 200 Máx. 4 Tempo de atraso tenha decorrido 3 2
Interrupção cíclica >= 200 Máx. 4 Expirou o tempo especificado 4
Interrupção de >= 200 Máx. 50 - Borda de subida 5
Hardware - Borda de descida
- HSC: CV=PV 6
- HSC: Mudou direção de contagem
- HSC: Reset externo
Interrupção de 82 0/1 Falha em um módulo 9
diagnóstico
Interrupção estouro de 80 0/1 - Excedido tempo máximo de ciclo 26 3
tempo - Estouro de fila
- Perda de interrupção durante uma
sobrecarga de interrupções

Página 4 / 19 Siemens AG © 2009


Interrupção de programas cíclicos

Escreve
PIQ

Hardware Sistema PII
operacional Início
OB1

Processamento de interrupção
Interrupção
Início
OB2xy
Fim
Continua
OB1
. Interrupção
Início
OB2xy
Início
OB80
Fim
. Continua
OB2xy
Fim
Início
OB2xy
Fim
Continua
OB1
Fim

Página 5 / 19 Siemens AG © 2009


Blocos de organização cíclicos:

§ O projeto pode ser estruturado pela chamada de diversos


OB1
blocos de organização cíclicos
§ Partes relacionadas do projeto podem ser processadas
em um OB cíclico

OB
§ Blocos de organização cíclicos não possuem qualquer
20x informação de partida
§ A sequência de chamadas depende do número do bloco

Página 6 / 19 Siemens AG © 2009


Blocos de organização de partida (startup):

OB
§ O programa de partida é executado uma vez na transição
100 STOP à RUN.
§ Especifique condições limites para partida, p.ex. valores iniciais
para "RUN“.
§ Diversos OBs de partida são possíveis.
OB
20x § A sequência de chamada é determinada pelo número do bloco.
§ Blocos de organização de partida contém informações de partida.

Tipo de
Tag Descrição
dado
=1, se áreas de dados
LostRetentive Bool retentivos devem ser
apagadas
=1, se o relógio de tempo real
LostRTC Bool
deve ser apagado

Página 7 / 19 Siemens AG © 2009


Interrupções atraso de tempo

OB § Quantidade (interrupções atraso de tempo + cíclicas) <= 4


200
§ O sistema operacional inicia o OB de interrupção atraso de
OB tempo após um tempo parametrizado ter decorrido. O atraso
20x
de tempo inicia quando a instrução SRT_DINT é chamada.
§ OBs de interrupção de atraso de tempo não possuem
quaisquer informações de partida.

Condição de partida

Número do OB

Atraso de tempo

Página 8 / 19 Siemens AG © 2009


Interrupções cíclicas

Sequência de interrupções cíclicas:


RUN OB200 OB200 OB200
Intervalo Intervalo Intervalo Prioridade 4
de tempo de tempo de tempo

OB1 OB1 O B1 OB1 OB1 OB1 OB1 O B1 Prioridade 1

Página 9 / 19 Siemens AG © 2009


Desvio de fase em interrupçõe cíclicas

1000

OB 202

2000

200
OB 204

1000 ms Phase shift

Página 10 / 19 Siemens AG © 2009


Interrupções de hardware

OB § Respostas para sinais externos no programa do usuário


200
§ Interrupções de hardware podem ser gatilhadas por
OB contadores de alta velocidade ou canais de entrada
20x
§ Existem três possibilidades com interrupção de hardware:
§ Um evento ser atribuído para somente um OB de interrupção de
hardware.

§ Um evento deve ser atribuído para diferentes OBs de interrupção


hardware. Por esta razão, o atual alarme do OB de interrupção de
hardware deve ser desacoplado no programa utilizando o comando
DETACH e um novo OB de interrupção de hardware deve ser
atribuído com ATTACH.

§ Diversos eventos podem ser atribuídos à um OB de interrupção de


hardware.

§ OBs de interrupção de hardware não possuem quaisquer


informações de partida.

Página 11 / 19 Siemens AG © 2009


Habilitação da interrupção de hardware

Página 12 / 19 Siemens AG © 2009


Interrupção de hardware - Programa

I 0.0

I 0.0

Página 13 / 19 Siemens AG © 2009


Anexar / desanexar interrupções de hardware

Página 14 / 19 Siemens AG © 2009


Habilita diagnóstico de interrupção

Página 15 / 19 Siemens AG © 2009


Identificador de hardware

Página 16 / 19 Siemens AG © 2009


Diagnósticos do OB82

Página 17 / 19 Siemens AG © 2009


Estouro de tempo – OB 80:

§ O OB de estouro de tempo é chamado nas seguintes situações:


OB
80 § Tempo máximo de ciclo excedido.
§ Um OB chamado (p.ex. interrup.cíclica) ainda está em
execução.
§ Estouro da fila de OBs de interrupção.
§ Uma interrupção foi perdida devido sobrecarga de
interrupção.
§ OB de estouro de tempo contém informações de partida
Tipo de
Tag Descrição
dado
0x01: Tempo máx. ciclo excedido
0x02: OB chamado ainda em execução
fault_id BYTE
0x07: Estouro da fila
0x09: Perda de interrupção devido sobrecarga
csg_OBnr OB_ANY No. do OB sendo processado durante a falha
csg_prio UINT Prio. do OB sendo processado durante a falha

Página 18 / 19 Siemens AG © 2009


Eventos que não ativam um OB:

Evento Prio Resposta do sistema

Conectar/desconectar um módulo 21 STOP

Erro de acesso ao I/O na atualização da


22 Ignora
imagem de processo

Programação de erro em um bloco 23 STOP

Erro de acesso ao I/O em um bloco 24 STOP

Tempo máximo de ciclo excedido duas


27 STOP
vezes

Página 19 / 19 Siemens AG © 2009

Você também pode gostar