Você está na página 1de 52

Manual

HP Extensions
Manual do Usuário da
Biblioteca HighPerformance
Extensions

Copyright © 2014-2023 Elipse Software Ltda. Todos os direitos reservados.


Versão 2.5.74 (07/06/2023)
Sumário
1 Introdução ................................................................................................................................................... 1
2 Instalação em uma Aplicação ................................................................................................................... 2
3 Objetos ........................................................................................................................................................ 3
3.1 Biblioteca hpXForms ............................................................................................................................ 3
3.2 Biblioteca hpXDisplayMedia ............................................................................................................... 5
3.3 Biblioteca hpXControls ...................................................................................................................... 12
3.4 Biblioteca hpXView ............................................................................................................................ 19
4 Tela Faceplate ........................................................................................................................................... 39
4.1 Estrutura de Dados ............................................................................................................................ 39
4.2 Geração de Código XML .................................................................................................................... 39
4.3 Configuração de Estilo ....................................................................................................................... 40
4.4 Configuração de Abas ........................................................................................................................ 45
4.5 Valores Passados à Tela ..................................................................................................................... 46
4.6 Formatação de Símbolos Gráficos ................................................................................................... 46
4.7 Uso com Objetos do Elipse Power .................................................................................................... 47
4.8 Configurando o Viewer ...................................................................................................................... 48
4.9 Abrindo a Tela Faceplate pela Primeira Vez .................................................................................... 48

I
CAPÍTULO
Introdução
1
Este documento contém informações necessárias para entender o funcionamento de um conjunto de bibliotecas que
são uma extensão à Biblioteca HighPerformance Template.

O objetivo desta extensão é permitir utilizar e extrair, da melhor forma possível, os dados de uma aplicação Elipse E3
modelados utilizando a Biblioteca PlantModel, porém utilizando os mesmos moldes e conceitos da Biblioteca
HighPerformance Template.

A Biblioteca PlantModel permite realizar uma modelagem de um processo de supervisão e controle através de
objetos padronizados, tais como Medidas Analógicas, Medidas Discretas, Parâmetros, Comandos e Intertravamentos.
Saiba mais sobre esta biblioteca consultando o Manual do Usuário da Biblioteca PlantModel.

A Biblioteca HighPerformance Extensions, por sua vez, permite exibir e interagir com a Biblioteca PlantModel de
diversas formas, organizadas no grupo de arquivos descritos na tabela a seguir.

Grupos de arquivos da Biblioteca HighPerformance Extensions

GRUPO ARQUIVO DESCRIÇÃO


Comandos hpXForms.lib Objetos de comando

Visualização de Dados hpXDisplayMedia.lib Bargraphs, Displays e Setpoints

Visualização de Dados hpXControls.lib Templates para Telas de Faceplate,


indicadores de bloqueio e proteções

Objetos de Apoio hpXView.lib Objetos que dão suporte a funções


do Viewer, tais como a Tela Faceplate

Projeto hpXMain.prj Contém as instâncias dos objetos


FaceplateTemplate

Introdução 1
CAPÍTULO
Instalação em uma Aplicação
2
Para usar a Biblioteca HighPerformance Extensions, adicione ao Domínio o arquivo extensions.e3pkg, disponível na
pasta Packages da distribuição. Caso prefira adicionar os arquivos individualmente, copie a pasta Extensions com
todas as pastas e arquivos para a pasta raiz da aplicação. Em seguida, no Studio, insira no Domínio todos os
arquivos de biblioteca (.lib) e projetos (.prj) que estão nas pastas XLibraries e XProjects, respectivamente. Os
arquivos de bibliotecas e projetos da Biblioteca HighPerformance Extensions sempre utilizam o prefixo hpX, para
que possam ser facilmente diferenciados dos objetos da aplicação.

2 Instalação em uma Aplicação


CAPÍTULO
Objetos
3
Esta seção contém informações sobre os objetos da Biblioteca HighPerformance Extensions.

3.1 Biblioteca hpXForms


Esta seção contém informações sobre os objetos da Biblioteca hpXForms.

3.1.1 hpXCommandButton
Permite realizar o envio de comandos em objetos do tipo xfCommandUnit. Este objeto realiza as verificações de
permissão sobre o objeto e possui comportamentos diferentes, dependendo do tipo de comando configurado para o
objeto xfCommandUnit associado. Este objeto possui um retângulo vertical ao lado direito, que indica os estados de
intertravamento e de feedback.

O estado Interlocked é recuperado automaticamente do objeto xfCommandUnit, indicando que existe alguma
situação de processo que pode bloquear o comando. Se o estado Interlocked está ativo, o efetivo bloqueio do
comando acontece dependendo da propriedade InterlockMode do objeto xfCommandUnit, que pode ser 0: Não
bloqueia, 1: Avisa ou 2: Bloqueia.

O estado Feedback, que tem uso opcional, é obtido de um estado digital (xfDiscreteInfo) que indica o retorno do
comando. Pode indicar os estados ativo (ColorStatusOn), inativo (ColorStatusOff) e inválido (ColorStatusInvalid) e
pode ser invertido a partir da propriedade InverseFeedBack.

A indicação de intertravamento possui prioridade sobre a indicação de feedback.

Clicar neste objeto realiza as ações a seguir.

1. Verifica se o comando está autorizado, ou seja, se o grupo do usuário pertence à lista de grupos autorizados do
comando ou nível mais alto (PlantFolder).

2. Verifica se o comando está bloqueado devido a algum intertravamento.

3. Se houver confirmação e assinatura eletrônica, realiza a solicitação e verificação.

O resultado, seja sucesso ou falha, é logado no objeto xoLogger da Biblioteca PlantModel, que deve estar
instanciado como Logger.LogSvc, com os parâmetros a seguir no array de entrada.

· Elemento 0: "xfCommandUnit"

· Elemento 1: Propriedade PathName do objeto que gerou o comando

· Elemento 2: Nome do usuário que solicitou o comando

· Elemento 3: Resultado da operação. Os valores possíveis são 0: OK, 1: Falha, 2: Não autorizado ou 3: Bloqueado

· Elemento 4: Nome do computador de onde o comando foi enviado

· Elemento 5: Valor solicitado

· Elemento 6: Horário

· Elemento 7: Comentários ou observações

Objetos 3
Propriedades do objeto hpXCommandButton

PROPRIEDADE DESCRIÇÃO
CmdObject Associação para um objeto xfCommandUnit

EnableClick Habilita este objeto a responder ao clique do mouse

EnableTranslation Habilita a tradução deste objeto

FeedbackObject Associação opcional para um objeto xfDiscreteInfo com


o retorno do comando

InverseFeedBack Indica se o status do objeto indicado na propriedade


FeedbackObject é invertido

Label Define o texto para identificação deste objeto

StatusEnabled Define o status de disponibilidade deste objeto. Os


valores possíveis para esta propriedade são True:
Habilitado ou False: Desabilitado

StatusInterlocked Define o status de intertravamento deste objeto. Os


valores possíveis para esta propriedade são True:
Intertravado ou False: Não intertravado

3.1.2 hpXPowerCommandButton
Permite realizar o envio de comandos em objetos do tipo PowerCommandUnit. O estado Interlocked é recuperado
automaticamente do objeto xfCommandUnit, indicando que existe alguma situação de processo que pode bloquear
o comando. Se o estado Interlocked está ativo, o efetivo bloqueio do comando acontece.

Clicar neste objeto realiza as ações a seguir.

1. Verifica se há um usuário autenticado na aplicação.

2. Verifica se o comando está bloqueado.

3. Se houver um usuário autenticado e o comando está liberado, realiza a solicitação.

Propriedades do objeto hpXPowerCommandButton

PROPRIEDADE DESCRIÇÃO
CmdObject Associação para um objeto PowerCommandUnit

EnableClick Habilita este objeto a responder ao clique do mouse

EnableTranslation Habilita a tradução deste objeto

Label Define o texto para identificação deste objeto

StatusEnabled Define o status de disponibilidade deste objeto. Os


valores possíveis para esta propriedade são True:
Habilitado ou False: Desabilitado

StatusInterlocked Define o status de intertravamento deste objeto. Os


valores possíveis para esta propriedade são True:
Intertravado ou False: Não intertravado

4 Objetos
3.2 Biblioteca hpXDisplayMedia
Esta seção contém informações sobre os objetos da Biblioteca hpXDisplayMedia.

3.2.1 hpXBarGraphAlarmLimHoriz
O objeto hpXBarGraphAlarmLimHoriz é um gráfico de barras horizontal que apresenta os limites de alarmes na
forma de bandeiras ou flags sobrepostos à barra indicadora de valor, e deve estar associado a um objeto do tipo
xfAnalogInfo para o valor e outro para o setpoint.

As formas de exibição são bastante semelhantes ao objeto hpBarGraphAlarmLimHorizontal da Biblioteca


HighPerformance Template, com as seguintes diferenças:

· Os limites são obtidos das propriedades EURangeHigh e EURangeLow do objeto xfAnalogInfo

· A unidade de engenharia é obtida da propriedade EU do objeto xfAnalogInfo

· O nome do Tag é obtido da propriedade Name do objeto xfAnalogInfo

· A formatação é obtida da propriedade Format do objeto xfAnalogInfo

Propriedades do objeto hpXBarGraphAlarmLimHoriz

PROPRIEDADE DESCRIÇÃO
AlarmSource Associação para um objeto Fonte de Alarme Analógico

AnalogInfo Associação para um objeto xfAnalogInfo com o valor


corrente

AnalogInfoSP Associação para um objeto xfAnalogInfo ou


xfParameter com o valor de setpoint

Domain Nome do Domínio Remoto, se houver, no formato


DOMAIN:

EnableClick Permite que este objeto responda a um evento de clique


do mouse incrementando o valor da propriedade
EventClick

EventClick Incrementa o valor de 1 (um) a 9 (nove) quando este


objeto recebe um evento de clique com o botão
esquerdo do mouse. Esta propriedade é válida somente
quando a propriedade EnableClick é igual a True

HideSPLegend Alterna a visibilidade da legenda. Os valores possíveis


para esta propriedade são True: Oculta a legenda ou
False: Exibe a legenda

PlantFolder Associação para um objeto xfPlantFolder que é


repassado como parâmetro para a Tela a ser aberta

popName Tela a ser aberta, como por exemplo "Faceplate?100?0"

popTemplate Template com a formatação visual do objeto


hpPopUpTemplate

Objetos 5
PROPRIEDADE DESCRIÇÃO
ShowFaceplate Habilita a funcionalidade de link para este objeto. Os
valores possíveis para esta propriedade são True:
Permite abrir a Tela especificada na propriedade
popName com o clique do mouse ou False: Desativa a
funcionalidade de link

ShowFrame Exibe ou oculta uma moldura ao redor do objeto

ShowSPIndicator Exibe ou oculta o indicador de setpoint

ShowTag Exibe ou não a propriedade Name do objeto


xfAnalogInfo

ShowTagObj Associação a um objeto do tipo Tag Interno, que


permite controlar globalmente a exibição do nome do
objeto xfAnalogInfo

Size Tamanho do objeto, em porcentagem

TextWidth Largura do texto, em Himetric

UseXChartColor Habilita ou desabilita a configuração manual da cor da


barra, independente do tema, definida na propriedade
XChartColor

XChartColor Cor usada pela barra quando a propriedade


UseXChartColor está configurada com o valor
Verdadeiro, no formato numérico

