Você está na página 1de 30

Manual do Usuário da

Biblioteca HighPerformance
Extensions

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


Versão 2.0.89 (06/12/2021)
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 ............................................................................................................... 4
3.3 Biblioteca hpXControls ........................................................................................................................ 9
3.4 Biblioteca hpXView ............................................................................................................................ 13
4 Tela Faceplate ........................................................................................................................................... 22
4.1 Estrutura de Dados ............................................................................................................................ 22
4.2 Geração de Código XML .................................................................................................................... 22
4.3 Configuração de Estilo ....................................................................................................................... 23
4.4 Configuração de Dados ..................................................................................................................... 25
4.5 Valores Passados à Tela ..................................................................................................................... 25
4.6 Formatação de Símbolos Gráficos ................................................................................................... 25
4.7 Criação de um Botão de Aba Personalizado ................................................................................... 26
4.8 Criação de um Ícone Personalizado ................................................................................................. 26
4.9 Configurando o Viewer ...................................................................................................................... 27
4.10 Abrindo a Tela Faceplate pela Primeira Vez ................................................................................. 27

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 E3
modelados utilizando a Biblioteca Plant Model, porém utilizando os mesmos moldes e conceitos da Biblioteca
HighPerformance Template.

A Biblioteca Plant Model 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 Plant Model.

A Biblioteca HighPerformance Extensions, por sua vez, permite exibir e interagir com a Biblioteca Plant Model 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

1 Introdução
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.

Instalação em uma Aplicação 2


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 Plant Model, 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

3 Objetos
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

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

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 Título deste botão

StatusEnabled Muda a cor do texto se configurado para Verdadeiro

StatusInterlocked Habilita ou desabilita o botão

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

Objetos 4
PROPRIEDADE DESCRIÇÃO
Domain Nome do Domínio Remoto, se houver, no formato
DOMAIN:

EnableClick Habilita este objeto a responder ao clique do mouse

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

HideSPLegend Exibe ou oculta a legenda do setpoint

PlantFolder Associação para um objeto 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

ShowFaceplate Exibe ou não a Tela configurada ao clicar

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 Caminho do Tag global, em Viewer.Others.ShowTags,


que habilita 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

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

5 Objetos
PROPRIEDADE DESCRIÇÃO
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 Habilita este objeto a responder ao clique do mouse

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

HideSPLegend Exibe ou oculta a legenda do setpoint

PlantFolder Associação para um objeto 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 Exibe uma caixa sobre o display

ShowFaceplate Exibe ou não a Tela configurada ao clicar

ShowLegend Exibe ou oculta os limites

ShowLegendAlarm Exibe ou oculta os alarmes

ShowSPIndicator Exibe ou oculta o indicador de setpoint

ShowTag Exibe ou oculta a propriedade Name do objeto


xfAnalogInfo

ShowTagObj Caminho do Tag global, em Viewer.Others.ShowTags,


que habilita 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

XChartColor Cor usada pela barra quando a propriedade


UseXChartColor está configurada com o valor
Verdadeiro

Objetos 6
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 Texto alternativo ao texto definido no objeto
xfDiscreteInfo, ou seja, as propriedades Caption ou
Name

DiscreteInfo Associação para um objeto xfDiscreteInfo

Inverse Inverte os estados para indicação visual

ShowCaption Exibe ou oculta a propriedade Caption do objeto


xfDiscreteInfo

ShowTag Exibe ou oculta a propriedade Name do objeto


xfDiscreteInfo

TextWidth Largura do texto

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 Texto alternativo ao texto definido no objeto
xfDiscreteInfo, ou seja, as propriedades Caption ou
Name

DiscreteInfo Associação para um objeto xfDiscreteInfo

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


para a Tela a ser aberta

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


DOMAIN:

Inverse Inverte os estados para indicação visual

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

popTemplate Template com a formatação visual do objeto


hpPopUpTemplate

ShowCaption Exibe ou esconde a propriedade Caption do objeto


xfDiscreteInfo

ShowFaceplate Exibe ou esconde a Tela configurada ao clicar

7 Objetos
PROPRIEDADE DESCRIÇÃO
ShowTag Exibe ou esconde a propriedade Name do objeto
xfDiscreteInfo

TextWidth Largura do texto

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

CustomFormat Formatação alternativa que substitui o conteúdo definido


na propriedade Format do objeto xfAnalogInfo

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


DOMAIN:

EnableClick Habilita este objeto a responder ao clique do mouse

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

FlexControl Exibe ou esconde a janela pop-up padrão de medidas


analógicas 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

ShowFaceplate Exibe ou esconde a Tela configurada ao clicar

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 Habilita este objeto a responder ao clique do mouse

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

Objetos 8
PROPRIEDADE DESCRIÇÃO
PowerMode Verdadeiro se o dado vem de um objeto do Elipse
Power

