
Tutorial sobre Mensagens Personalizadas¶
O exemplo apresentado ilustra a utilização das mensagens personalizadas pelo usuário, e podem ser reproduzidos pelo usuário com a utilização do modo ANAC.
Utilização do bloco ALERTA
Inicialmente, podemos definir um controlador de CDU que utiliza o Bloco ALERTA, como o trecho a seguir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | DCDU
(----------------------------------------------------------------------
(ncdu) ( nome cdu )
1 Bloco_Alerta
(----------------------------------------------------------------------
(EFPAR (npar) ( valpar )
DEFPAR #LMAX 0.5
DEFPAR #LMIN -0.5
DEFPAR #T 1.0
(----------------------------------------------------------------------
(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
0001 ENTRAD V
0002 LDLAG2 V Y4 1.0 0.05 1.0#T LMIN LMAX
0003 SAIDA Y4
0010 ENTRAD MAX
0011 COMPAR .EQ. MAX Y4MAX
Y4 Y4MAX
0012 ALERTA Y4max 1 2
0013 ALERTA Y4max 0 0
0020 ENTRAD MIN
0021 COMPAR .EQ. MIN Y4MIN
Y4 Y4MIN
0022 ALERTA Y4min 11 12
0023 ALERTA Y4min 0 0
0032 ALERTA Y4max 1
0033 ALERTA Y4max 2
(----------------------------------------------------------------------
(DEFVA (stip) (vdef) ( d1 )
DEFVAL V 0.0
DEFVAL MAX #LMAX
DEFVAL MIN #LMIN
DEFVAL LMAX #LMAX
DEFVAL LMIN #LMIN
(
FIMCDU
999999
|
Note que nesse exemplo há a definição de 6 blocos alerta, onde estão demonstrados o uso de mensagens personalizadas (P1 ou P2 maiores que 0), o uso de mensagem default (P1 ou P2 iguais a 0) e a desabilitação da detecção (P1 ou P2 não preenchidos):
(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax) 0012 ALERTA Y4max 1 2 0013 ALERTA Y4max 0 0 0022 ALERTA Y4min 11 12 0023 ALERTA Y4min 0 0 0032 ALERTA Y4max 1 0033 ALERTA Y4max 2
Esses blocos requerem que as mensagens 1, 2, 11 e 12 sejam definidas em código DMSG. Contudo, não é necessário que essas mensagens tenham sido definidas antes da declaração no DCDU.
Os blocos 12 e 22 monitorarão os sinas Y4MAX e Y4MIN e utilizarão as mensagens definidas pelo usuário. Os blocos 13 e 23 farão função semelhante, mas utilizando a mensagem padrão.
Os blocos 32 e 33 monitorarão a variável Y4MAX, mas terão cada um uma lógica desabilitada individualmente. Juntos, esses dois blocos possuem a mesma função do bloco 12.
Definição de Mensagens Personalizadas
A definição das mensagens é feita pelo código DMSG, onde são definidas a mensagem propriamente dita e o identificador desta mensagem. É permitido ainda o uso de Expressões Coringas, para substituir trechos da mensagem por informações pertinentes à localização do bloco.
1 2 3 4 5 6 7 | DMSG
(Lc) ( Numero da mensagem )
0001 Variável %vent% atingiu o limite superior (bloco: %nb%, CDU: %nome_do_cdu% /nº: %ncdu% )
0002 Variável %vent% deixou de atingir o limite superior
0011 Variável %vent% atingiu o limite inferior (bloco: %nb%, CDU: %nome_do_cdu% /nº: %ncdu% )
0012 Variável %vent% deixou de atingir o limite inferior
999999
|
Os blocos 13 e 23 utilizarão a mensagem padrão, por terem seus parâmetros P1 e P2 iguais a 0. Nesse caso, a seguinte mensagem será utilizada:
ALERTA: Detectada transição %trns% em %vent% no bloco %nb% do CDU %nome_do_cdu% de número %ncdu%.
Simulação
Para avaliar o CDU de número 1, serão utilizados alguns eventos para mudança de referência na entrada (bloco 1), e então será observada a saída do bloco 2. Esse valor é comparado com os limites mínimo (YMIN) e máximo (YMAX).
O seguinte trecho ilustra os eventos a serem aplicados ao controle:
1 2 3 4 5 6 | DEVT IMPR
(Tp) ( Tempo)( El )( Pa)Nc( Ex) ( % ) (ABS ) Gr Und (Bl)P ( Rc ) ( Xc ) ( Bc ) (Defas)
TCDU 1.0 1 1.0 1
TCDU 5.0 1 -2.0 1
TCDU 9.0 1 1.0 1
999999
|
A seguinte resposta do bloco 2 pode ser observada:
A partir da resposta dinâmica da figura anterior, diversas mensagens são emitidas. Vamos analisá-las por partes.
T= 1.0000s TCDU - Variação de 0.00% + absoluta de 1.000 na
variável V - CDU 1 Bloco_Alerta
Neste primeiro treco, temos a mensagem relativa a aplicação do primeiro evento.
T= 1.6500s Variável Y4MAX atingiu o limite superior (bloco: 12, CDU: Bloco_Alerta /nº: 1 )
T= 1.6500s ALERTA: Detectada transição 0 -> 1 em Y4MAX no bloco 13 do CDU Bloco_Alerta de número 1.
T= 1.6500s Variável Y4MAX atingiu o limite superior (bloco: 32, CDU: Bloco_Alerta /nº: 1 )
Neste segundo trecho, temos a mensagem de três blocos (12, 13 e 32) relativas à variável Y4 ter alcançado o limite superior. Para o bloco 12 e 32, as mensagens emitidas seguem o definido na mensagem de número 1. Para o bloco 13, a mensagem segue a mensagem padrão do programa.
Dica
Utilize as expressões coringas para a correta identificação do bloco que emitirá a mensagem. Isso ajudará no entendimento do caso.
T= 5.0000s TCDU - Variação de 0.00% + absoluta de -2.000 na
variável V - CDU 1 Bloco_Alerta
T= 5.0100s Variável Y4MAX deixou de atingir o limite superior
T= 5.0100s ALERTA: Detectada transição 1 -> 0 em Y4MAX no bloco 13 do CDU Bloco_Alerta de número 1.
T= 5.0100s Variável Y4MAX deixou de atingir o limite superior
Neste terceiro trecho, existe a aplicação do segundo evento e então a atuação do parâmetro P2 de três blocos: (12, 22 e 33). Note que, em função da mensagem personalizada não ter utilizado mais expressões de identificação, não é possível identificar os blocos que emitiram duas das mensagens. Essa mensagens iguais são referentes aos blocos 12 e 33. Note ainda que em função do parâmetro P2 do bloco 32 estar em branco, não houve emissão de mensagem por este bloco.
T= 6.0500s Variável Y4MIN atingiu o limite inferior (bloco: 22, CDU: Bloco_Alerta /nº: 1 )
T= 6.0500s ALERTA: Detectada transição 0 -> 1 em Y4MIN no bloco 23 do CDU Bloco_Alerta de número 1.
Neste quarto trecho, apenas dois blocos estão monitorando o valor Y4MIN (bloco 22 e 23). O primeiro emite uma mensagem personalizada enquanto que o segundo emite uma mensagem padrão.
T= 9.0000s TCDU - Variação de 0.00% + absoluta de 1.000 na
variável V - CDU 1 Bloco_Alerta
T= 9.0100s Variável Y4MIN deixou de atingir o limite inferior
T= 9.0100s ALERTA: Detectada transição 1 -> 0 em Y4MIN no bloco 23 do CDU Bloco_Alerta de número 1.
Neste último trecho, existe a aplicação do terceiro evento e da ativação da mensagem definida no parâmetro P2 dos blocos 22 e 23.