3.2.2 hpXBarGraphAlarmLimVert
O objeto hpXBarGraphAlarmLimVert é um gráfico de barras vertical que apresenta os limites de alarmes na forma
de bandeiras ou flags sobrepostos à barra indicadora de valor, e deve estar associado a um objeto do tipo
xfAnalogInfo para o valor e outro para o setpoint.

As formas de exibição são bastante semelhantes ao objeto hpBarGraphAlarmLimVertical, com as mesmas diferenças
listadas para o objeto hpXBarGraphAlarmLimHoriz.

Propriedades do objeto hpXBarGraphAlarmLimVert

PROPRIEDADE DESCRIÇÃO
AlarmSource Associação para o objeto Fonte de Alarme Analógico

AnalogInfo Associação para o objeto xfAnalogInfo com o valor


corrente

AnalogInfoSP Associação para o objeto xfAnalogInfo ou xfParameter


com o valor de setpoint

Domain Nome do Domínio remoto, se houver, no formato


DOMAIN:

EnableClick Permite que este objeto responda a um evento de clique


do mouse incrementando o valor da propriedade
EventClick

6 Objetos
PROPRIEDADE DESCRIÇÃO
EventClick Incrementa o valor de 1 (um) a 9 (nove) quando este
objeto recebe um evento de clique com o botão
esquerdo do mouse. Esta propriedade é válida somente
quando a propriedade EnableClick é igual a True

HideSPLegend Alterna a visibilidade da legenda. Os valores possíveis


para esta propriedade são True: Oculta a legenda ou
False: Exibe a legenda

PlantFolder Associação para um objeto xfPlantFolder que é


repassado como parâmetro para a Tela a ser aberta

popName Tela a ser aberta, como por exemplo "Faceplate?100?0"

popTemplate Template com a formatação visual do objeto


hpPopUpTemplate

ShowCaption Exibe ou oculta a propriedade Caption do objeto


xfAnalogInfo

ShowDisplayBox Alterna a visibilidade de uma caixa ao redor do Display.


Os valores possíveis para esta propriedade são True:
Exibe a caixa ou False: Oculta a caixa

ShowFaceplate Habilita a funcionalidade de link para este objeto. Os


valores possíveis para esta propriedade são True:
Permite abrir a Tela especificada na propriedade
popName com o clique do mouse ou False: Desativa a
funcionalidade de link

ShowLegend Alterna a visibilidade dos limites da escala (UE). Os


valores possíveis para esta propriedade são True: Exibe
os limites ou False: Oculta os limites

ShowLegendAlarm Alterna a visibilidade dos limites de alarme. Os valores


possíveis para esta propriedade são True: Exibe os
limites ou False: Oculta os limites

ShowSPIndicator Exibe ou oculta o indicador de setpoint

ShowTag Exibe ou oculta a propriedade Name do objeto


xfAnalogInfo

ShowTagObj Associação a um objeto do tipo Tag Interno, que


permite controlar globalmente a exibição do nome do
objeto xfAnalogInfo

ShowTagVertical Exibe o Tag na posição vertical

Size Tamanho do objeto, em porcentagem

TextWidth Largura do texto, em Himetric

UseXChartColor Habilita ou desabilita a configuração manual da cor da


barra, independente do tema, definida na propriedade
XChartColor

Objetos 7
PROPRIEDADE DESCRIÇÃO
XChartColor Cor usada pela barra quando a propriedade
UseXChartColor está configurada com o valor
Verdadeiro, no formato numérico

3.2.3 hpXDigitalDisplay
O objeto hpXDigitalDisplay é um indicador para variáveis digitais associado a um objeto xfDiscreteInfo, e exibe os
estados Ligado (On), Desligado (Off) ou Qualidade ruim (Bad quality).

Propriedades do objeto hpXDigitalDisplay

PROPRIEDADE DESCRIÇÃO
CustomText Define um texto personalizado como texto deste objeto.
Esta propriedade tem prioridade sobre as propriedades
ShowTag e ShowCaption

DiscreteInfo Associação para um objeto xfDiscreteInfo

Inverse Inverte a indicação das cores para os estados On e Off

ShowCaption Define a propriedade Caption do objeto xfDiscreteInfo


como texto deste objeto

ShowTag Define a propriedade Name do objeto xfDiscreteInfo


como texto deste objeto. Esta propriedade tem
prioridade sobre a propriedade ShowCaption

TextWidth Largura do texto, em unidades Himetric

3.2.4 hpXDigitalDisplayPopUp
O objeto hpXDigitalDisplayPopUp é um indicador para variáveis digitais associado a um objeto xfDiscreteInfo, e
exibe os estados Ligado (On), Desligado (Off) ou Qualidade ruim (Bad quality).

A diferença em relação ao objeto hpXDigitalDisplay é a possibilidade de abrir uma Tela Faceplate ao clicar.

Propriedades do objeto hpXDigitalDisplayPopUp

PROPRIEDADE DESCRIÇÃO
CustomText Define um texto personalizado como texto deste objeto.
Esta propriedade tem prioridade sobre as propriedades
ShowTag e ShowCaption

DiscreteInfo Associação para um objeto xfDiscreteInfo

DataObject Associação para um objeto xfPlantFolder, que é


repassado como parâmetro para a Tela a ser aberta

Domain Nome do Domínio Remoto, se houver, no formato


DOMAIN:

Inverse Inverte a indicação das cores para os estados On e Off

popName Tela a ser aberta, como por exemplo "Faceplate?100?0"

8 Objetos
PROPRIEDADE DESCRIÇÃO
popTemplate Template com a formatação visual do objeto
hpPopUpTemplate

ShowCaption Define a propriedade Caption do objeto xfDiscreteInfo


como texto deste objeto

ShowFaceplate Habilita a funcionalidade de link para este objeto. Os


valores possíveis para esta propriedade são True:
Permite abrir a Tela especificada na propriedade
popName com o clique do mouse ou False: Desativa a
funcionalidade de link

ShowTag Define a propriedade Name do objeto xfDiscreteInfo


como texto deste objeto. Esta propriedade tem
prioridade sobre a propriedade ShowCaption

TextWidth Largura do texto, em unidades Himetric

3.2.5 hpXDynValueAnalog
O objeto hpXDynValueAnalog é um indicador de valor dinâmico, ou seja, exibe o valor e a unidade de uma variável
associada a um objeto xfAnalogInfo. Caso a qualidade da variável seja ruim, este objeto exibe a indicação "???".

Propriedades do objeto hpXDynValueAnalog

PROPRIEDADE DESCRIÇÃO
AnalogInfo Associação para um objeto xfAnalogInfo com o valor
corrente

CustomFormat Formato personalizado que sobrescreve o formato


padrão do objeto xfAnalogInfo associado. Se o valor é
uma String vazia, habilita o formato configurado no
objeto xfAnalogInfo associado

Domain Nome do Domínio Remoto, se houver, no formato


DOMAIN:

EnableClick Permite que este objeto responda a um evento de clique


do mouse incrementando o valor da propriedade
EventClick

EventClick Incrementa o valor de 1 (um) a 9 (nove) quando este


objeto recebe um evento de clique com o botão
esquerdo do mouse. Esta propriedade é válida somente
quando a propriedade EnableClick é igual a True

FlexControl Habilita parâmetros e funcionalidades específicas da


Biblioteca FlexControl

PlantFolder Associação para um objeto repassado como parâmetro


para a Tela a ser aberta

popName Tela a ser aberta, como por exemplo "Faceplate?100?0"

popTemplate Template com a formatação visual do objeto


hpPopUpTemplate

Objetos 9
PROPRIEDADE DESCRIÇÃO
ShowFaceplate Habilita a funcionalidade de link para este objeto. Os
valores possíveis para esta propriedade são True:
Permite abrir a Tela especificada na propriedade
popName com o clique do mouse ou False: Desativa a
funcionalidade de link

3.2.6 hpXDynValueDiscrete
Permite listar os possíveis estados de um objeto xfDiscreteInfo padrão e alterar estes valores caso seja usada a fonte
de dados OperatorSource.

Propriedades do objeto hpXDynValueDiscrete

PROPRIEDADE DESCRIÇÃO
DiscreteInfo Associação para um objeto xfDiscreteInfo

EnableClick Permite que este objeto responda a um evento de clique


do mouse incrementando o valor da propriedade
EventClick

EventClick Incrementa o valor de 1 (um) a 9 (nove) quando este


objeto recebe um evento de clique com o botão
esquerdo do mouse. Esta propriedade é válida somente
quando a propriedade EnableClick é igual a True

PowerMode Verdadeiro se o dado vem de um objeto do Elipse


Power

StateText Define qual propriedade StateText do objeto


xfDiscreteInfo tem o valor exibido. Os valores possíveis
para esta propriedade são 0: Exibe o valor da
propriedade StateText0, 1: Exibe o valor da propriedade
StateText1, 2: Exibe o valor da propriedade StateText2
ou 3: Exibe o valor da propriedade StateText3. Se o
valor da propriedade StateText corresponder ao valor
de xfDiscreteInfo, o texto é mostrado em destaque

3.2.7 hpXManualValueIO
Este objeto é usado para exibição e envio de setpoints associados a um objeto xfParameter. Esta indicação de valor
manual difere visualmente da indicação de valor dinâmico do objeto hpXDynValueAnalog basicamente pela cor. No
entanto, para alguns tipos de deficiências visuais, as duas cores podem ser muito parecidas, dificultando sua
diferenciação. Por este motivo foi acrescentado o ponto entre o valor e a unidade. Caso a qualidade da variável seja
ruim, este objeto exibe a indicação "???".

Este objeto também realiza as verificações de permissão sobre um objeto, logando o resultado, sucesso ou falha, no
objeto xoLogger da Biblioteca PlantModel, que deve estar instanciado como Logger.LogSvc, com os parâmetros a
seguir no array de entrada.

· Elemento 0: "xfParameter"

· Elemento 1: Propriedade PathName do objeto que gerou o comando

· Elemento 2: Nome do usuário que solicitou o comando

· Elemento 3: Resultado da operação. Os valores possíveis são 0: OK, 1: Falha ou 2: Não autorizado

· Elemento 4: Nome do computador onde foi gerado o comando

10 Objetos
· Elemento 5: Horário

· Elemento 6: Valor anterior

· Elemento 7: Novo valor

Propriedades do objeto hpXManualValueIO

PROPRIEDADE DESCRIÇÃO
CustomFormat Formato customizado que sobrescreve o formato padrão
do objeto xfParameter associado. Se o valor é uma
String vazia, habilita o formato configurado no objeto
xfParameter

EditMode Habilita ou desabilita o modo de edição da variável

EnableClick Habilita este objeto a responder ao clique do mouse

EnableLimits Habilita a verificação de limites do valor. O valor padrão


desta propriedade é Falso

EventValidate Incrementa o valor de 1 (um) a 9 (nove) quando o valor


deste objeto é validado pelo usuário

IOData Associação para um objeto xfParameter

UnitPosition Posição da unidade de engenharia. Os valores possíveis


são 0: Direita ou 1: Inferior

3.2.8 hpXPowerDynValueAnalog
O objeto hpXPowerDynValueAnalog é um indicador de valor dinâmico, ou seja, exibe o valor e a unidade de uma
variável associada a um objeto PowerAnalogMeasurement. Caso a qualidade da variável seja ruim, este objeto exibe
a indicação "???".

Propriedades do objeto hpXPowerDynValueAnalog

PROPRIEDADE DESCRIÇÃO
AnalogInfo Associação para um objeto PowerAnalogMeasurement

