Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip

Esta funcionalidade tem por objetivo, a definição de manobras, isto é, de conjuntos sequenciais de telecomandos que, normalmente, são utilizados na operação de sistemas elétricos.


Foi implementada uma janela na qual se pode definir uma nova manobra, alterar uma já definida, excluir manobras e mostrar uma manobra já cadastrada. Finalmente a janela também permite o envio de uma solicitação de execução de uma manobra já existente.


anchor

Informação

_

geral

Informação_geral Anchor_bookmark466_bookmark466Informação geral AnchorPré-RequisitosPré-Requisitos Anchor_bookmark467_bookmark467Pré‐Requisitos

Pré‐Requisitos

Importação do componente ‘Maneuver’

  1. Com o projeto aberto, vá em ‘Run’ -> ‘Extensions’ -> ‘Components’;

    1. Verifique se o diretório dos componentes está correto;

    2. Clique no botão ‘Refresh’;

  2. Selecione o componente ‘Maneuver’;

    1. Clique no botão ‘Add Component...’

    2. Selecione a opção ‘Add and merge to project’, e clique em ‘Ok’;

  3. Aguarde a importação;

  4. Vá em ‘Run’ -> ‘Build’;

    1. Selecione todas as opções disponível para o build;

    2. Clique em ‘Build...’;

Utilização de Nível(Assets) em

tags

Tags

Todas as tags Tags que forem utilizados nas funcionalidades de Manobras devem, obrigatoriamente, ter um nível (Asset) associado a elas. Para maiores informações sobre cadastro de Levels, favor referenciar "Criando Níveis (Assets)" na página 101.

anchor

Modo

_

de

_

implementação

Modo_de_implementação Anchor_bookmark468_bookmark468Modo de implementação

A funcionalidade é implementada através de uma tela (Display) do tipo Popup com o nome
@Display.ANZLAS_CmdManobraCmdManeuver.
Todo o controle e visualização é feito através de um template de nome ANZLAT_ManobrasOperation. É instanciado um objeto único @zz@ZLA_system.Maneuver Operation com este tipo.
Para a escolha de tags Tags para as Manobras foi criada uma janela @Display. ANZLAW_ChooseaTagChooseTag, do tipo Dialog.
O controle nesta janela é feito através de um template de nome ANZLAT_ChooseTag instanciado como @tag@Tag.zzZLA_systemOperation.ChooseTag.
Todo o código de Scripts está definido na forma de CodeBehind nos dois displays acima mencionados.
Todos estes objetos foram incluídos no DefaultNewProjectcomponente ‘Maneuver’.
Os dados das manobras são gravados em uma tabela de nome Manobras, residente na base de dados que tem o mesmo nome do projeto e extensão .db3 (SQlLite), e está alocada no subdiretório de projetos, . A conexão tem o nome ProjectInternal. A janela utiliza a Table ZLAT_Maneuver, e a query ZLAQ_QueryManeuver.

anchor

Utilização

_

da

_

Janela

_

de

_

Manobras

Utilização_da_Janela_de_Manobras

Anchor
_

bookmark469_bookmark469Utilização da Janela de Manobras AnchorChamada_da_JanelaChamada_da_Janela Anchor_

bookmark470
_bookmark470
Chamada da Janela

A chamada da janela de Manobras pode ser feita através de
@Display.AN_cmdManobra.Open() através do código abaixo, e tem como resultado a apresentação da janela vazia. Alternativamente pode-se fazer a chamada:

Code Block
@Display.
AN
ZLAS_
CMDMANOBRA
CmdManeuver.
NewPopup("manobra = 'NOMEMANOBRA'")
O
Open()

Alternativamente pode-se fazer a chamada seguinte, o que causa a visualização da janela de manobra e o preenchimento com os dados da manobra, se existente, de nome "NOMEMANOBRA"; , se existente, de nome "NOMEMANOBRA";

Code Block
 @Display.ZLAS_CmdManeuver.NewPopup("manobra = 'NOMEMANOBRA'")

Também se pode solicitar a visualização, e também a execução direta da manobra em seguida usando:

Code Block
@Display.
AN
ZLAS_
CMDMANOBRA
CmdManeuver.NewPopup("manobra = 'RESETCHAVES'; action='execute'")
AnchorApresentação_da_Tela_de_ManobrasApresentação_da_Tela_de_Manobras Anchor_bookmark471_bookmark471
 

Apresentação da Tela de Manobras

A Janela de Manobras é apresentada na figura abaixo, mostrando uma Manobra já existente:
Na parte superior esquerda há uma Caixa com a lista de todas as manobras cadastradas neste projeto. O nome que aparece na caixa é o nome da manobra atualmente sendo mostrada na grade de dados, existente na parte principal da janela.
Neste modo de utilização de apenas "Mostrar" os dados de manobras, todos os campos da grade com os dados são do tipo somente leitura. Não podem ser alterados.

Clicando-se na Caixa é mostrada a lista com as manobras. Se for escolhido um item da lista, clicando-se com o mouse, esta manobra terá seus dados mostrados no lugar dos dados da anterior:

Veja que foi escolhida outra Manobra e a seguir veja os dados desta outra sendo mostrados:

Na grade de manobras, cada linha corresponde a um comando a ser executado, quando a manobra é executada. Nas colunas, para cada linha, existem dados que definem como deve ser feito o comando. Estes dados são descritos a seguir:

  • Ordem – É o número de ordem sequencial dos comandos. A grade é classificada por esta coluna. Se for alterado este número as linhas se invertem para manter a ordem sequencial crescente de cima para baixo. Os números devem ser mantidos sequenciais.

•Equipamento
  • Equipamento – É o nome do

tag
  • Tag do ponto de sinalização do estado aberto / fechado do equipamento sendo comandado. Será utilizado para verificar o sucesso de uma operação de comando (veja abaixo como escolher este

tag
  • Tag).

•Comando
  • Comando – É o nome do

tag
  • Tag do ponto de comando, isto é, de ação de execução de um comando. Este será o

tag
  • Tag que será modificado para gerar o envio de um comando pelo protocolo/canal em que estiver cadastrado.

•Ação
  • Ação – Mostra o texto cadastrado no

tag
  • Tag para ser mostrado como sendo o atributo ValueAsString do ponto em tempo real (no caso de

tags
  • Tags de comandos que são utilizados em qualquer estado como com a mesma ação, o parâmetro enumerator deve ter ambos os textos iguais).

•Se
  • Se falhar - Esta coluna contém uma lista com as palavras Seguir e Cancelar. No momento de cadastrar a manobra, deve ser especificado que ação o aplicativo deve tomar em caso de um comando enviado não ter sucesso. Isto é, se após certo tempo não chegar a sinalização esperada. Cancelar deve ser utilizada se o usuário deseja cancelar a manobra em caso de falha no comando daquela linha. Seguir indicará que apesar da falha do comando da mesma linha, o aplicativo deve seguir enviando os comandos das linhas seguintes.

•Retardo
  • Retardo – Serve para definir um retardo, em segundos, antes da execução da linha em que é especificado. No caso desta última figura não está sendo usado retardo algum, pois está zero. Na primeira figura, na primeira linha está definido que somente após 10 segundos do início da execução da manobra deve ser enviado o comando da primeira linha. O comando da segunda linha somente deve ser enviado 10 s depois da sinalização com sucesso do comando da primeira linha.

•Mensagem
  • Mensagem – Neste campo pode-se definir uma mensagem de texto que será adicionada atrás da mensagem de "sumário de operação" enviada pela janela informando que foi enviado um comando por esta Manobra.

Anchor

Menu

_

de

_

Comandos

Menu_de_Comandos Anchor_bookmark472_bookmark472Menu de Comandos

Na parte superior direita da janela de Manobras há botões para a execução de tarefas de cadastramento e execução de manobras. Os itens seguintes descrevem as operações executadas na utilização de cada botão.

AnchorNovaNova

Anchor
_bookmark473
_bookmark473
Nova