StateText Valor padrão para comparação, entre 0 (zero) e 3 (três)

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 Plant Model, 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

· 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

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


objeto recebe a tecla ENTER após a digitação ou perde
o foco

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.3 Biblioteca hpXControls


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

9 Objetos
3.3.1 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.2 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 Exibe ou não a Tela de detalhes ao clicar

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

popTemplate Template com a formatação visual do objeto


hpPopUpTemplate

3.3.3 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 Associação para um objeto que indique o estado de by-
pass

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 Permite enviar ou bloquear um comando de by-pass

3.3.4 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.

Objetos 10
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 Alterna instâncias de XControls definidos nas


propriedades GroupCollapsed e GroupExpanded

3.3.5 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

3.3.5.1 Abas do Tipo System


Abas System são definidas na Biblioteca Plant Model, 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 na pasta Measures

· D: Medidas Discretas na pasta Measures

· C: Comandos na pasta Commands

· S: Status na pasta Status

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

11 Objetos
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. Salvo indicação explícita, descrita no tópico Marcadores, a janela
abre exibindo a primeira aba declarada, neste caso a aba Analógicas.

3.3.5.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

3.3.5.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)

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

3.3.5.4 Marcadores
O marcador * (asterisco) indica a aba que deve ser exibida ao abrir a janela pela primeira vez e deve ser declarado
imediatamente antes da letra correspondente. O marcador # (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.

3.3.5.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

Objetos 12
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

· 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.5.6 Instâncias
Os objetos hpXFaceplateTemplate devem ser instanciados na pasta hpXObjects.FaceplateTemplates, contida no
projeto hpXMain.

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

Propriedades do objeto hpXProtection

PROPRIEDADE DESCRIÇÃO
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

3.4 Biblioteca hpXView


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

3.4.1 DataObjectBridge
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.

3.4.2 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

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

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

3.4.2.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.2.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

Columns Número de colunas da grade

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

Rows Número de linhas da grade

SpaceBetweenBreaks Espaçamento, em Himetric, entre dois grupos


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

3.4.2.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

3.4.2.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.2.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

Objetos 14
PROPRIEDADE DESCRIÇÃO
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.2.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

15 Objetos
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.2.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.2.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

Objetos 16
3.4.2.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.2.2.3 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.2.2.4 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.3 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

17 Objetos
· 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.3.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.3.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

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

Columns Número de colunas da grade

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

Rows Número de linhas da grade

SpaceBetweenBreaks Espaçamento, em Himetric, entre dois grupos


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

3.4.3.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.3.1.3 Funcionalidades no Studio

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

Objetos 18
PROPRIEDADE DESCRIÇÃO
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.3.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

3.4.3.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.

19 Objetos
3.4.3.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.

3.4.3.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.3.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).

Objetos 20
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.3.2.3 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

21 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 Plant Model. Para mais informações, consulte o Manual do Usuário da Biblioteca Plant
Model.

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.

· ExtraProperties: Não é necessário configurar nenhum parâmetro

· GetAllChildren: Configure em Verdadeiro

· 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

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

· RunOnStart: Configure em Falso para melhor desempenho na inicialização do Viewer, porém requer que seja
executado via método CustomConfig

· ScanNodeAfterSave: Configure em Falso

· ShowRootFolder: Configure em Verdadeiro

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

· 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 Plant Model) 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 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.

23 Tela Faceplate
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 o Tag Interno hShift para um valor diferente de 0 (zero), como mostrado na figura a
seguir, para exibir o botão Fechar no corpo da janela.

Tela Faceplate 24
Botão Fechar instanciado na janela

Este Tag está em Faceplate - hpData - Start - Vars, e seu valor deve ser menor do que 0 (zero), pois se refere ao
deslocamento horizontal a partir da borda direita da janela. O valor 0 (zero) se refere à borda. No exemplo da
imagem anterior, foi configurado com o valor -600, que é o valor recomendado. Para manter este botão invisível,
configure o valor do Tag hShift com o valor 0 (zero).

4.4 Configuração de Dados


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.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.

25 Tela Faceplate
· 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

· 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 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 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)

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.8 Criação de um Ícone Personalizado


Para criar um ícone personalizado, siga estes passos:

Tela Faceplate 26
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.

4.9 Configurando o Viewer


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

4.10 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.

27 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
22775-056 — Rio de Janeiro — RJ Dist.
Fone Comercial: (+55 21) 2430-5912 807 — Kaohsiung City — Taiwan
Suporte Técnico: (+55 21) 2430-5963 Fone: (+886 7) 323-8468
E-mail: elipse-rj@elipse.com.br Fax: (+886 7) 323-9656
E-mail: evan@elipse.com.br

Consulte nosso website para informações sobre o representante do seu estado.


www.elipse.com.br
kb.elipse.com.br
forum.elipse.com.br
www.youtube.com/elipsesoftware
elipse@elipse.com.br

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