Domain Nome do Domínio Remoto, se houver, no formato


DOMAIN:

EnableClick Permite que este objeto responda a um evento de clique


do mouse incrementando o valor da propriedade
EventClick

EventClick Incrementa o valor de 1 (um) a 9 (nove) quando este


objeto recebe um evento de clique com o botão
esquerdo do mouse. Esta propriedade é válida somente
quando a propriedade EnableClick é igual a True

FlexControl Habilita parâmetros e funcionalidades específicas da


Biblioteca FlexControl

PlantFolder Associação para um objeto repassado como parâmetro


para a Tela a ser aberta

Objetos 11
PROPRIEDADE DESCRIÇÃO
popName Tela a ser aberta, como por exemplo "Faceplate?100?0"

popTemplate Template com a formatação visual do objeto


hpPopUpTemplate

ShowFaceplate Habilita a funcionalidade de link para este objeto. Os


valores possíveis para esta propriedade são True:
Permite abrir a Tela especificada na propriedade
popName com o clique do mouse ou False: Desativa a
funcionalidade de link

3.3 Biblioteca hpXControls


Esta seção contém informações sobre os objetos da Biblioteca hpXControls.

3.3.1 hpXAuthorization
Este objeto permite armazenar o grupo do usuário e as estações nas quais este grupo pode executar alterações de
valores de comandos ou parâmetros através da Tela Faceplate.

O objeto hpXAuthorization pode ser aplicado em um cenário em que se deseja realizar restrições de comandos pelo
grupo do usuário e as estações que este grupo pode atuar.

O roteiro para configurar o recurso de autorização é o seguinte:

1. Para cada grupo de usuários que se deseja verificar as permissões, adicione um novo objeto hpXAuthorization
na pasta hpXObjects - AuthorizationManager.

2. Renomeie o objeto para o mesmo nome do grupo de usuário existente no Studio.

3. Para cada objeto hpXAuthorization, adicione as estações onde este grupo de usuários pode realizar alterações.

4. Nos objetos do tipo xfCommand e xfParameter que controlam a autorização por grupos, os nomes dos grupos
de usuários autorizados devem ser adicionados na propriedade AuthorizedGroups, separados por ponto e
vírgula.

5. Para controlar a autorização de estações, configure a propriedade AuthorizedGroups dos objetos xfCommand e
xfParameter e habilite a propriedade CheckStation.

Propriedades do objeto hpXAuthorization

PROPRIEDADE DESCRIÇÃO
AuthorizationName Nome da autorização. Este nome não precisa ser igual
ao nome do grupo de usuários cadastrado no Elipse E3
ou Elipse Power ao qual esta autorização se refere

AuthorizationDescription Descrição opcional da autorização

AuthorizedUserGroup Nome do grupo de usuários cadastrado no Studio cuja


autorização de grupos vai ser verificada

AuthorizedComputers Lista de estações pertencentes ao grupo de usuários,


informado na propriedade AuthorizedUserGroup, que
têm permissão para executar as ações. Os nomes das
estações devem ser separados por ponto e vírgula

12 Objetos
3.3.2 hpXBlockILIndicator
Este objeto exibe um ícone quando o objeto Unidade de Intertravamento associado está bloqueado e um ícone
se o objeto associado está desbloqueado.

A propriedade disponível neste objeto é InterlockUnit, que indica uma Associação para um objeto xfInterlockUnit.

3.3.3 hpXBlockIndicator
Este objeto exibe um ícone quando o objeto Unidade de Comando associado está bloqueado e um ícone se o
objeto associado está desbloqueado. Além disto, permite abrir uma nova Tela pop-up indicando quais são os
Intertravamentos ativos.

Propriedades do objeto hpXBlockIndicator

PROPRIEDADE DESCRIÇÃO
DataObject Associação para um objeto xfCommandUnit, que é
repassado como parâmetro para a Tela a ser aberta

FaceplateGroupExpand Nome do grupo a ser exibido se a Tela Faceplate é


expandida

LinkMode Habilita a funcionalidade de link para o objeto. Os


valores possíveis para esta propriedade são True:
Permite abrir a Tela especificada na propriedade
popName com o clique do mouse ou False: Desativa a
funcionalidade de link

popName Tela a ser aberta, como por exemplo "Faceplate?100?0"

popTemplate Associação para um objeto hpPopUpTemplate, que


define a formatação visual para a Tela definida na
propriedade popName

3.3.4 hpXBlockIndicatorBypass
Este objeto exibe um ícone ou um ícone se a propriedade ByPassState está configurada para Falso ou
Verdadeiro, respectivamente. Se a propriedade LinkMode está configurada para Verdadeiro, clicar neste objeto
permite executar o comando associado na propriedade CommandUnit com o objetivo de alterar o by-pass.

Propriedades do objeto hpXBlockIndicatorBypass

PROPRIEDADE DESCRIÇÃO
ByPassState Define o status de by-pass. Os valores possíveis para esta
propriedade são True: Ativo ou False: Inativo

CommandUnit Associação para um objeto xfCommandUnit, que


permite alterar o by-pass

FaceplateGroupExpand Nome do grupo a ser exibido se a Tela Faceplate é


expandida

LinkMode Esta propriedade foi descontinuada e vai ser removida


da Biblioteca HighPerformance Template em uma
versão futura

Objetos 13
3.3.5 ~hpXCollapseExpand
Este objeto é usado internamente na Tela de Faceplate para controlar a exibição mínima ou expandida . É usado
quando o número de objetos excede o tamanho padrão da Tela de Faceplate, permitindo assim que seja expandida
para exibir todos os objetos.

Propriedades do objeto ~hpXCollapseExpand

PROPRIEDADE DESCRIÇÃO
Active Indica se o objeto ~hpXCollapseExpand está visível e
operacional

Expanded Indica se o objeto ~hpXCollapseExpand está no modo


expandido ou não

GroupCollapsed Nome do XControl exibido na janela mínima

GroupExpanded Nome do XControl exibido na janela expandida

Overflow Indica se o número de elementos excede o máximo


permitido ou não

SwapMode Esta propriedade foi descontinuada, não recebe mais


atualizações e vai ser removida da Biblioteca
HighPerformance Extensions em uma versão futura

NOTA
Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.

3.3.6 hpXFaceplateTemplate
Este objeto tem como principais funções armazenar a configuração do conteúdo de dados a ser exibido em uma Tela
Faceplate (não confundir com o objeto hpPopUpTemplate, que configura o estilo da janela) e informar os nomes da
biblioteca e do símbolo a ser exibido para indicação de estado operativo.

Propriedades do objeto hpXFaceplateTemplate

PROPRIEDADE DESCRIÇÃO
DeviceControlGallery Nome do arquivo de biblioteca que contém o ícone do
equipamento

DeviceControlName Nome do XControl que representa o equipamento


dentro da biblioteca especificada na propriedade
DeviceControlGallery

PopUpCode Contém os parâmetros de configuração das abas da Tela


Faceplate. As sintaxes permitidas para esta propriedade
estão descritas nos tópicos Abas do Tipo System, Abas
do Tipo Custom e Abas do Tipo CustomExpandable. A
definição do conteúdo é realizada por uma lista de
códigos separados por ponto e vírgula. Caso o código
seja inválido, a janela exibe uma mensagem de erro

14 Objetos
NOTA
Para não exibir um ícone de equipamento na Tela Faceplate, configure as propriedades DeviceControlGallery e
DeviceControlName com uma String vazia.

3.3.6.1 Abas do Tipo System


Abas System são definidas na Biblioteca PlantModel, sem a possibilidade de personalização, e são montadas com
base na estrutura de dados. A sintaxe na propriedade PopupCode consiste de apenas uma letra, conforme descrito a
seguir.

· A: Medidas Analógicas

· D: Medidas Discretas

· C: Comandos

· S: Status

· P: Proteções, disponíveis somente para o Elipse Power

A ordem das letras define como as Associações aparecem na janela pop-up. Por exemplo, a expressão "A;C;S" indica a
exibição das abas Analógicas, Comandos e Status, nesta ordem. Salvo indicação explícita, descrita no tópico
Marcadores, a janela abre exibindo a primeira aba declarada, neste caso a aba Analógicas.

Tipos de Dados Referenciados pelos Parâmetros

Dados da Biblioteca PlantModel

PARÂMETRO DESCRIÇÃO PASTA OBJETO


A Medidas Analógicas xfMeasuresFolder xfAnalogInfo,
xfPMRef.ItemObject, se este
referenciar um objeto
xfAnalogInfo, e xfParameter

xfSetPointsFolder xfParameter

D Medidas Discretas xfMeasuresFolder xfDiscreteInfo e


xfPMRef.ItemObject, se este
referenciar um objeto
xfDiscreteInfo

C Comandos xfCommandFolder xfCommand,


xfCommandUnit,
xfInterlockGroup e
xfInterlockUnit

S Status xfStatusFolder xfDiscreteInfo e


xfPMRef.ItemObject, se este
referenciar um objeto
xfDiscreteInfo

Objetos 15
NOTAS
· Os objetos do tipo xfParameter podem ser alocados tanto na pasta xfMeasuresFolder quanto na pasta
xfSetPointsFolder. Esta alocação é opcional e serve apenas para fins de organização, considerando serem
instanciados juntamente com outras Medidas ou separadamente na própria pasta.
· O mesmo ocorre com objetos do tipo xfDiscreteInfo, que podem ser exibidos tanto na aba Discretas (D), se
alocados na pasta xfMeasuresFolder, quanto na aba Status (S), se alocados na pasta xfStatusFolder.

Dados do Elipse Power

PARÂMETRO DESCRIÇÃO PASTA OBJETO


A Medidas Analógicas (não especificada) PowerAnalogMeasurement

D Medidas Discretas (não especificada) PowerDiscreteMeasurement

C Comandos (não especificada) PowerDiscreteCommand e


PowerStepCommand

P Proteções PowerProtectionGroup PowerProtectionDevice

Tipos Personalizados de Objetos de Tela

Pode-se utilizar tipos de objetos personalizados na Tela Faceplate, nos cenários descritos a seguir.

Aba Medidas Analógicas

Nesta aba pode-se substituir o objeto de Tela padrão associado ao objeto do tipo xfAnalogInfo por um objeto
personalizado, declarando este objeto e a respectiva biblioteca na propriedade PopupCode, no formato a seguir.
A{Biblioteca.Objeto}

O objeto de Tela padrão para objetos de tipo xfAnalogInfo é hpXDynValueAnalog.

Aba Comandos

Nesta aba pode-se substituir os objetos de Tela padrão associados a objetos do tipo xfCommandUnit e
xfInterlockUnit por objetos personalizados, declarando estes objetos e as respectivas bibliotecas na propriedade
PopupCode, no formato a seguir.
C{Biblioteca.Objeto1, Biblioteca.Objeto2}

O primeiro objeto declarado associa-se ao objeto do tipo xfCommandUnit e o segundo objeto declarado associa-se
ao objeto do tipo xfInterlockUnit.

O objeto de Tela padrão para objetos do tipo xfCommandUnit é hpXCommandButton e o objeto de Tela padrão
para objetos do tipo xfInterlockUnit é hpXBlockIndicator.

Aba Medidas Discretas

Nesta aba pode-se substituir o objeto de Tela padrão associado a objetos do tipo xfDiscreteInfo por um objeto
personalizado, declarando este objeto e a respectiva biblioteca na propriedade PopupCode, no formato a seguir.
D{Biblioteca.Objeto}