O botão serve para entrar no Modo de Inclusão de uma nova manobra.
Ao ser pressionado, os dados da manobra atualmente sendo mostrada são apagados da grade;

  • O nome da manobra na caixa com a lista desaparece;

  • Aparece uma nova caixa de texto para o preenchimento do nome da nova manobra

    .

  • Aparecem, botões para incluir linhas ( + ) e para excluir linhas ( - );

  • Aparece o botão Salvar para ser utilizado ao final da entrada dos dados da manobra.

  • Na grade aparece uma primeira linha de manobra, vazia, mas já com o número de ordem 1.

A figura a seguir mostra a grade no início do Modo de Inclusão.


Para entrar os dados da janela e de cada comando deve-se:

  • Na caixa de texto deve-se entrar com o nome da manobra sendo criada. No exemplo, RESETCHAVES

  • Fazer um duplo clique com botão esquerdo do mouse na linha vazia, na coluna Equipamento: Será mostrada a Janelas de Escolha de Tags, com

    tags

    Tags que são do tipo de sinalização de estados de equipamentos.

  • Escolhe-se o

    tag

    Tag que se pretende usar clicando sobre a sua linha, e a seguir pressionando o botão Ok na parte inferior da janela.

Image RemovedImage Added

  • O texto com o nome do

    tag

    Tag será transferido para a linha antes vazia:

Image Removed Image Added
  • Repetir para a coluna Comando, clicando na célula vazia, e escolhendo na Janela de Escolha de Tags o

    tag

    Tag do comando que se deseja utilizar. Ao fechar a janela de escolha o

    tag

    Tag de comando é transferido e a ação definida como parâmetro enumerador do

    tag

    Tag é também transferida para a célula ação.

Image Removed Image Added
  • A seguir escolha a operação para a coluna "Se falhar", e defina um retardo em segundos se necessário

  • Se desejar digite o texto de uma mensagem a ser incluída junto ao registro da geração da operação de comando, que é feita pela própria janela, com a identificação do

    tag

    Tag de comando e da Manobra.

  • Se precisar definir mais um comando, após a conclusão da primeira linha, pressione o botão (plus), para que seja criada uma segunda linha vazia.

Image Removed Image Added
  • Preencha os dados do novo comando como feito na primeira linha e continue incluindo linhas e preenchendo-as até completar os passos da manobra.

  • Ao final pressione o botão Salvar, para encerrar o Modo de inclusão e gravar definitivamente a manobra. Será mostrada a Manobra e desaparecem os botões utilizados na edição. Todos os campos da Grade voltam a ficar somente leitura não podendo mais ser alterados.

  • Como mostrado na figura seguinte.

Image Removed Image Added

AnchorEditar

Editar

anchor

_bookmark474_bookmark474Editar

O botão serve para entrar no Modo de Edição de uma manobra já existente.
Neste modo pode-se alterar quaisquer campos de qualquer dos passos da manobra, incluindo a criação de novos comandos ou exclusão de comandos existentes.
O único campo que não pode ser alterado é o nome da manobra.
Ao ser pressionado o botão Editar, os dados da manobra atualmente sendo mostrada continuam na grade:

  • O nome da manobra permanece na caixa com a lista, na parte superior esquerda;

  • Aparecem, botões para incluir linhas ( + ) e para excluir linhas ( - );

  • Aparece o botão Salvar para ser utilizado ao final das alterações de dados da manobra.

  • Todos os campos da grade se tornam editáveis.

  • Para alterar conteúdos basta clicar na célula e muda-los.

  • Nos campos de Equipamento e Comando, se se desejar alteração deve-se clicar para o aparecimento da Janela de Escolha de Tags, e escolher

    tags

    Tags.

A figura a seguir mostra a grade no início do Modo de Edição:
.

  • As ações de alteração serão idênticas ao já descrito no modo de inclusão.

  • Pode-se também adicionar novas linhas com o botão (plus), e após preenche-las;

  • Pode-se excluir linhas existentes selecionando a linha e pressionando o botão (minus);

  • Ao final para o salvamento das alterações na base de dados deve-se pressionar o botão Salvar.

  • Será mostrada a Manobra e desaparecem os botões utilizados na edição. Todos os campos da Grade voltam a ficar somente leitura não podendo

    mais ser alterados.
