Escolar Documentos
Profissional Documentos
Cultura Documentos
IEC1131FBD
IEC1131FBD
IEC 1131-3
Function
Block
Diagram
Livro Texto:
IEC1131-3 - FunctionBlockDiagram
Textuais
Grficas
SFC
ST
IL
TEXTUAIS
LD
FBD
GRFICAS
Funes
Blocos de funes
Programas
Em SFC para expressar o comportamento de passos, aes e transies.
Caractersticas
Modela o sistema em termos do fluxo de sinais entre elementos de processamento.
Definio do tipo Bloco de Funo
Declarao de variveis
Parmetros de entrada
Variveis internas
Parmetros de sada
Instncias de
Blocos de
Funo
Algortmo
(ST, FBD, LD, IL, SFC)
IEC1131-3 - FunctionBlockDiagram
Notao:
Parmetros de
entrada
Tipo do bloco
de funo
DELAY
BOOL
RUN
REAL
XIN
INT
XOUT
Parmetros de
sada
REAL
Elementos grficos
Podem ser representados em forma semi grfica atravs dos caracteres - | ou
totalmente grfica.
IEC1131-3 - FunctionBlockDiagram
Entidade grfica
Linhas horizontais e
verticais
Interconexo de fluxos de
sinais horizontais e
verticais
Cruzamento de fluxos de
sinais vertical e
horizontal
Esquinas de fluxo de
sinais
Forma grfica
-------------------------|
|
|
|
|
|
|
-------------+-------------|
|
|
|
|
|
-----------------|
|
|
|
-----+
|
-----+---+
| |
|
|
|
| ------|
|
|
|
+------+------|
+----------+
-----|
|-------|
|
|
|------------|
|
+----------+
----- LOAD_JOB>
LOAD_JOB
Conectores
>LOAD_JOB>--------
IEC1131-3 - FunctionBlockDiagram
LOAD_JOB
PesoCarregado
Chave1
Chave
32_HS_1234
Controle de Tanque
Entrada Posio
>PesoMdio >
2.5
Comando
Peso
ValvEnche
ENCHE
PesoCheio
ValvDreno
DRENA
PesoVazio
VelocMotor
MOTOR
Variveis
Balana1
Balana
Ajuste de tara
Offset
Peso
Balana2
Constantes
literais
Balana
Offset
Peso
2.0
IEC1131-3 - FunctionBlockDiagram
Fluxo de sinal
Os sinais se propagam da sadas de blocos de funo para as entradas de outras
funes ou blocos de funo.
Tipos de dados diferentes so representados por linhas da mesma espessura.
Entretanto permitido usar linhas de cores diferentes para tipos de dados
diferentes.
ChaveBomba
NumBomba
Pos
ADD
X3
Inibe
OR
TEST1
P1_Sp
Status
Trip
VA12
Bomba1
Chave1
MotorBomba
ChaveBomba
NumBomba
Pos
16
ADD
X3
Inibe
OR
NOT
TEST1
Status
NOT
P1_Sp
Trip
NOT
VA12
Realimentao:
Um sinal de sada de um bloco pode ser realimentado na entrada de um bloco
precedente.
O padro no estabelece que blocos de uma malha ser avaliado primeiro. Como
a ordem pode variar entre implementaes, pode haver diferenas de
comportamento entre diferentes compiladores com diferentes resultados finais.
IEC1131-3 - FunctionBlockDiagram
Carga1
Malha1
Controlador
200.0
Simulador
PV
Sada
Vazo
SP
Error
Modelo
Nvel
SEG_ORDEM
>=
ERRO_ALTO
0.15
AdicioneAcido
AND
:=
ADD
EN ENO
EN ENO
pH_Alto
VelocBomba
100.0
VelocMotor
Velocidade
Offset
IEC1131-3 - FunctionBlockDiagram
Observaes:
q Se houver erro no processamento do bloco, por exemplo, diviso por
zero, EN0 ser FALSE. Logo ENO serve para indicar se o
processamento do bloco foi OK.
Jumps e labels
possvel rotular um trecho de uma rede FBD com um label.
possvel pular de um trecho de uma rede FBD para este label:
Exemplo
Jump
NvelGas
>=
ALARME_GAS
0.15
100.0
<
GAS_OK
0.02
Label
ALARME_DE_GAS:
ENABLE
AND
SIRENE
MX12
Observaes:
Que acontece com a avaliao do resto da rede de FBD aps o jump ocorrer ?
A avaliao continua ?
A avaliao interrompida ?
standard no esclarece.
Jumps apesar de existentes so construes no recomendadas.
IEC1131-3 - FunctionBlockDiagram
Nenhum elemento da rede ser avaliado a menos que todas as suas entradas
proveniente de outros elementos tenham sido avaliadas.
A avaliao no estar completa at que todas as sadas tenham sido definidas.
A avaliao de uma rede s estar concluda quando a avaliao de todos os
blocos de funo tiver sido concluda.
Quando dados so transferidos de um a rede para outra, todos os valores indo
de uma rede a outra devem ter sido produzidos pela mesma avaliao da rede.
IEC1131-3 - FunctionBlockDiagram
Carga1
Malha1
Controlador
200.0
Simulador
PV
Sada
Vazo
SP
Error
Modelo
Nvel
SEG_ORDEM
>=
ERRO_ALTO
0.15
VAR
Malha1: Controlador;
Carga1: Simulador;
END_VAR
(* Invoque os blocos de funo com conexo entre parmetros *)
Malha1(PV := Carga1.Nvel, SP:=200.0);
Carga1(Vazo:= Malha1.Sada, Modelo:= SEG_ORDEM);
ERRO_ALTO := Malha1.Error >= 0.15;
IEC1131-3 - FunctionBlockDiagram
10
ST
FCB
FCB
IEC1131-3 - FunctionBlockDiagram
11
DAMPER
BOOL
ReqOpen
DemandOpen
BOOL
BOOL
ReqClose
DemandClose
BOOL
BOOL
OpenLS
Discrepancy
BOOL
CloseLS
BOOL
MoveTimeOut
BOOL
Posio
RS
REQOpen
REQClose
R1
DemandOpen
AND
OpenLS
DemandClose
DemandClose
NOT
OR
TON
IN
AND
Discrepancy
PT
CloseLS
MoveTimeOut
Discrepancy
PT
Controle do damper:
12
Parmetros de
entrada
DELAY
BOOL
RUN
REAL
XIN
INT
XOUT
Parmetros de
sada
REAL
Funcionamento:
DELAY estabelece um atraso de N amostras da entrada XIN para a sada
XOUT.
Ser usado um buffer circular como memria intermediria.
Cada vez que o bloco executar, um ponto ser introduzido no bufffer.
O valor de sada obtido buscando uma amostra no buffer N posies atrs do
ponto de entrada.
atraso ser proporcional ao tempo de scan.
FUNCTION_BLOCK DELAY
(* Declarao de variveis *)
VAR_INPUT
(* Parmetros de entrada *)
RUN: BOOL;
(* Inicializar para 1 para executar o bloco,
i.e. ativar o atraso *)
XIN: REAL;
(* Entrada a ser atrasad *)
N: INT;
(* Largura da amostras de delay *)
END_VAR
VAR_OUTPUT
XOUT: REAL;
END_VAR
(* Parmetros de sada *)
(* Sada com atraso *)
VAR
X: ARRAY[0..127] OF REAL; (* Buffer circular *)
I, IXIN, IXOUT: INT := 0;
END_VAR
(* Algoritmo *)
IF RUN THEN
(* Incrementa o ndice da entrada *)
(* Armazena o valor de entrada no buffer circular *)
IXIN:= MOD(IXIN+1, 128); X(IXIN) := XIN;
(* Incrementa o ndice da sada *)
IEC1131-3 - FunctionBlockDiagram
13
IXOUT
N
XIN
XIN XIN
127
XIN
XIN
XIN
XIN
XIN
XIN
XIN
XIN
IXIN
IEC1131-3 - FunctionBlockDiagram
14
BIESTVEL SR
SR
BOOL
BOOL
S1
S1
BOOL
Q1
R
R
OR
Q1
AND
Q1
AND
Q1
BIESTVEL RS
RS
BOOL
BOOL
Q1
R1
BOOL
S
OR
R1
Q1
SEMFORO
SEMA
BOOL
CLAIM BUSY
BOOL
RELEASE
BOOL
IEC1131-3 - FunctionBlockDiagram
FUNCTION_BLOCK SEMA
VAR_INPUT
CLAIM, RELEASE: BOOL;
END_VAR
VAR_OUTPUT
BUSY:BOOL;
END_VAR
VAR
X: BOOL := 0;
END_VAR
BUSY := X;
IF CLAIM THEN
X:= 1;
ELSEIF RELEASE THEN
BUSY := 0; X := 0;
END_IF
END_FUNCTION_BLOCK
15
R_TRIG
BOOL
CLK
BOOL
CLK
Q
FUNCTION_BLOCK R_TRIG
VAR_INPUT
CLK: BOOL;
END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
M: BOOL := 0;
END_VAR
Q := CLK AND NOT M;
M := CLK;
END_FUNCTION_BLOCK
CLK
BOOL
CLK
Q
FUNCTION_BLOCK F_TRIG
VAR_INPUT
CLK: BOOL;
END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
M: BOOL := 1;
END_VAR
Q := NOT CLK AND NOT M;
M := NOT CLK;
END_FUNCTION_BLOCK
16
EDGE_CHECK
BOOL
CLK1
OUT
BOOL
CLK2
FUNCTION_BLOCK EDGE_TRIG
VAR_INPUT
CLK1: BOOL R_EDGE;
CLK2: BOOL F_EDGE;
BOOL
END_VAR
VAR_OUTPUT
OUT: BOOL;
END_VAR
OUT := CLK1 OR CLK2;
END_FUNCTION_BLOCK
CLK1
CLK2
OUT
IEC1131-3 - FunctionBlockDiagram
17
Contadores:
CONTADOR INCREMENTAL
CTU
BOOL
CU
BOOL
INT
PV
CV
BOOL
INT
FUNCTION_BLOCK CTU
VAR_INPUT
CU : BOOL R_TRIG;
R : BOOL;
PV : INT;
END_VAR
VAR_OUTPUT
Q : BOOL;
CV: INT;
END_VAR
IF R THEN
CV := 0;
ELSIF CU AND (CV < PV) THEN
CV := CV + 1;
END_IF;
Q := (CV >= PV);
END_FUNCTION_BLOCK
CONTADOR DECREMENTAL
CTD
BOOL
CD
BOOL
LD
INT
PV
CV
BOOL
INT
IEC1131-3 - FunctionBlockDiagram
FUNCTION_BLOCK CTD
VAR_INPUT
CD : BOOL R_TRIG;
LD : BOOL;
PV : INT;
END_VAR
VAR_OUTPUT
Q : BOOL;
CV: INT;
END_VAR
IF LD THEN
CV := PV;
ELSIF CD AND (CV > PV) THEN
CV := CV - 1;
END_IF;
Q := (CV <= 0);
END_FUNCTION_BLOCK
18
CONTADOR INCREMENTAL/DECREMENTAL
CTUD
BOOL
CU QU
BOOL
BOOL
CD QD
BOOL
BOOL
BOOL
INT
LD
PV
CV
INT
FUNCTION_BLOCK CTUD
VAR_INPUT
CU, CD : BOOL R_TRIG;
R, LD : BOOL;
PV : INT;
END_VAR
VAR_OUTPUT
QU, QD : BOOL;
CV: INT;
END_VAR
IF R THEN
CV := 0;
ELSIF LD THEN
CV := PV;
ELSIF CU AND (CV< PV) THEN
CV := CV +1;
ELSIF CD AND (CV > 0) THEN
CV := CV - 1;
END_IF;
QU := (CV >= PV);
QD := (CV <= 0);
END_FUNCTION_BLOCK
IEC1131-3 - FunctionBlockDiagram
19
Temporizadores
TEMPORIZADOR DE PULSO
IN
R_TRIG
BOOL
IN
TIME
PT
ET
PT
BOOL
Q
TIME
ET
OBS: Quando a entrada IN vai para 1, a sada Q vai para 1 e permanece neste
estado durante o tempo PT, independente do estado de IN. A sada ET ser
incrementada. Enquanto Q TRUE, o tempo decorrido ET ser
incrementado. Ao final do pulso, o tempo decorrido ser mantido at o
incio do prximo pulso.
TON
IN
BOOL
IN
TIME
PT
ET
BOOL
PT
TIME
IN
TIME
PT
ET
ET
T---0
BOOL
PT
BOOL
TIME
IEC1131-3 - FunctionBlockDiagram
20
IN
TIME
PT
ET
BOOL
TIME
PT
PT
0---T
ET
BOOL
IN
TIME
PT
ET
BOOL
TIME
IEC1131-3 - FunctionBlockDiagram
21
RUN
PDT CDT
BOOL
DATE_AND_TIME
Operao:
Inicialmente o valor inicial do real time clock deve ser feito igual data e hora
iniciais, com RUN igual a 1, sendo que:
a) O bloco est sendo executado pela primeira vez.
b) O bloco havia sido executado logo antes com RUN = 0.
Aps isso o bloco deve ser chamado com RUN = 1 e apresentar na sada CDT o
valor da data e hora correntes.
Este bloco deve ser declarado como uma varivel global.
Em geral apenas um bloco definido a menos que se deseje trabalhar com
diversos fuso horrios.
Exemplo:
CONFIGURATION SYTEM_ABC
VAR_GLOBAL
RTC_Clock1: RTC;
END_VAR
PROGRAM PROG1
VAR_EXTERNAL
RTC_CLOCK1 : RTC;
END_VAR
***
IF SetClck = True THEN
(* Inicializa relgio *)
RTC_Clock1(RUN := 0);
RTC_Clock1(RUN : =1, PDT := InputTime);
ELSE
(* Atualiza data hora correntes *)
RTC_Clock1(RUN := 1);
CurrentTime:= RTC_Clock1.CDT;
***
IEC1131-3 - FunctionBlockDiagram
22
Integral
INTEGRAL
INTEGRAL
BOOL
RUN
BOOL
R1
REAL
XIN
REAL
X0
TIME
CYCLE
Q
XOUT
BOOL
REAL
FUNCTION_BLOCK INTEGRAL
VAR_INPUT
RUN: BOOL;
(* Integra: 1, Mantm: 0)
R1: BOOL;
(* Reset *)
XIN: REAL;
(* Entrada *)
X0:REAL;
(*Valor Inicial *)
CYCLE: TIME;
(* Tempo de ciclo *)
END_VAR
VAR_OUTPUT
Q: BOOL;
(* 1 = No reset *)
XOUT: REAL;
(* Valor integrado *)
END_VAR
Q:= NOT R1;
IF R1 THEN
XOUT := X0;
ELSIF RUN THEN
XOUT := XOUT + XIN * TIME_TO_REAL(CYCLE);
END_IF;
END_FUNCTION_BLOCK
IEC1131-3 - FunctionBlockDiagram
23
Operao:
Integra o valor da entrada XIN no tempo enquanto RUN = TRUE, caso contrrio,
mantm o valor da sada.
valor de integrao pode ser igualado a um valor X0 definindo-se a entrada R1 =
true.
CYCLE define o tempo entre execues.
Q = 1 se o bloco no estiver em reset.
Utilizao:
Algoritmos PID.
Para calcular energia devemos integrar a ________________.
Para calcular o volume de um tanque devemos integrar a _________.
Derivada
DERIVADA
DERIVATIVE
BOOL
RUN
REAL
XIN
TIME
CYCLE
IEC1131-3 - FunctionBlockDiagram
XOUT
REAL
24
FUNCTION_BLOCK DERIVATIVE
VAR_INPUT
RUN: BOOL;
(* 0 = Reset *)
XIN: REAL;
(* Entrada *)
CYCLE: TIME;
(* Tempo de ciclo *)
END_VAR
VAR_OUTPUT
XOUT: REAL;
(* Valor da derivada *)
END_VAR
VAR
X1, X2, X3: REAL;
END_VAR
IF RUN THEN
XOUT := (3.0 * (XIN - X3) + (X1
TIME_TO_REAL(CYCLE));
X3 := X2; X2 := X1;
X1 := XIN;
ELSE
(* Reset *)
XOUT := 0.0; X1 := XIN;
X2 := XIN; X3 := XIN;
END_IF;
END_FUNCTION_BLOCK
X2)
(10.0
Operao:
Produz sada XOUT equivalente taxa de variao de XIN.
Se RUN = True: a derivada calculada.
Se RUN = False, a derivada zero.
Utilizao:
Algoritmos PID.
Clculo de taxa de variao da posio para obter _________.
Clculo da taxa de variao de variveis de processo para validao.
IEC1131-3 - FunctionBlockDiagram
25
Controlador PID
PID
LEGENDA:
PID
PV - Varivel de Processo
BOOL
AUTO
REAL
PV
XOUT
REAL
SP - Set Point
XOUT - Varivel manipulada
REAL
SP
REAL
X0
REAL
KP
REAL
TR
TD - Tempo Derivativo
REAL
TD
TIME
CYCLE
Mux
MODO
SP
+
X0
ERROR
d/dt
XOUT
KP
PV
Process
TR-1
TD
IEC1131-3 - FunctionBlockDiagram
26
UNCTION_BLOCK PID
VAR_INPUT
AUTO: BOOL;
(* 0 = Manual, 1 = Automtico *)
PV: REAL;
(* Varivel de Processo *)
SP: REAL;
(* Set Point *)
X0: REAL;
(* Ajuste manual de sada *)
KP: REAL;
(* Constante Proporcional *)
TR: REAL;
(* Tempo de Reset *)
TD: REAL;
(* Tempo derivativo *)
CYCLE: TIME;
(* Tempo de ciclo do bloco *)
END_VAR
VAR_OUTPUT
XOUT: REAL;
(* Valor da derivada *)
END_VAR
VAR
ERROR: REAL;
(* Erro *)
ITERM: INTEGRAL;
(* Componente Integral *)
DTERM: DERIVATIVE;
(* Componente Derivativo *)
END_VAR
(* Algoritmo PID expresso em FBD *)
PV
ERROR
SP
INTEGRAL
RUN
AUTO
R1
Q
XOUT
ITERM_XOUT >
XIN
TR
X0
CYCLE
X0
ERROR
DERIVATIVE
RUN
XOUT
DTERM_XOUT >
XIN
CYCLE
IEC1131-3 - FunctionBlockDiagram
END_FUNCTION_BLOCK
CYCLE
27
KP
ERROR
> ITERM_XOUT
XOUT
TR
> DTERM_XOUT
TD
END_FUNCTION_BLOCK
IEC1131-3 - FunctionBlockDiagram
28
Rampa
RAMPA
RAMP
BOOL
RUN
RAMP
BOOL
REAL
X0
XOUT
REAL
REAL
X1
TIME
TR
TIME
CYCLE
BOOL
HOLDBACK
REAL
ERROR
REAL
PV
XOUT
PV
X1
Banda +/- Erro
X0
TR
Rampa Congelada
Time
IEC1131-3 - FunctionBlockDiagram
29
FUNCTION_BLOCK RAMP
VAR_INPUT
RUN: BOOL;
(* 0 = Reset *)
X0: REAL;
(* Valor inicial *)
X1: REAL;
(* Valor alvo *)
TR: REAL;
(* Durao da rampa *)
CYCLE: TIME;
(* Tempo de ciclo *)
HOLDBACK: BOOL;
(* Mantm valor quando true *)
ERROR: REAL;
(* Erro para Holdback *)
PV: REAL;
(* Valor da varivel medida *)
END_VAR
VAR_OUTPUT
RAMP: BOOL;
(* 1 enquanto gera ndo rampa *)
XOUT: REAL;
(* Valor da derivada *)
END_VAR
VAR
XI: REAL;
(* Valor intermedirio da rampa *)
T: TIME := T#0s;
(* Tempo de gerao da rampa *)
END_VAR
(* Algoritmo *)
IF RUN THEN
(* Mantm sada se ABS(PV - XOUT ) > ERRO *)
IF (HOLDBACK AND ABS(PV - XOUT) < ERROR)
OR NOT HOLDBACK THEN
XOUT := X0 + (X1 - X0) * TIME_TO_REAL(T) /
TIME_TO_REAL(TR);
T:= T + CYCLE;
RAMP := TRUE;
ELSE
(* No est gerando rampa devido a Holdback *)
RAMP := FALSE;
XOUT := X0; XI := X0; T := T#0s;
END_IF;
END_FUNCTION_BLOCK
IEC1131-3 - FunctionBlockDiagram
30
Funcionamento:
Gera uma rampa de referncia em geral usada como set point de velocidade ou
temperatura de uma malha de controle.
A sada XOUT produz uma rampa que parte de um valor inicial X0 e tende a um
valor final X1 em um perodo de tempo estipulado TR.
A funo rampa ativada fazendo-se RUN = 1, caso contrrio XOUT = 0.
Se a flag HOLDBACK estiver ativada, a funo rampa ir ficar congelada
enquanto o valor da PV estiver acima de um certo valor de erro.
Isto facilita a implementao de malhas de controle onde o processo no consegue
seguir uma determinada rampa. Ao invs de deixar o erro crescer indefinidamente,
o set point mantido, at que a sada do processo consiga acompanha-la
convenientemente.
Histerese
HISTERESE
HYSTERESIS
REAL
XIN1
REAL
XIN2
REAL
EPS
BOOL
0
EPS XIN2
IEC1131-3 - FunctionBlockDiagram
EPS
XIN1
31
FUNCTION_BLOCK HYSTERESIS
VAR_INPUT
XIN1, XIN2: REAL;
EPS: REAL;
(* Banda de histerese *)
END_VAR
VAR_OUTPUT
Q: BOOL := 0;
(* Valor inicial 0 *)
END_VAR
IF Q THEN
IF XIN1 < (XIN2 - EPS) THEN
Q : = 0;
(* XIN1 diminuindo *)
END_IF
ELSEIF NIN1 > (XIN2 + EPS) THEN
Q := 1;
(* XIN1 aumentando *)
END_IF
END_FUNCTION_BLOCK
Operao:
Se a entrada XIN1 superar um nvel dado XIN2 de um valor dado por EPS, a
sada Q ir para 1. A sada s volta ao nvel 0 se XIN1 se tornar inferior a XIN2
de um valor igual ou superior a EPS.
Utilidades:
Cite duas utilidades para o bloco de histerese.
a) ___________________________________________________________
b) ___________________________________________________________
IEC1131-3 - FunctionBlockDiagram
32
Ratio Monitor
RATIO MONITOR
RATIO_MONITOR
REAL
PV1
ALARM
BOOL
REAL
PV2
TOTAL_ERR
BOOL
REAL
RATIO
TIME
TIMON
TIME
TIMOFF
REAL
TOLERANCE
BOOL
RESET
TIME
CYCLE
Comentrios:
PV1 deve estar sempre a uma razo definida por RATIO de uma outra varivel de
processo PV2. Se o valor do erro superar uma tolerncia dada, um temporizador
de alarme disparado. Se o alarme persistir por um tempo superior a TIMON, a
sada ALARM vai para 1. Um segundo temporizador disparado para garantir
que ALARM ficar em 1 por pelo menos por um tempo TIMOFF.
O erro integrado no tempo mostrado na sada TOTAL_ERR.
IEC1131-3 - FunctionBlockDiagram
33
FUNCTION_BLOCK RATIO_MONITOR
VAR_INPUT
PV1, PV2: REAL;
(* Variveis de processo *)
RATIO: REAL;
(* Razo entre PV1 e PV2 *)
TIMON: TIME;
(* Tempo antes de Alarme ser ativado *)
TIMOFF: TIME;
(* Tempo que alarme permanece ativo *)
TOLERANCE: REAL;
(* Erro absoluto aceitvel *)
RESET: BOOL;
(* 1 zera erro total *)
CYCLE: TIME;
(* Tempo de scan do bloco *)
END_VAR
VAR_OUTPUT
ALARM: BOOL := 0;
(* Erro de relao em alarme *)
TOTAL_ERR: REAL := 0; (* Erro integrado *)
END_VAR
VAR
ErrorInt: INTEGRAL;
TimerOn: TON;
TimerOff: TOF;
Erro: REAL;
END_VAR
(* Integral do erro *)
(* Temporizao de alarme em ON *)
(* Temporizao de alarme em OFF *)
Leitura Complementar:
q Bonfatti, Monari, Sampieri, IEC1131-3 Programming Methodology, CJ
International, 1997.
IEC1131-3 - FunctionBlockDiagram
34
Exerccios:
1. Escreva um bloco de funo para sintetizar a funo ou exclusivo de trs
entradas.
2. Escreva um bloco de funo para sintetizar um sensor de rotao baseado em
dois trens de pulso de entrada, gerados por sensores pticos ligados a um
codificador de rotao. O nmero de dentes do codificador (N) constitui uma
entrada do bloco de funo. O primeiro trem est defasado do segundo de 45.
O bloco deve indicar o sentido de rotao e a velocidade de rotao em
revolues/s.
3. Desenhe um deboucer de uma entrada de teclado, utilizando um bloco de
histerese.
4. Enumere as vantagens de se utilizar blocos de funo:
a)
b)
c)
d)
5. Desenhe o FCB para o comando de partida de um motor reversvel:
Um motor eltrico pode ser acionado nos dois sentidos com reverso manual
no sentido de rotao. O motor no deve entrar em funcionamento ou no
deve ser desligado, se qualquer uma das condies estiver presente:
a) Se a chave de emergncia for acionada.
b) Se a presso de leo nos mancais for igual a zero.
c) Se a temperatura da carcaa do motor for superior a 70C.
Entradas
Emergncia
Presso do leo
Temperatura de carcaa
Desliga
LigaDireita
LigaEsquerda
Sadas
MotorDireita
MotorEsquerda
Note que:
O temporizador com retardo no desligamento deve garantir que a sada
ficar energizada durante o tempo em que a entrada se encontra energizada
e ainda durante um retardo de tempo t2.
O ligamento / desligamento do motor se d via memrias biestveis.
Parar evitar que o motor que se encontra em um sentido de rotao seja
ligado em sentido contrrio, deve ser includo um intertravamento no
circuito.
O desligamento deve ser nico.
IEC1131-3 - FunctionBlockDiagram
35