16 Objetos
O objeto de Tela padrão para objetos do tipo xfDiscreteInfo é hpXDynValueDiscrete.

Aba Status

Nesta aba pode-se substituir o objeto de Tela padrão associado a objetos do tipo xfDiscreteInfo por um objeto
personalizado, declarando este objeto e a respectiva biblioteca na propriedade PopupCode no formato a seguir.
S{Biblioteca.Objeto}

O objeto de Tela padrão para objetos do tipo xfDiscreteInfo é hpXDigitalDisplay.

Marcador % (Porcentagem)

Caso o usuário deseje manter um dos objetos padrão, use o caractere % (porcentagem) como um marcador. Por
exemplo, na aba Comandos, para usar o objeto de comando padrão da Tela e alterar apenas o objeto de
intertravamento, a sintaxe da propriedade PopupCode é a seguinte:
C{%,myLib.myXControl}

A sintaxe de parâmetros somente usando marcadores é equivalente ao uso padrão dos parâmetros. Os exemplos a
seguir de sintaxe da propriedade PopupCode são equivalentes.
A{%};C{%,%}
A;C

3.3.6.2 Abas do Tipo Custom


O usuário pode criar um XControl e exibi-lo na Tela Faceplate. Para isto, deve especificar o nome do XControl e um
ícone para ser exibido na barra de Associações. A sintaxe para a propriedade PopupCode é "U=(XControl,Icon,Tip)".
Considere o exemplo a seguir.
"U=(custom.CustomDisplay1,custom.CustomIcon1,Here comes a custom tip)"

Neste caso é exibida uma aba personalizada com as seguintes características:

· A aba exibe o objeto CustomDisplay1, criado na biblioteca custom.lib

· O ícone da aba é o objeto CustomIcon1, criado na biblioteca custom.lib. Para mais informações, consulte o
tópico Criação de um Ícone Personalizado

· O botão para abrir esta aba contém o texto de ajuda "Here comes a custom tip"

· A aba não tem um comando para expandir a janela, portanto o tamanho é fixo

NOTA
O parâmetro Tip é opcional e não permite usar os caracteres de vírgula, ponto e vírgula e pipe (|), além dos
caracteres ASCII entre 0 (zero) e 31 e o caractere 127 (DEL).

3.3.6.3 Abas do Tipo CustomExpandable


O usuário pode criar uma aba expansível, ou seja, uma aba que contém um botão à direita para expandir a janela e
exibir mais controles. A sintaxe é a mesma do tipo Custom, mas com um acréscimo da classe ao final da declaração,
conforme a sintaxe a seguir.
U=(XControl,Icon,Tip)|(ExpandedXControl,Size)

Considere o exemplo a seguir.


U=(custom.CustomDisplay1,custom.CustomIcon1,Here comes a custom tip)|
(custom.CustomDisplay2,700x600)
Objetos 17
Neste caso é exibida uma aba personalizada com as seguintes características:

· A aba retraída exibe o objeto CustomDisplay1, criado na biblioteca custom.lib

· O ícone da aba é o objeto CustomIcon1, criado na biblioteca custom.lib

· O botão para abrir esta aba contém o texto de ajuda "Here comes a custom tip"

· A aba tem um comando para expandir a janela

· A aba expandida exibe o objeto CustomDisplay2, criado na biblioteca custom.lib

· A largura da janela durante a expansão é de 700 pixels, enquanto a altura é de 600 pixels

NOTA
O parâmetro Tip é opcional e não permite usar os caracteres de vírgula, ponto e vírgula e pipe (|), além dos
caracteres ASCII entre 0 (zero) e 31 e o caractere 127 (DEL).

3.3.6.4 Marcadores
Marcadores são usados para informar à Tela que um determinado parâmetro tem comportamento diferente do
padrão.

Marcadores disponíveis

MARCADOR DESCRIÇÃO
* (asterisco) Indica a aba que deve ser exibida ao abrir a janela pela
primeira vez e deve ser declarado imediatamente antes
da letra correspondente, como por exemplo "A;*C;D"

# (sinal numérico) Indica a utilização de um botão personalizado que


funciona como um comando e não para exibir conteúdo
de uma aba normal. Um cenário de uso é quando se
deseja abrir outra janela com um clique de mouse

b Ativa a exibição de um badge que informa o número de


itens ativos. Válido apenas para os parâmetros W, F, G e
I declarados na propriedade PopupCode do objeto
hpXFaceplateTemplate. Estes parâmetros são usados
somente com aplicações do tipo FlexControl. Por
exemplo, para exibir um badge em todas as abas, declare
a propriedade com o valor "Wb;Fb;Gb;Ib". Pode ser
associado com o marcador * (asterisco), como por
exemplo "Wb;*Fb;Gb;Ib"

% (porcentagem) Indica a utilização de um objeto de Tela personalizado,


conforme descrito no tópico Abas do Tipo System

3.3.6.5 Exemplos de Uso