AnchorExcluirExcluir Anchor_bookmark475_bookmark475
  • mais ser alterados.

Excluir

O botão serve para entrar no Modo de Exclusão de uma manobra já existente.
Deve-se utilizar este botão para a exclusão completa de uma manobra já existente. Primeiro deve-se escolher a manobra na Caixa Lista, na parte superior esquerda da janela.
Uma vez sendo mostrada a manobra na grade pode-se solicitar sua exclusão, pressionando este botão Excluir.

  • Aparece então uma mensagem, pedindo confirmação da exclusão.

  • Pressionando-se o botão Sim, a manobra será excluída, e os dados mostrados da manobra serão apagados.

  • Pressionando-se o botão Não, será cancelada a exclusão.

Image Removed

AnchorExecutarImage Added

Executar

anchor

_bookmark476_bookmark476Executar

O botão serve para entrar no Modo de Execução de uma manobra já existente. Deve-se utilizar este botão para disparar a Execução de uma manobra existente.
Primeiro deve-se escolher a manobra na Caixa Lista, na parte superior esquerda da janela. A manobra a ser executada é a que aparece na grade.

Critérios_para_verificações_de_sinalizaç Anchor_bookmark477_bookmark477
  • Ao pressionar o botão Executar a execução da manobra é iniciada, a partir da primeira linha.

  • Inicialmente é respeitado o Retardo, em segundos, definido na linha;

  • Em seguida é verificado se há algum bloqueio para este comando. Se houver bloqueio o comando não será executado e o definido em Se Falhar será realizado: Seguir ou Cancelar a Manobra;

  • Se o comando pode ser executado, é feita a alteração no estado do tag definido na coluna Comando da mesma linha, e a cor de fundo da linha é alterada para amarelo claro.

  • A janela aguarda a sinalização decorrente do comando. Se vier corretamente, a cor de fundo da linha é alterada para verde claro.

  • Se a sinalização não vier dentro de um tempo de Timeout (por default 20s), a cor de fundo é passada para vermelho, para indicar falha. Um log de operação será enviado para eventos com o ocorrido.

  • Se houver falha de comando, o definido em Se Falhar será realizado: Seguir ou Cancelar;

  • A execução passa para a segunda linha, sendo repetidos

    os passos acima citados.
  • E a execução continua até a última linha.
AnchorCritérios_para_verificações_de_sinalizaç
  • os passos acima citados.

  • E a execução continua até a última linha.

Critérios para verificações de sinalizações e bloqueios

anchor

Verificação

_

de

_

Sinalização

Verificação_de_Sinalização Anchor_bookmark478_bookmark478Verificação de Sinalização

O critério utilizado é verificar se as duas primeiras letras do ValueAsString ‘ValueAsString’ da tag Tag de comando, após alterada pela ação de comando, é igual as duas primeiras letras do ValueAsString ‘ValueAsString’ da tag Tag de sinalização.
Portanto ao se configurar a base de dados deve-se levar em consideração este critério para a utilização da Janela de Manobras default.
Exemplo:

  • Seja o

    tag

    Tag de sinalização: Chave_8.STA.POS definida com os estados 0=Aberta; 1 = Fechada

  • Seja o

    tag

    Tag de comando: Chave_8.CMD.CMA com os estados 0=Abrir; 1=Abrir;

Após enviado o comando "Abrir", pela alteração do tag Tag de comando, a sinalização estará correta quando o tag Tag Chabe_8.STA.POS tiver seu estado com ValueAsString ‘ValueAsString’ = Aberta;
Somente as duas primeiras letras são testadas.

AnchorVerificação_de_BloqueiosVerificação_de_Bloqueios

Anchor
_bookmark479
_bookmark479
Verificação de Bloqueios

