<< Clique para Mostrar o Sumário >>
Desafio VI |
DICA |
Utilize o padrão *TapPosition, que é padronizado no Elipse Power. |
Este Comando serve para ajustar o Tap do Transformador, que é representado pela Medida PosicaoTap. Portanto, primeiramente é necessário configurar esta Medida.
1.Selecione a Medida PosicaoTap do Transformador TR-01 e apague a fonte de medida SCADA.
2.Selecione a fonte Operator desta Medida e configure o valor inicial como 8 (oito).
Fonte do tipo Operator
3.Feito isto, insira a pasta Commands no Transformador e, dentro desta pasta, crie um Comando de Passo.
4.Renomeie o Comando para "cmdTapPosition" e configure o tipo como *TapPosition na coluna Tipo.
5.Expanda o Comando e renomeie a UnidadeComando1 para "DesceTap". Verifique se a propriedade CommandName desta Unidade está configurada como StepDown.
6.Renomeie a UnidadeComando2 para "SobeTap". Verifique se a propriedade CommandName desta Unidade está configurada como StepUp.
Unidade de Comando
7.Na coluna Tag, associe com a fonte Operator da Medida TapPosition com a expressão "SE1.[TR-01].Terminal1.PosicaoTap.Operator", utilizando o AppBrowser. A expressão é a mesma para ambas as Unidades.
Tag
Até agora, todos os comandos enviavam valores fixos para o Tag associado. No caso do controle de Tap é um pouco diferente, pois precisamos saber o valor atual da Medida, para poder incrementá-la ou decrementá-la. Portanto, é necessário reconfigurar o padrão de comando *TapPosition.
8.Abra a janela de configurações do padrão *TapPosition na aba Comandos do objeto Configuração do Power.
9.Configure a coluna Operate Value com o valor -1 (menos um) para a Semântica StepDown.
10.Mantenha o valor 1 (um) para a Semântica StepUp.
Semânticas
11.Altere o script do evento OnOperate. Ao invés de apenas enviar o comando WriteValue, vamos somá-lo ao valor atual do Tag. O script deve ficar da seguinte forma (a parte destacada em negrito deve ser adicionada ao script original).
Sub OnOperate(ActorID, WriteValue, FeedbackValue, Failed)
Set Tag = Application.GetObject(OperateWriteTag)
Failed = Not Tag.WriteEx(Tag.Value + WriteValue)
End Sub
12.Execute a aplicação e teste a nova funcionalidade.