Considere a seguinte declaração na propriedade PopupCode:
U=(hpXPIDDisplay1,hpIcon1,PID Controls)|
(hpXPIDDisplay2,800x400);*A;D;U=(#,custom.CustomTab,Custom tip);C

Neste exemplo a barra de Associações é montada com os elementos descritos a seguir.

· O primeiro elemento é definido pelo usuário em uma aba expansível

18 Objetos
· O segundo elemento é a aba de Medidas Analógicas, que também é exibida ao abrir a janela

· O terceiro elemento é a aba de Medidas Digitais

· O quarto elemento é definido pelo usuário e não exibe nenhum objeto na aba, indicando que é executada alguma
função implementada no botão CustomTab da biblioteca custom. Para mais informações, consulte o tópico
Criação de um Botão de Aba Personalizado

· O último elemento é a aba de Comandos

3.3.6.6 Instâncias
Os objetos hpXFaceplateTemplate devem ser instanciados na pasta hpXObjects.FaceplateTemplates, contida no
projeto hpXMain.

3.3.7 ~hpXProtection
Este objeto é usado para exibir o nome e estado de uma Proteção do Elipse Power.

Propriedades do objeto ~hpXProtection

PROPRIEDADE DESCRIÇÃO
InterlocksScreenPathName Propriedade PathName da Tela Interlocks

InterlocksScreenTemplate Propriedade PathName do Template de Tela Interlocks

ProtectionDevice Associação para um objeto PowerProtectionDevice

TextValue Texto a ser exibido

Value Opções para a Proteção. Os valores possíveis são 0:


Proteção incluída, 1: Proteção ativa (Trip) ou 2: Proteção
não incluída

NOTA
Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.

3.4 Biblioteca hpXView


Esta seção contém informações sobre os objetos da Biblioteca hpXView.

3.4.1 hpXContainer
Objeto usado internamente na Tela Faceplate, tem a função de calcular as coordenadas de até 256 células de grade
conforme a configuração do usuário, criando e posicionando automaticamente objetos como filhos. Pode também ser
usado fora da Tela Faceplate, no contexto de uma Tela normal de processo onde é necessário exibir uma grade de
objetos. Suas principais funções são as seguintes:

· Receber todas as configurações da grade, tais como o número de colunas, linhas e quebras

· Calcular as coordenadas de cada célula da grade, com base nos parâmetros passados

· Receber toda a configuração de adição de objeto, ou seja, os parâmetros usados no método AddObject

· Executar internamente o método AddObject

· Informar se um objeto filho foi criado com sucesso ou não

Objetos 19
· Retornar a referência de um objeto recém criado para uso por script

Desta forma todos os objetos criados são filhos de um contêiner que calcula e posiciona automaticamente cada um
destes objetos.

3.4.1.1 Propriedades
O objeto hpXContainer possui várias propriedades, que podem ser agrupadas de acordo com a função, conforme
os tópicos a seguir.

3.4.1.1.1 Dimensões e Formatos de Grade

PROPRIEDADE DESCRIÇÃO
CellHeight Altura da célula da grade, em Himetric

CellWidth Largura da célula da grade, em Himetric

CellWidthSecondaryColumn Largura da célula secundária da grade, em Himetric.


Configurar esta propriedade com o valor 0 (zero) oculta
as colunas secundária e terciária

CellWidthTertiaryColumn Largura da célula terciária da grade, em Himetric. Um


valor igual a 0 (zero) nesta propriedade oculta esta
coluna, que só é visível se a propriedade
CellWidthSecondaryColumn é diferente de 0 (zero)

Columns Número de colunas da grade

ContentRightEdge Coordenada da borda direita do conteúdo na grade.


Corresponde ao valor da coordenada horizontal da
última célula preenchida mais a largura

Padding Margem interna que separa cada célula, em Himetric

PreviewOnly Controla a visibilidade dos objetos para visualizar


somente a grade ou não

Rows Número de linhas da grade

ShowGrid Mostra ou esconde as linhas de grade

SpaceBetweenBreaks Espaçamento, em Himetric, entre dois grupos


consecutivos de células após uma quebra de linha ou
coluna

3.4.1.1.2 Preenchimento de Células

PROPRIEDADE DESCRIÇÃO
ColumnBreak Número de linhas a serem preenchidas antes de ocorrer
uma quebra de coluna

LineBreak Número de colunas a serem preenchidas antes de


ocorrer uma quebra de linha

Orientation Sentido do preenchimento das células. Os valores


possíveis são 0: Por coluna ou 1: Por linha

20 Objetos
3.4.1.1.3 Funcionalidades no Studio

PROPRIEDADE DESCRIÇÃO
ShowOfflineText Mostra ou esconde o texto que aparece no Studio

Status Indica o estado do processamento no Studio usando o


evento CustomConfig. A indicação "Ready" significa que
o cálculo foi concluído

3.4.1.1.4 Criação de Objetos

PROPRIEDADE DESCRIÇÃO
ActivateStatus Informa se um objeto é criado ativado ou desativado

ClassName Informa a classe do objeto a ser criado

CreateNewObject Informa se um objeto deve ou não ser criado

Index Informa o número da próxima célula a ser ocupada,


iniciando em 1 (um) e terminando no valor equivalente ao
produto entre colunas e linhas. Este valor é atualizado
automaticamente pelo objeto sempre que a propriedade
CreateNewObject está configurada em Verdadeiro.
Também pode ser alterada por script, desta forma
atualizando todas as propriedades indicadas no tópico
Rastreamento do Preenchimento de Células

NewObjectPathName Informa a propriedade PathName do objeto recém


criado para ser usado com o método GetChildObject.
Esta propriedade é útil para acessar um objeto
diretamente dentro de um contêiner e alterar as
configurações

ObjectName Nome do próximo objeto a ser criado. Se o valor é uma


String vazia, o nome do objeto é gerado
automaticamente pelo objeto hpXContainer no formato
ContainerN, onde N é um inteiro que representa o índice
identificador de cada célula na grade

Reset Remove todos os objetos criados, retornando o objeto à


condição inicial

3.4.1.1.5 Rastreamento do Preenchimento de Células

PROPRIEDADE DESCRIÇÃO
CurrentGroupNum Número do grupo corrente. Sempre que ocorre uma
quebra de coluna ou quebra de linha, as células
preenchidas imediatamente antes da quebra passam a
formar um grupo. Cada grupo de células recebe uma
numeração progressiva para identificação

CurrentColumnNumAbs Número absoluto da coluna corrente, ou seja, sem levar


em conta os agrupamentos de colunas

CurrentColumnNumRel Número relativo da coluna corrente, ou seja, o número


da coluna dentro do respectivo agrupamento

Objetos 21
PROPRIEDADE DESCRIÇÃO
CurrentRowNumAbs Número absoluto da linha corrente, ou seja, sem levar
em conta os agrupamentos de linhas

CurrentRowNumRel Número relativo da linha corrente, ou seja, o número da


linha dentro do respectivo agrupamento

Xindex Coordenada horizontal da célula indicada na


propriedade Index. Por exemplo, se a propriedade
Index é igual a 12, esta propriedade indica a
coordenada horizontal desta célula

Yindex Coordenada vertical da célula indicada na propriedade


Index. Por exemplo, se a propriedade Index é igual a 12,
esta propriedade indica a coordenada vertical desta
célula

NOTA
Todas as propriedades indicadas neste tópico são somente de leitura e estão disponíveis apenas em tempo de
execução.

3.4.1.2 Exemplos de Uso


O uso geral deste objeto consiste nestes passos:

1. Configure no Studio as propriedades de Dimensões e Formatos de Grade e de Preenchimento de Células.

2. Execute o evento CustomConfig para calcular as coordenadas. A propriedade Status indica o andamento deste
cálculo.

3. Uma vez geradas as coordenadas, salve o objeto.

4. Em tempo de execução, configure as propriedades relacionadas à Criação de Objetos e execute o comando de


criação de objetos na propriedade CreateNewObject.

5. O objeto retorna a propriedade PathName do objeto criado na propriedade NewObjectPathName.

Em um cenário de preenchimento de grade por script, repita os passos 4 (quatro) e 5 (cinco), ajustando os
parâmetros de criação de objetos. A seguir são mostrados alguns cenários que ilustram a ordem na qual as células
são preenchidas.

3.4.1.2.1 Preenchimento por Coluna

1. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma coluna antes de passar para a próxima (propriedade
Orientation igual a zero), sem quebra de coluna (propriedade ColumnBreak igual a zero ou 3).

Preenchimento por coluna sem quebra

22 Objetos
2. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma coluna antes de passar para a próxima (propriedade
Orientation igual a zero), com quebra de coluna após preencher duas células (propriedade ColumnBreak igual a
2).

Preenchimento por coluna com quebra

3.4.1.2.2 Preenchimento por Linha

1. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma linha antes de passar para a próxima (propriedade
Orientation igual a 1), sem quebra de linha (propriedade LineBreak igual a zero ou 3).

Preenchimento por linha sem quebra

2. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma linha antes de passar para a próxima (propriedade
Orientation igual a 1), com quebra de linha após preencher duas células (propriedade LineBreak igual a 2).

Preenchimento por linha com quebra

3.4.1.2.3 Tipos de Colunas

As grades permitem acomodar diferentes tipos de objetos, por isto é possível configurar as colunas com até 3 (três)
larguras distintas, conforme os elementos exibidos em cada coluna. Para isto são definidos os tipos de colunas
Primárias, Secundárias e Terciárias.

Cada tipo de coluna possui uma propriedade exclusiva que define a largura. A propriedade CellWidth define a
largura para a coluna primária, a propriedade CellWidthSecondaryColumn define a largura para a coluna secundária
e a propriedade CellWidthTertiaryColumn define a largura para a coluna terciária.

Desta forma, é possível escolher entre 3 (três) padrões diferentes de tamanhos de colunas, apenas colunas primárias,
uma combinação de colunas primárias com secundárias ou uma combinação de colunas primárias, secundárias e
terciárias.

As colunas usadas em cada padrão são aquelas cuja largura é configurada com um valor diferente de 0 (zero). Uma
vez definido o padrão, este se repete ao longo de toda a grade.

Objetos 23
Padrão com Colunas de Mesma Largura

Para definir um padrão que use apenas uma largura para todas as células, deve-se usar apenas as colunas primárias.
Para isto, configure a propriedade CellWidth com um valor maior que 0 (zero) e as propriedades
CellWidthSecondaryColumn e CellWidthTertiaryColumn iguais a 0 (zero, desabilitado). O padrão construído é o de
um único valor de largura, que se repete em todas as células.

Colunas de mesma largura

Orientação por linha

Orientação por coluna

Padrão com Duas Larguras de Colunas

Para definir um padrão que use duas larguras distintas, deve-se usar as colunas primárias e secundárias. Para isto,
configure as propriedades CellWidth e CellWidthSecondaryColumn com um valor maior que 0 (zero) e a
propriedade CellWidthTertiaryColumn igual a 0 (zero, desabilitado). O padrão construído é o de duas larguras
distintas de colunas.

Duas larguras de colunas

Orientação por linha

Orientação por coluna

Sempre que o padrão é repetido, inicia novamente com uma coluna primária.

Padrão em quatro colunas

Orientação por linha

24 Objetos
Orientação por coluna

Padrão com Três Larguras de Colunas

Para definir um padrão que use três larguras distintas, deve-se usar as colunas primárias, secundárias e terciárias.
Para isto, configure as propriedades CellWidth, CellWidthSecondaryColumn e CellWidthTertiaryColumn com um
valor maior que 0 (zero). O padrão construído é o de três larguras distintas de colunas.

Padrão em três colunas

Orientação por linha

Orientação por coluna

Sempre que o padrão é repetido, inicia novamente com uma coluna primária.

Padrão em seis colunas

Orientação por linha

Orientação por coluna

Padrão com Quebras de Linha ou Coluna

Ao definir uma quebra de linha, na propriedade LineBreak, ou uma quebra de coluna, na propriedade ColumnBreak,
restringe-se a repetição do padrão dentro do grupo definido pela quebra. A figura a seguir mostra uma grade
orientada por linha, configurada com duas linhas e três colunas, usando o padrão de colunas primária e secundária.

Padrão em três colunas

Objetos 25
Orientação por linha

A figura a seguir mostra esta mesma grade configurada para o dobro de células e uma quebra de linha na terceira
coluna.

Padrão em seis colunas com quebra de linha

Orientação por linha

O grupo criado após a quebra sempre inicia com uma coluna primária. Isto vale também para a orientação vertical
com quebra de coluna.

3.4.1.2.4 Script para Criar Objetos na Grade

O script a seguir referencia um objeto hpXContainer e cria até 9 (nove) objetos do tipo hpLinkIcon, posicionando-os
na grade definida em um objeto hpXGridCalc. Ao atingir o limite de objetos, estes são apagados e a contagem é
reiniciada.
Sub hpCommandButton1_OnEventClick()
Set Container = Screen.Item("hpXContainer1")
With Container
'Apaga os objetos da grade
'e reinicia a contagem da propriedade Index
If .Index > (.Columns * .Rows) Then .Reset = True
'Cria um objeto do tipo hpLinkIcon
'já posicionado na grade
.ClassName = "hpLinkIcon" 'Classe do objeto criado
.CreateNewObject = True 'Cria o objeto
End With
End Sub

3.4.1.2.5 Acesso a Objetos Criados Previamente

Caso seja necessário acessar um objeto criado dentro do contêiner em um momento anterior, use o método
GetChildObject do objeto hpXContainer. Para mais informações, consulte a propriedade NewObjectPathName.

3.4.2 hpXDataObjectBridge
Objeto usado internamente na Tela Faceplate, tem a função de armazenar e disponibilizar o código XML do objeto de
dados passado à Tela Faceplate.

NOTA
Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.

3.4.3 ~hpXEventBridge
Objeto usado internamente na Tela Faceplate, tem a função de armazenar e disponibilizar valores de variáveis internas
à Tela. Não é configurável pelo usuário. As propriedades disponíveis neste objeto estão descritas na tabela a seguir.

26 Objetos
Propriedades do objeto ~hpXEventBridge

PROPRIEDADE DESCRIÇÃO
dimGroupAnalogs Define as dimensões de largura e altura da caixa de
diálogo para a aba Medidas Analógicas recolhida. Para
mais informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupAnalogs2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Medidas Analógicas expandida. Para
mais informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupCommands Define as dimensões de largura e altura da caixa de


diálogo para a aba Comandos recolhida. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupCommands2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Comandos expandida. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupCustom1 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom1. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom2. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom3 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom3. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom4 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom4. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom5 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom5. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom6 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom6. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom7 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom7. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

Objetos 27
PROPRIEDADE DESCRIÇÃO
dimGroupCustom8 Define as dimensões de largura e altura da caixa de
diálogo para a aba Custom8. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupCustom9 Define as dimensões de largura e altura da caixa de


diálogo para a aba Custom9. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupDiscretes Define as dimensões de largura e altura da caixa de


diálogo para a aba Medidas Discretas recolhida. Para
mais informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupDiscretes2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Medidas Discretas expandida. Para
mais informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupFaults Define as dimensões de largura e altura da caixa de


diálogo para a aba Defeitos recolhida em aplicações da
Biblioteca FlexControl. Para mais informações sobre o
formato desta propriedade, consulte a nota a seguir

dimGroupFaults2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Defeitos expandida em aplicações
da Biblioteca FlexControl. Para mais informações sobre
o formato desta propriedade, consulte a nota a seguir

dimGroupInterlocks Define as dimensões de largura e altura da caixa de


diálogo para a aba Intertravamentos recolhida em
aplicações da Biblioteca FlexControl. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupInterlocks2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Intertravamentos expandida em
aplicações da Biblioteca FlexControl. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupPermissives Define as dimensões de largura e altura da caixa de


diálogo para a aba Permissivos recolhida em aplicações
da Biblioteca FlexControl. Para mais informações sobre
o formato desta propriedade, consulte a nota a seguir

dimGroupPermissives2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Permissivos expandida em
aplicações da Biblioteca FlexControl. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupProtections Define as dimensões de largura e altura da caixa de


diálogo para a aba Proteções recolhida em aplicações
do Elipse Power. Para mais informações sobre o
formato desta propriedade, consulte a nota a seguir

28 Objetos
PROPRIEDADE DESCRIÇÃO
dimGroupProtections2 Define as dimensões de largura e altura da caixa de
diálogo para a aba Proteções nível 1 expandida em
aplicações do Elipse Power. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupProtections3 Define as dimensões de largura e altura da caixa de


diálogo para a aba Proteções nível 2 expandida em
aplicações do Elipse Power. Para mais informações
sobre o formato desta propriedade, consulte a nota a
seguir

dimGroupStatus Define as dimensões de largura e altura da caixa de


diálogo para a aba Status recolhida. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupStatus2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Status expandida. Para mais
informações sobre o formato desta propriedade,
consulte a nota a seguir

dimGroupWarnings Define as dimensões de largura e altura da caixa de


diálogo para a aba Alertas recolhida em aplicações da
Biblioteca FlexControl. Para mais informações sobre o
formato desta propriedade, consulte a nota a seguir

dimGroupWarnings2 Define as dimensões de largura e altura da caixa de


diálogo para a aba Alertas expandida em aplicações da
Biblioteca FlexControl. Para mais informações sobre o
formato desta propriedade, consulte a nota a seguir

groupByColumnCommands Configura o modo de visualização da aba Comandos. Os


valores possíveis para esta propriedade são True:
Visualização dos Comandos por coluna ou False:
Visualização dos Comandos por linha

groupByColumnDiscretes Configura o modo de visualização da aba Discretas. Os


valores possíveis para esta propriedade são True:
Visualização das Medidas Discretas por coluna ou False:
Visualização das Medidas Discretas por linha

numColumnsNormalCommands Número de colunas a serem exibidas na aba Comandos


normal, ou recolhida, quando a orientação da grade é
vertical, ou seja, igual a 0 (zero)

numColumnsNormalDiscretes Número de colunas a serem exibidas na aba Medidas


Discretas normal, ou recolhida, quando a orientação da
grade é vertical, ou seja, igual a 0 (zero)

numColumnsNormalProtections Número de colunas a serem exibidas na aba Proteções


em aplicações Elipse Power normal, ou recolhida,
quando a orientação da grade é vertical, ou seja, igual a
0 (zero)

numColumnsNormalStatus Número de colunas a serem exibidas na aba Status


normal, ou recolhida, quando a orientação da grade é
vertical, ou seja, igual a 0 (zero)

Objetos 29
PROPRIEDADE DESCRIÇÃO
numColumnsNormalWarnings Número de colunas a serem exibidas na aba Alertas em
aplicações Biblioteca FlexControl normal, ou recolhida,
quando a orientação da grade é vertical, ou seja, igual a
0 (zero)

NOTAS
· Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.
· O valor das propriedades com prefixo dimGroup tem o formato WxH, onde W é a largura e H é a altura, como
por exemplo "800x600" para uma aba com largura de 800 pixels e altura de 600 pixels.

3.4.4 ~hpXFaceplateConfig
Objeto usado internamente na Tela Faceplate, deve ser configurado pelo usuário para garantir o funcionamento
conforme as preferências.

NOTA
Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.

3.4.4.1 Propriedades
PROPRIEDADE DESCRIÇÃO
ApplicationType Tipo de aplicação. Os valores possíveis são 0: Custom ou
1: Flex Control

DisplayMode Define o modo de visualização da janela. Os valores


possíveis são 0: Janela retrátil com largura mínima
manual, 1: Janela retrátil com largura mínima automática,
2: Janela sempre expandida com largura mínima manual
ou 3: Janela sempre expandida com largura mínima
automática

EnableSetPointLimits Habilita a verificação de limites nos Setpoints usados na


Tela

HorizontalOffset Deslocamento horizontal usado para posicionar objetos


internos, tais como o botão Close e o botão
Collapse/Expand

InterlocksPathName Propriedade PathName da Tela de Intertravamentos

InterlocksScreenParamScroll Parâmetro que controla a visibilidade das barras de


rolagem da Tela de Intertravamentos. Os valores
possíveis são ?0: Desabilita as barras de rolagem ou ?1:
Habilita as barras de rolagem

InterlocksScreenParamZoom Parâmetro que define o nível de zoom ao abrir a Tela de


Intertravamentos. Deve ser utilizado com o prefixo "?"

InterlocksScreenTemplate Propriedade PathName do template da Tela de


Intertravamentos (objeto hpPopupTemplate)

MarginRight Configura a margem direita da Tela, em Himetric

30 Objetos
PROPRIEDADE DESCRIÇÃO
ShowEmbeddedCloseButton Controla a visibilidade do botão Close. Os valores
possíveis são True: Mostra o botão ou False: Esconde o
botão

3.4.5 ~hpXFaceplateVars
O objeto ~hpXFaceplateVars foi descontinuado. Este objeto não recebe mais atualizações e vai ser removido da
Biblioteca HighPerformance Extensions em uma versão futura. Recomenda-se o uso do objeto ~hpXEventBridge
no lugar deste objeto.

3.4.6 hpXGridCalc
Objeto usado internamente na Tela Faceplate, tem a função de calcular e armazenar as coordenadas de até 256
células de grade conforme a configuração do usuário. Pode também ser usado fora da Tela Faceplate, no contexto de
uma Tela normal de processo onde é necessário configurar uma grade.

Este objeto foi criado para atender a uma demanda de maior desempenho e flexibilidade em relação ao objeto
hpXContainer, porém sem o automatismo nativo.

O objeto hpXGridCalc realiza as tarefas a seguir:

· Recebe toda a configuração de grade, tais como número de colunas, linhas e quebras

· Calcula as coordenadas de cada célula de grade, com base nos parâmetros passados

· Disponibiliza as coordenadas calculadas para o usuário, bem como outras informações de rastreamento de
preenchimento das células

O objeto hpXGridCalc realiza o mesmo cálculo e repassa as mesmas informações de rastreamento que o objeto
hpXContainer, mas não cria nenhum objeto internamente. Trata-se de uma calculadora de coordenadas e não de um
contêiner de objetos.

3.4.6.1 Propriedades
O objeto hpXGridCalc possui várias propriedades, que podem ser agrupadas de acordo com a função, conforme os
tópicos a seguir.

3.4.6.1.1 Dimensões e Formatos de Grade

PROPRIEDADE DESCRIÇÃO
CellHeight Altura da célula da grade, em Himetric

CellWidth Largura da célula da grade, em Himetric

CellWidthSecondaryColumn Largura da célula secundária da grade, em Himetric.


Configurar esta propriedade com o valor 0 (zero) oculta
as colunas secundária e terciária

CellWidthTertiaryColumn Largura da célula terciária da grade, em Himetric. Um


valor igual a 0 (zero) nesta propriedade oculta esta
coluna, que só é visível se a propriedade
CellWidthSecondaryColumn é diferente de 0 (zero)

CellsNumber Número de células disponíveis no objeto

Columns Número de colunas da grade

Objetos 31
PROPRIEDADE DESCRIÇÃO
ContentRightEdge Coordenada da borda direita do conteúdo na grade.
Corresponde ao valor da coordenada horizontal da
última célula preenchida mais a largura

Padding Margem interna que separa cada célula, em Himetric

Rows Número de linhas da grade

ShowGrid Mostra ou esconde as linhas de grade

SpaceBetweenBreaks Espaçamento, em Himetric, entre dois grupos


consecutivos de células após uma quebra de linha ou
coluna

3.4.6.1.2 Preenchimento de Células

PROPRIEDADE DESCRIÇÃO
ColumnBreak Número de linhas a serem preenchidas antes de ocorrer
uma quebra de coluna

Index Informa o número da próxima célula a ser ocupada,


iniciando em 1 (um) e terminando no valor equivalente ao
produto entre colunas e linhas. Este valor deve ser
atualizado por script, desta forma atualizando todas as
propriedades indicadas no tópico Rastreamento do
Preenchimento de Células

LineBreak Número de colunas a serem preenchidas antes de


ocorrer uma quebra de linha

Orientation Sentido do preenchimento das células. Os valores


possíveis são 0: Por coluna ou 1: Por linha

3.4.6.1.3 Funcionalidades no Studio

PROPRIEDADE DESCRIÇÃO
ShowOfflineText Mostra ou esconde o texto que aparece no Studio

Status Indica o estado do processamento no Studio usando o


evento CustomConfig. A indicação "Ready" significa que
o cálculo foi concluído

3.4.6.1.4 Coordenadas

PROPRIEDADE DESCRIÇÃO
X1, X2, ..., Xn Coordenada horizontal da célula indicada pelo número
da propriedade. X1 refere-se à primeira célula a ser
preenchida, X2 refere-se à segunda célula, e assim
sucessivamente

Y1, Y2, ..., Yn Coordenada vertical da célula indicada pelo número da


propriedade. Y1 refere-se à primeira célula a ser
preenchida, Y2 refere-se à segunda célula, e assim
sucessivamente

32 Objetos
3.4.6.1.5 Rastreamento do Preenchimento de Células

PROPRIEDADE DESCRIÇÃO
CurrentGroupNum Número do grupo corrente. Sempre que ocorre uma
quebra de coluna ou quebra de linha, as células
preenchidas imediatamente antes da quebra passam a
formar um grupo. Cada grupo de células recebe uma
numeração progressiva para identificação

CurrentColumnNumAbs Número absoluto da coluna corrente, ou seja, sem levar


em conta os agrupamentos de colunas

CurrentColumnNumRel Número relativo da coluna corrente, ou seja, o número


da coluna dentro do respectivo agrupamento

CurrentRowNumAbs Número absoluto da linha corrente, ou seja, sem levar


em conta os agrupamentos de linhas

CurrentRowNumRel Número relativo da linha corrente, ou seja, o número da


linha dentro do respectivo agrupamento

Xindex Coordenada horizontal da célula indicada na


propriedade Index. Por exemplo, se a propriedade
Index é igual a 12, esta propriedade indica a
coordenada horizontal desta célula

Yindex Coordenada vertical da célula indicada na propriedade


Index. Por exemplo, se a propriedade Index é igual a 12,
esta propriedade indica a coordenada vertical desta
célula

NOTA
Todas as propriedades indicadas neste tópico são somente de leitura e estão disponíveis apenas em tempo de
execução.

3.4.6.2 Exemplos de Uso


O uso geral deste objeto consiste nestes passos:

1. Configure no Studio as propriedades de Dimensões e Formatos de Grade e de Preenchimento de Células.

2. Execute o evento CustomConfig para calcular as coordenadas. A propriedade Status indica o andamento deste
cálculo.

3. Uma vez geradas as coordenadas, salve o objeto.

4. Em tempo de execução, escreva na propriedade Index o número de uma célula, como por exemplo 3 (três).

5. Este objeto retorna, nas propriedades Xindex e Yindex, as coordenadas horizontais e verticais para a célula
indicada.

Em um cenário de preenchimento de grade por script, repita os passos 4 (quatro) e 5 (cinco), mudando o endereço
da célula na propriedade Index e lendo as coordenadas nas propriedades Xindex e Yindex. A seguir são mostrados
alguns cenários que ilustram a ordem na qual as células são preenchidas.

Objetos 33
3.4.6.2.1 Preenchimento por Coluna

1. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma coluna antes de passar para a próxima (propriedade
Orientation igual a zero), sem quebra de coluna (propriedade ColumnBreak igual a zero ou 3).

Preenchimento por coluna sem quebra

2. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma coluna antes de passar para a próxima (propriedade
Orientation igual a zero), com quebra de coluna após preencher duas células (propriedade ColumnBreak igual a
2).

Preenchimento por coluna com quebra

3.4.6.2.2 Preenchimento por Linha

1. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma linha antes de passar para a próxima (propriedade
Orientation igual a 1), sem quebra de linha (propriedade LineBreak igual a zero ou 3).

Preenchimento por linha sem quebra

2. Grade com nove células distribuídas em três linhas (propriedade Rows igual a 3) por três colunas (propriedade
Columns igual a 3), preenchendo inteiramente uma linha antes de passar para a próxima (propriedade
Orientation igual a 1), com quebra de linha após preencher duas células (propriedade LineBreak igual a 2).

Preenchimento por linha com quebra

3.4.6.2.3 Tipos de Colunas

As grades permitem acomodar diferentes tipos de objetos, por isto é possível configurar as colunas com até 3 (três)
larguras distintas, conforme os elementos exibidos em cada coluna. Para isto são definidos os tipos de colunas
Primárias, Secundárias e Terciárias.

34 Objetos
Cada tipo de coluna possui uma propriedade exclusiva que define a largura. A propriedade CellWidth define a
largura para a coluna primária, a propriedade CellWidthSecondaryColumn define a largura para a coluna secundária
e a propriedade CellWidthTertiaryColumn define a largura para a coluna terciária.

Desta forma, é possível escolher entre 3 (três) padrões diferentes de tamanhos de colunas, apenas colunas primárias,
uma combinação de colunas primárias com secundárias ou uma combinação de colunas primárias, secundárias e
terciárias.

As colunas usadas em cada padrão são aquelas cuja largura é configurada com um valor diferente de 0 (zero). Uma
vez definido o padrão, este se repete ao longo de toda a grade.

Padrão com Colunas de Mesma Largura

Para definir um padrão que use apenas uma largura para todas as células, deve-se usar apenas as colunas primárias.
Para isto, configure a propriedade CellWidth com um valor maior que 0 (zero) e as propriedades
CellWidthSecondaryColumn e CellWidthTertiaryColumn iguais a 0 (zero, desabilitado). O padrão construído é o de
um único valor de largura, que se repete em todas as células.

Colunas de mesma largura

Orientação por linha

Orientação por coluna

Padrão com Duas Larguras de Colunas

Para definir um padrão que use duas larguras distintas, deve-se usar as colunas primárias e secundárias. Para isto,
configure as propriedades CellWidth e CellWidthSecondaryColumn com um valor maior que 0 (zero) e a
propriedade CellWidthTertiaryColumn igual a 0 (zero, desabilitado). O padrão construído é o de duas larguras
distintas de colunas.

Duas larguras de colunas

Orientação por linha

Orientação por coluna

Sempre que o padrão é repetido, inicia novamente com uma coluna primária.

Objetos 35
Padrão em quatro colunas

Orientação por linha

Orientação por coluna

Padrão com Três Larguras de Colunas

Para definir um padrão que use três larguras distintas, deve-se usar as colunas primárias, secundárias e terciárias.
Para isto, configure as propriedades CellWidth, CellWidthSecondaryColumn e CellWidthTertiaryColumn com um
valor maior que 0 (zero). O padrão construído é o de três larguras distintas de colunas.

Padrão em três colunas

Orientação por linha

Orientação por coluna

Sempre que o padrão é repetido, inicia novamente com uma coluna primária.

Padrão em seis colunas

Orientação por linha

Orientação por coluna

36 Objetos
Padrão com Quebras de Linha ou Coluna

Ao definir uma quebra de linha, na propriedade LineBreak, ou uma quebra de coluna, na propriedade ColumnBreak,
restringe-se a repetição do padrão dentro do grupo definido pela quebra. A figura a seguir mostra uma grade
orientada por linha, configurada com duas linhas e três colunas, usando o padrão de colunas primária e secundária.

Padrão em três colunas

Orientação por linha

A figura a seguir mostra esta mesma grade configurada para o dobro de células e uma quebra de linha na terceira
coluna.

Padrão em seis colunas com quebra de linha

Orientação por linha

O grupo criado após a quebra sempre inicia com uma coluna primária. Isto vale também para a orientação vertical
com quebra de coluna.

3.4.6.2.4 Script para Criar e Posicionar Objetos na Grade

O script a seguir referencia um objeto hpXGridCalc e cria até 9 (nove) objetos do tipo hpLinkIcon, posicionando-os
na grade definida em um objeto hpXGridCalc. Ao atingir o limite de 9 (nove) objetos, estes são apagados e a
contagem é reiniciada.
Sub hpCommandButton1_OnEventClick()
Set gridCalc = Screen.Item("hpXGridCalc1")
With gridCalc
'Define as coordenadas iniciais
Xini = .X
Yini = .Y
'Apaga os objetos da grade
'e reinicia a contagem de Index
If .Index > (.Columns * .Rows) Then
.Index = 1
For Each obj In Screen
If InStr(obj.Name,"hpLinkIconTestGridA") <> 0 Then
Screen.DeleteObject(obj.Name)
End If
Next
End If
'Cria um objeto do tipo hpLinkIcon
'já posicionado na grade
Set elm = Screen.AddObject("hpLinkIcon", False, "hpLinkIconTestGridA")
elm.X = Xini + .Xindex
elm.Y = Yini + .Yindex
elm.IconName = "hpIcon" & CStr(.Index)
elm.Activate()
elm.BringToFront()
'Aponta Index para o próximo objeto a ser criado
.Index = .Index + 1
End With
End Sub

Objetos 37
3.4.7 ~hpXInterlocksConfig
Objeto usado internamente na Tela Interlocks, deve ser configurado pelo usuário para garantir o funcionamento
conforme as preferências. As propriedades disponíveis neste objeto estão descritas na tabela a seguir.

Propriedades do objeto ~hpXInterlocksConfig

PROPRIEDADE DESCRIÇÃO
ShowEmbeddedCloseButton Controla a visibilidade do botão Close. Os valores
possíveis são True: Mostra o botão ou False: Esconde o
botão

UseShortNames Configura o uso dos nomes do objetos do Elipse Power


no cabeçalho de uma Tela. Os valores possíveis são
True: Mostra os nomes abreviados ou False: Mostra os
nomes completos

NOTA
Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.

3.4.8 ~hpXLinkBridge
Objeto usado internamente na Tela Faceplate, tem a função de operar as Associações que controlam a visibilidade das
abas. Não é configurável pelo usuário.

NOTA
Este objeto é de uso restrito e não deve ser usado diretamente em uma aplicação.

38 Objetos
CAPÍTULO
Tela Faceplate
4
Uma Tela Faceplate lê o código especificado na propriedade PopupCode do objeto hpXFaceplateTemplate, na
estrutura de controle, e monta as abas e os controles de acordo com a configuração, conforme a figura a seguir.

Tela Faceplate

Os tópicos a seguir descrevem os passos necessários para configurar uma aplicação para uso da Tela Faceplate.

4.1 Estrutura de Dados


Primeiramente deve ser criada uma estrutura de dados para ser refletida na Tela Faceplate, de acordo com as
definições da Biblioteca PlantModel. Para mais informações, consulte o Manual do Usuário da Biblioteca
PlantModel.

4.2 Geração de Código XML


Para garantir uma melhor performance, a Tela Faceplate utiliza código XML ao invés de acessar diretamente os
objetos da estrutura de dados. Sendo assim, é necessário gerar o código XML que reflete esta estrutura usando o
objeto hpXMLCatalog.

4.2.1 Configuração do Objeto hpXMLCatalog


Após instanciar um objeto hpXMLCatalog, certifique-se de configurar as propriedades deste objeto conforme
descrito a seguir.

· HideDataType: Configure com o valor "ScadaSource;OperatorSource;SimulationSource" (apenas para fins de


economia de código)

· InitialPath: Informe aqui o PathName da pasta a ser escaneada

· OutputMode: Configure com o valor 1 (um, armazena o código XML gerado na propriedade xmlData de cada
objeto xfPlantFolder)

· XMLTemplate: Configure com o valor 3 (três)

Tela Faceplate 39
· XRefMode: Configure com o valor 1 (um)

Estas configurações permitem gerar um código XML já otimizado para o uso da Tela Faceplate, que é salvo em cada
objeto da estrutura de dados que represente um equipamento.

4.2.2 Armazenamento do Código XML


Após a configuração, deve-se executar o método CustomConfig do objeto hpXMLCatalog para salvar o código XML
de cada dispositivo em suas respectivas pastas xfPlantFolder.

É importante garantir que a pasta raiz de cada equipamento, que é do tipo xfPlantFolder, tenha sua propriedade
StoreXML configurada com o valor Verdadeiro. Isto permite o armazenamento do código XML na propriedade
xmlData, que é lida pela Tela Faceplate durante a abertura.

4.2.3 Referências Externas


Objetos do tipo xfPMRef (consulte o Manual do Usuário da Biblioteca PlantModel) são Associações ou referências
externas que funcionam como atalhos que apontam para objetos fora da estrutura de dados onde estas Associações
se encontram.

A Tela Faceplate não aceita código XML contendo nós do tipo xfPMRef, ou seja, que referenciem conteúdo externo.
Por isto, ao gerar um arquivo XML onde a propriedade XMLTemplate é igual a 3 (três, Faceplate), automaticamente o
valor da propriedade XRefMode é alterado para 1 (um), a fim de eliminar os atalhos e mesclar o conteúdo externo ao
código XML resultante.

4.3 Configuração de Estilo


Deve ser definido o estilo a ser usado pela Tela Faceplate através do objeto hpPopupTemplate. Na Biblioteca
HighPerformance Template este objeto está localizado na pasta hpObjects - ScreenTemplates. Este template de
estilo deve ser informado na propriedade popTemplate do objeto hpPopupOpen responsável pela abertura da Tela
Faceplate.

4.3.1 Definindo o Modo de Visualização


A Tela Faceplate possui os seguintes modos de visualização, definidos na propriedade DisplayMode do objeto
~hpXFaceplateConfig:

· 0: Janela retrátil com largura mínima manual

· 1: Janela retrátil com largura mínima automática

· 2: Janela sempre expandida com largura mínima manual

· 3: Janela sempre expandida com largura mínima automática

Nos modos 0 (zero) e 1 (um), a Tela Faceplate é retrátil para que ocupe a menor área de Tela quando aberta,
enquanto nos modos 2 (dois) e 3 (três), a Tela é exibida sempre expandida para que o conteúdo sempre esteja visível.

Nos modos 1 (um) e 3 (três), a Tela pode atingir a menor largura quando estiver retraída, no modo 1 (um), ou quando
houver poucos elementos exibidos, no modo 3 (três). Se o tamanho reduzido prejudicar a legibilidade de alguma
informação, os modos 0 (zero) e 2 (dois) permitem configurar manualmente o tamanho mínimo.

As dimensões das abas são definidas nas Associações existentes nas propriedades dimGroup[Aba] do objeto
~hpXEventBridge. Por exemplo, a propriedade dimGroupAnalogs define a dimensão da Tela quando a aba Analogs
está aberta e retraída, enquanto a propriedade dimGroupAnalogs2 executa este procedimento para a mesma aba
expandida.

40 Tela Faceplate
4.3.2 Ajustando o Conteúdo à Grade
Todo o controle de largura e altura das células onde são posicionados os objetos de cada aba é realizado nos
objetos hpXGridCalc contidos nos respectivos grupos de cada aba, dentro da Tela Faceplate.

Eventualmente pode haver variações nas configurações destas grades, como no caso em que o conteúdo pode ser
exibido horizontalmente, ByRow, ou verticalmente em colunas, ByColumn.

O script da Tela adapta o conteúdo exibido à configuração destes objetos de grade. Por exemplo, a grade da aba
Commands pode ser configurada para ter apenas duas colunas, propriedades Columns e LineBreak iguais a 2 (dois),
uma para o título e outra para um botão de comando.

Grade com duas colunas

Se a grade é configurada para exibir três colunas, propriedades Columns e LineBreak iguais a 3 (três), uma para o
título e duas para os comandos, o conteúdo se adapta automaticamente.

Tela Faceplate 41
Grade com três colunas

Da mesma forma, pode-se optar por dispor os elementos por coluna.

Grade por coluna

Somente as abas Comandos, Discretos e Status possuem este recurso, configurado nas propriedades
groupByColumnCommands e groupByColumnDiscretes do objeto ~hpXEventBridge, e na propriedade MultiState
do objeto xfDiscreteInfo para a aba Status.

No caso da aba Status, basta que um único objeto xfDiscreteInfo esteja com a propriedade MultiState configurada
para Verdadeiro para que a disposição dos elementos seja representada verticalmente.

Caso esta disposição seja usada com a Tela retrátil, modos 0 (zero) ou 1 (um), é preciso definir o número de colunas
que são exibidas na visualização com Tela retraída. Esta configuração é realizada nas propriedades

42 Tela Faceplate
numColumnsNormal[Aba] do objeto ~hpXEventBridge. Por exemplo, a propriedade
numColumnsNormalCommands configura o número de colunas para a aba Comandos.

Aba Protection

A aba Protection é um caso especial, que possui duas grades em grupos diferentes. A grade no grupo
GroupProtections funciona como nas demais abas. Já a grade no grupo GroupProtections3 foi criada
especificamente para as informações expandidas de cada Proteção.

Configuração Manual

Caso o usuário opte por configurar um tamanho mínimo manual com a Tela recolhida, propriedade DisplayMode
igual a 0 (zero), pode ocorrer o corte de elementos que não cabem na Tela.

Configuração manual

Isto pode ocorrer por tratar-se de uma configuração manual. Neste caso, recomenda-se:

· Aumentar a largura da Tela nas propriedades dimGroup[Aba] do objeto ~hpXEventBridge

· Reduzir largura de cada célula da grade para caber todos os objetos

· Reduzir o número de colunas da grade

O valor da propriedade DisplayMode também pode ser alterado para 1 (um) ou 3 (três), de forma que a Tela se
adapte para exibir todos os objetos.

4.3.3 Exibindo o Botão de Fechar a Janela


A janela da Tela Faceplate pode ter seu estilo configurado para ocultar o botão para fechar a janela ou para ocultar a
barra de título. Na figura a seguir, as propriedades flagShowCloseButton, flagShowMaximizeButton e
flagShowMinimizeButton estão configuradas em Falso.

Tela Faceplate 43
Botões da barra de título ocultos ou inativos

Na figura a seguir, a propriedade flagShowWindowTitle está configurada para Falso.

Barra de título oculta

Neste caso, é preciso configurar a propriedade HorizontalOffset do objeto ~hpXFaceplateConfig para um valor
diferente de 0 (zero), como mostrado na figura a seguir, para exibir o botão Fechar no corpo da janela.

44 Tela Faceplate
Botão Fechar instanciado na janela

Para manter este botão invisível, configure a propriedade HorizontalOffset com o valor 0 (zero).

4.4 Configuração de Abas


Utilize o objeto hpXFaceplateTemplate para informar quais dados a Tela Faceplate exibe, qual a ordem das abas e
qual aba é visível ao abrir a janela.

Recomenda-se criar um template para cada tipo de equipamento, como por exemplo um para Bombas e outro para
Válvulas. Em alguns casos pode ser interessante classificar os templates por fabricante de equipamentos que tenham
funcionamento e simbologia similar. Isto, no entanto, não é uma regra rígida e cada aplicação tem suas
particularidades.

Cada equipamento deve ter configurado o caminho do objeto hpXFaceplateTemplate na propriedade


FaceplateTemplate do objeto de dados, o mesmo configurado na propriedade DataObject das instâncias de
equipamentos em Telas.

Para mais informações, consulte o tópico hpXFaceplateTemplate.

4.4.1 Criação de um Botão de Aba Personalizado


Para criar um botão de aba personalizado, siga estes passos:

1. Crie um XControl em uma biblioteca de usuário.

2. Tomando por base o objeto hpLinkIcon da biblioteca hpMenus, copie e cole no novo XControl somente as
primitivas. Exclua as propriedades e os scripts que vieram do objeto original.

3. O grupo Object pode ser desagrupado, resultando em apenas dois objetos na raiz do XControl, MouseArea e
Background.

4. Insira o ícone desejado na raiz do XControl, que pode ser qualquer ícone da biblioteca hpIcons ou equivalente.

5. Simplifique a Associação na propriedade Foreground do objeto Background para a expressão a seguir.


-1*CInt(Parent.MouseArea.MouseOver)

Tela Faceplate 45
NOTA
As Associações cadastradas na janela de conexão múltipla desta Associação devem permanecer inalteradas. Apenas
o campo Source da Associação original deve ser alterado.

6. No objeto MouseArea, mantenha apenas a Associação na propriedade FillStyle.

7. Configure o script do XControl, por exemplo no evento Click do objeto MouseArea, com o código a seguir.
Sub MouseArea_Click()
MsgBox "Hello!"
End Sub

8. Selecione o objeto MouseArea e clique em Enviar para a frente.

9. Salve o XControl.

Sempre que este botão personalizado é declarado na propriedade PopupCode do objeto hpXFaceplateTemplate,
deve obedecer ao formato Biblioteca.XControl, onde Biblioteca é o nome do arquivo de biblioteca que contém o
XControl e XControl é o nome do objeto.

4.4.2 Criação de um Ícone Personalizado


Para criar um ícone personalizado, siga estes passos:

1. Crie um XControl em uma biblioteca de usuário.

2. Tomando por base um ícone qualquer da biblioteca hpIcons, copie e cole neste novo XControl as primitivas e as
propriedades.

3. Salve o XControl.

Sempre que este botão personalizado é declarado na propriedade PopupCode do objeto hpXFaceplateTemplate,
deve obedecer ao formato Biblioteca.Ícone, onde Biblioteca é o nome do arquivo de biblioteca que contém o ícone, e
Ícone é o nome do objeto.

NOTA
Para mais informações sobre o uso de ícones personalizados, consulte o tópico Abas do Tipo Custom.

4.5 Valores Passados à Tela


A Tela Faceplate deve receber, em seu parâmetro Arg, a propriedade PathName do objeto de dados, do tipo
xfPlantFolder, e a orientação do símbolo gráfico do dispositivo. Estas informações devem ser passadas como uma
String separada por ponto e vírgula, como no exemplo a seguir.
XCValveB.DataObject.PathName & ";" & XCValveB.Orientation

4.6 Formatação de Símbolos Gráficos


A Tela Faceplate exibe o símbolo do equipamento ao qual se refere e, para isto, lê no objeto hpXFaceplateTemplate
qual o nome do símbolo, na propriedade DeviceControlName, e em qual biblioteca se encontra, na propriedade
DeviceControlGallery.

Além disto, todo símbolo exibido pela Tela Faceplate deve obedecer aos critérios a seguir.

· Ter uma propriedade chamada DataObject, do tipo xfPlantFolder, com valor inicial vazio. Esta propriedade
recebe uma Associação com a propriedade PathName do objeto de dados

46 Tela Faceplate
· Ter uma propriedade chamada Orientation, do tipo Integer, com valor inicial 0 (zero). Esta propriedade indica se
o objeto deve ser representado na vertical ou na horizontal, ou se espelhado à esquerda ou à direita. Por
exemplo, uma válvula pode ser representada em quatro diferentes orientações, definidas pela propriedade
Orientation com os valores 0 (zero), 1 (um), 2 (dois) ou 3 (três)

· Todas as primitivas do Elipse E3 ou imagens que compõem um objeto gráfico implementado pelo desenvolvedor
da aplicação devem estar contidas em um Grupo ou Animação denominado Device

· Dentro de cada Grupo ou Animação Device, deve ser instanciado um objeto do tipo hpPopupOpen denominado
hpPopupOpen1. Durante a abertura, a Tela Faceplate desabilita automaticamente este objeto para que não se
possa abrir uma nova instância da Tela Faceplate a partir da própria Tela

Para não exibir o ícone do equipamento na Tela Faceplate, configure a propriedade DeviceControlName do objeto
hpXFaceplateTemplate para uma String vazia.

4.7 Uso com Objetos do Elipse Power


Para que o Template do tipo 3: Faceplate possa ser usado com objetos do Elipse Power, é necessário realizar as
seguintes configurações:

Objetos de Tela

1. Selecione um objeto na biblioteca PowerControls, por exemplo um Disjuntor (Breaker).

2. Crie uma propriedade chamada "DataObject", do tipo xfPlantFolder.

3. Clique com o botão direito do mouse no Disjuntor e selecione a opção Inserir - Bibliotecas - hpMenus -
hpPopupOpen, de forma que este objeto abra a Tela Faceplate com um clique do mouse.

4. Crie uma Associação Simples na propriedade popArg do objeto hpPopupOpen com a expressão
"Parent.DataObject.PathName".

5. Crie uma Associação Simples na propriedade popName do objeto hpPopupOpen com a expressão
"Parent.ModalScreenName".

6. Crie uma Associação na propriedade popTemplate do objeto hpPopupOpen com a expressão


"hpObjects.ScreenTemplates.Faceplate1".

7. Selecione o objeto XPowerMenuCreator1 e altere as propriedades Enabled e Visible para Falso.

Objetos de Dados

1. Para criar um objeto que armazene código XML, selecione um objeto na estrutura de dados que represente um
equipamento.

2. Crie uma pasta do tipo DataServer na raiz deste objeto, chamada "xmlView".

3. Clique com o botão direito do mouse na pasta e selecione a opção Inserir - Panel - Tag Interno. Nomeie este
Tag como "xmlData".

4. Repita este processo para cada equipamento na estrutura de dados.

5. Para configurar o endereço de um objeto hpXFaceplateTemplate, configure a propriedade DocString do


equipamento com o caminho do respectivo objeto hpXFaceplateTemplate, como por exemplo
"hpXObjects.FaceplateTemplates.hpXFaceplateTemplate_Breaker".

Configuração de um Objeto hpXMLCatalog

1. Configure a propriedade KeywordProperty do objeto com uma String vazia.

Tela Faceplate 47
2. Configure a propriedade XMLTemplate do objeto com o valor 3: Faceplate.

3. As demais configurações são as mesmas usadas para a Biblioteca PlantModel.

4.8 Configurando o Viewer


É necessário configurar a propriedade CacheEnable do Viewer em Verdadeiro para que a Tela Faceplate funcione
corretamente.

4.9 Abrindo a Tela Faceplate pela Primeira Vez


Após a configuração, a aplicação está pronta para o uso da Tela Faceplate. Uma referência do funcionamento pode
ser visualizada na aplicação de demonstração da Biblioteca HighPerformance Template.

48 Tela Faceplate
Matriz Filial em São Paulo
Rua Mostardeiro, 322/Cj. 902, 1001 e 1002 Rua dos Pinheiros, 870/Cj. 141 e 142
90430-000 — Porto Alegre — RS 05422-001 — São Paulo — SP
Fone: (+55 51) 3346-4699 Fone: (+55 11) 3061-2828
Fax: (+55 51) 3222-6226 Fax: (+55 11) 3086-2338
E-mail: elipse-rs@elipse.com.br E-mail: elipse-sp@elipse.com.br

Filial no Paraná Filial em Minas Gerais


Av. Sete de Setembro, 4698/1708 Rua Antônio de Albuquerque, 156/705
80240-000 — Curitiba — PR 30112-010 — Belo Horizonte — MG
Fone: (+55 41) 4062-5824 Fone: (+55 31) 4062-5824
E-mail: elipse-pr@elipse.com.br E-mail: elipse-mg@elipse.com.br

Filial no Rio de Janeiro Filial em Taiwan


Av. José Silva de A. Neto, 200/Bl. 4/ Sl. 109B 9F., No.12, Beiping 2nd St., Sanmin Dist.
22775-056 — Rio de Janeiro — RJ 807 — Kaohsiung City — Taiwan
Fone Comercial: (+55 21) 2430-5912 Fone: (+886 7) 323-8468
Suporte Técnico: (+55 21) 2430-5963 Fax: (+886 7) 323-9656
E-mail: elipse-rj@elipse.com.br E-mail: evan@elipse.com.br

Elipse Software Knowledgebase

Integradores Youtube

Treinamentos e Certificações Fórum

Documentação Online Ensino à Distância

Gartner, Cool Vendors in Brazil 2014, April 2014.


Gartner does not endorse any vendor, product or service depicted in its
research publications, and does not advise technology users to select only
those vendors with the highest ratings. Gartner research publications
consist of the opinions of Gartner’s research organization and should not
be construed as statements of fact. Gartner disclaims all warranties,
expressed or implied, with respect to this research, including any warranties
of merchantability of fitness for a particular purpose.

Você também pode gostar