Para que seja feita a verificação de bloqueios de intertravamentoInter travamento, deve-se configurar na tag Tag @Tag.zzZLA_systemOperation.Maneuver.tagForCmdBlocking, em seu atributo StartValue o texto da parte final do nome da tag Tag que contém, a informação de bloqueio.
Para a verificação de bloqueio será procurada uma tagTag, com a mesma parte inicial do nome, isto é, do mesmo template em que está a tag Tag de sinalização, e com a parte final igual ao definido nesta configuração. Será considerado bloqueio se o Value desta tag for 1;

AnchorMensagens_de_Eventos_de_ExecuçãoMensagens_de_Eventos_de_Execução Anchor_bookmark480_bookmark480

‘Value’ desta Tag for 1;

Mensagens de Eventos de Execução

Como resultado da funcionalidade de Janela de Manobras são enviadas mensagens de operação para a lista de eventos.

Image Added

Image Removed Na figura a seguir todos os comandos foram sinalizados corretamente.
No caso de verificação de que um determinado Comando está bloqueado para execução, por exemplo por um impedimento, é enviada mensagem com os dizeres:
COMANDO NÂO EXECUTADO - BLOQUEIO
Caso haja falha de sinalização a mensagem enviada incluirá:
CANCELADA - Falhou Sinalização de comando (em caso de Se Falhar é Cancelar)
CONTINUA - Falhou Sinalização de comando (em caso de Se Falhar é Seguir)

anchor

Configurações

Configurações Anchor_bookmark481_bookmark481Configurações

As seguintes configurações devem ser feitas para o correto funcionamento da janela de manobras.

AnchorTime-out_de_Sinalização_de_ComandoTime-out_de_Sinalização_de_Comando Anchor_bookmark482_bookmark482

da janela de manobras.

Time‐out de Sinalização de Comando

Tempo máximo em segundos de espera por uma sinalização, após enviado um comando. Se a sinalização correta não chegar o comando é considerado com falha. Por default 20s.
Configurar em
@Tag.zzZLA_systemOperation.Maneuver.timeout.StartValue

anchor

Tag

_

para

_

Verificação

_

de

_

bloqueios

Tag_para_Verificação_de_bloqueios Anchor_bookmark483_bookmark483Tag para Verificação de bloqueios

Deve ser configurada configurado o texto da parte final do nome da tag Tag de bloqueio (intertravamento Inter travamento ou impedimento) na tagTag:
@Tag.zzZLA_systemOperation.Maneuver.tagForCmdBlocking.StartValue
Para a verificação de bloqueio será procurada uma tagTag, com a mesma parte inicial do nome que a tag Tag de sinalização, e com a parte final igual ao definido nesta configuração.

Code Block
Ex: tag de comando @tag
Exemplo: 
Tag de comando: @Tag.Chave_13.CMD.CMA
Texto do tagForCmdBlocking: .STA.BLF
Será testado o
valor de uma tag com o nome:
@tag.Chave_13.STA.BLF AnchorDefinições_de_finais_de_nomes_para_JanelDefinições_de_finais_de_nomes_para_Janel Anchor_bookmark484_bookmark484
 valor de uma Tag com o nome:@Tag.Chave_13.STA.BLF 

Definições de finais de nomes para Janela de Escolha de Tags

Para que a Janela de Escolha de Tags não fique muito cheia quando é aberta e com tags Tags de pontos que não são do tipo procurado, o chamador passa a informação se deve mostrar tags Tags de comando ou tags Tags de sinalização.
Conforme este parâmetro a lista mostrada janela será carregada com tags Tags cuja parte final do nome seja igual a uma das descritas nos tags Tags de configuração a seguir mostrados.

Finais para Tags de Comandos

Devem ser configurados até 6 partes finais de tags Tags de comando, separados por ponto e virgulas ( ; ) na tagTag:
@Tag.zzZLA_systemOperation.ChooseTag.txtSuffixCmdNames.StartValues
Exemplo:
CMA;CMF;_L;_D

Finais para Tags de Sinalização

Devem ser configurados até 6 partes finais de tags Tags de sinalização, separados por ponto e virgulas ( ; ) na tagTag:
@Tag.zzZLA_systemOperation.ChooseTag.txtSuffixEquipNames.StartValues
Exemplo:
.POS;R79

Scroll ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmltrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue

Nesta página:

12false