Sinalização de Comandos
Descrição
Normalmente quando um comando é enviado, tem por finalidade alterar o estado de um equipamento conectado a um IED.
Por exemplo: Executa-se, no Action.NET, a alteração do estado de um tag que está endereçado para enviar uma mensagem de comando, para DESLIGAR um disjuntor e este comando é enviado. Espera-se que um outro tag, que recebe por aquisição de dados o estado do disjuntor, se altere e passe a conter o estado representativo de disjuntor desligado.
A funcionalidade deverá verificar, se dentro de um tempo previsto, houve a alteração de estado do disjuntor, para o estado esperado.
Para que seja feita esta verificação, o sistema Action.NET necessita ser informado, de que tag conterá a sinalização, o estado que é esperado, e o tempo aceitável para a chegada da informação, a partir do envio do comando.
Configuração da funcionalidade
Classe SignallingCommand
A classe está disponível no DefaultNewProject e contém o método descrito a seguir:
Método SendCmd - Este é o único método que necessita ser chamado pelo usuário nas janelas de comando.
public void SendCmd(string outTag, string inTag, int oper, int resultVal,int timeout, uint password
, string resultTag=””)
Objetivo:
Monta um string com os parâmetros para que com eles a task SendCommands possa fazer o envio correto do comando.
Onde:
outTag – Nome do tag de saída. Ex: Tag.TagOff
inTag - Nome do tag em sinalizará o comando. EX: Tag.Disj
oper – Operação a ser feita no tag da saída, com os códigos:
0-Toggle;
1-Latch one;
2-Latch zero;
3-Pulse on;
4-Pulse Off
resultVal – Estado esperado para o tag de sinalização.
timeout – Tempo máximo em seg. para a confirmação da sinalização.
password – Password para comandos, definida na configuração do canal
resultTag – Nome de um tag para receber o resultado da verificação: 0=Sucesso; 1=Falha
Utilização dos Protocolos Mestres
Para se utilizar a funcionalidade de Verificação de Sinalização de Comandos por meio dos protocolos, bastará fazer rotinas de script (code behind) para alteração dos tags de saída como tem sido feito até esta versão. Por exemplo toggle do Valor. De fato, não é preciso alterar nada destas rotinas ou Ações já existentes.
Apenas será necessário que se faça a configuração na tabela POINTS de novas entradas específicas para definir a Sinalização de Comandos, para cada um destes protocolos. Estão disponíveis estas configurações para os protocolos DNP3, IEC104 e IEC61850 nos modos Mestres. Para informações sobre estas configurações refira-se ao manual do protocolo apropriado.
Mensagens de Eventos
Como resultado da funcionalidade de Sinalização de Comandos, os próprios métodos geram ou alteram as mensagens de indicação de falha ou sucesso de comando.
Caso de Sucesso
A figura a seguir mostra um caso de sucesso na sinalização de comando.
A mensagem "COMANDO LIGAR" é gerada dentro da Janela de Comando An_Cmd_Disj, ao enviar o comando ao ser pressionado botão de envio de comando. Se a sinalização esperada chegar normalmente dentro do tempo esperado, o tag de sinalização receberá em em seu atributo PrefixAlarmMessage a sigla **SCM{}, Este atributo é colocado na próxima mensagem de alarme gerada pela alteração do estado do disjuntor.
Caso Sem Sucesso
A figura a seguir mostra um caso de NÃO sucesso na sinalização de comando.
Nesta figura são mostradas as mensagens no caso de um comando sem sucesso. Isto é, o estado esperado dentro do tempo previsto, para a tag de sinalização não chegou. De dentro da classe AN_Commands, é gerada a mensagem indicando , o tag de saída, e na parte de mensagem a indicação COMANDO SEM SUCESSO e a tag em que era esperada a sinalização.
Configuração
A sigla **SCM** é utilizada por default, prefixando o alarme de alteração do estado do tag de sinalização do estado da chave. Caso se desejar outra sigla basta colocar o texto preferido no atributo StartValue da tag do tipo texto: zz_system.PrefixForCommandSignal.StartValue.