Você está na página 1de 617

W O N D E R W A R E ® T R E I N A M E N T O

Manual de treinamento
Revisão E
Fevereiro de 2006
Número de peça 05-2039

InTouch® HMI 9.5


Fundamentos do curso de
desenvolvimento de
aplicativos
NFORMAÇÕES NESTE DOCUMENTO ESTÃO SUJEITAS A MUDANÇAS SEM COMUNICAÇÃO PRÉVIA.

© 2005 por Invensys Systems, Inc. Todos os direitos reservados. Nenhuma parte deste documento pode ser
reproduzida, armazenada ou introduzida em um sistema de recuperação, ou transmitida em qualquer
formulário ou por qualquer meio (eletrônico, mecânico, fotocópia, registro ou semelhante), ou para qualquer
fim, sem a permissão expressa escrita da Invensys Systems, Inc. Exceto onde indicado, as empresas,
organizações, produtos, nomes de domínio, endereços de e-mail, logos, pessoas, locais e eventos descritos
neste são fictícios e não há intenção de fazer associação ou de se presumir associação com empresas,
organizações, produtos, nome de domínio, endereço de e-mail, logo, pessoa, local ou evento real.

Invensys e o autor não se responsabilizam por erros ou omissões e nenhuma responsabilidade é assumida
por danos resultantes do uso de informações contidas aqui. O uso do software Invensys descrito neste
documento está sujeito aos termos da licença Wonderware Corporation ou Invensys Systems, Inc.
aplicáveis. Estes termos incluem cláusulas que limitam seus direitos como restrições de uso, termos de
isenção de responsabilidade de garantias e limitações de responsabilidade da Wonderware e da Invensys.
Uma cópia da licença aplicável estará exibida na instalação inicial do software. Se uma cópia da licença não
é exibida ou se precisar de uma cópia adicional da licença, você poderá obter uma da unidade de negócios
Wonderware da Invensys mediante solicitação através do telefone 1.949.727.3200 ou enviando um e-mail
para support@wonderware.com.

Invensys; Wonderware; ActiveFactory; ArchestrA; DT Analyst; FactorySuite; FactorySuite A2; InBatch;


InControl; IndustrialSQL Server; InTouch; InTrack; QI Analyst; SCADAlarm; SPCPro; SuiteLink;
SuiteVoyager; WindowMaker; WindowViewer; Todo o sistema em sua fábrica, trabalhando em conjunto; e os
logos Visualize, Analyze, Optimize são marcas comerciais ou marcas de serviço da Invensys plc, suas
subsidiárias e empresas afiliadas. Todas as outras marcas e os nomes de produtos ou de serviços podem
ser as marcas comerciais ou marcas de serviço de seus respectivos donos.
Índice 1

Índice
Módulo 1 Introdução....................................................................................1-1
Seção 1 – Introdução ao curso .......................................................................... 1-3
Seção 2 – Introdução ao InTouch.................................................................... 1-11

Módulo 2 Ambiente de desenvolvimento .................................................2-1


Seção 1 – Introdução ........................................................................................ 2-3
Seção 2 – Como usar o WindowMaker ........................................................... 2-27
Laboratório 1 – Criação de uma nova aplicação, Windows e Graphics .... 2-63

Módulo 3 Dicionário TagName ..................................................................3-1


Seção 1 – Tags e recursos de tags .................................................................. 3-3
Laboratório 2 – Criação de tags ................................................................ 3-17

Módulo 4 Links de animação .....................................................................4-1


Seção 1 – Características gerais de links de animação ................................... 4-3
Seção 2 – Objetos de animação ....................................................................... 4-9
Seção 3 – Links de animação – Referência rápida ........................................ 4-45
Laboratório 3 – Configuração de links de animação ................................. 4-49
Seção 4 – Como usar SmartSymbols.............................................................. 4-63
Laboratório 4 – Como usar SmartSymbols ............................................... 4-81

Módulo 5 InTouch QuickScripts .................................................................5-1


Seção 1 – Tipos de QuickScript ........................................................................ 5-3
Seção 2 – Trabalhar com o editor script .......................................................... 5-13
Seção 3 – QuickScripts – Referência rápida ................................................... 5-35
Laboratório 5 – Como usar InTouch QuickScripts..................................... 5-39

Módulo 6 Alarmes ........................................................................................6-1


Seção 1 – Alarmes e eventos ........................................................................... 6-3
Seção 2 – O objeto alarme distribuído ........................................................... 6-23
Laboratório 6 – Criação de alarmes e eventos ......................................... 6-39

Módulo 7 Tendência em tempo real e de histórico ..................................7-1


Seção 1 – Tendências em tempo real ............................................................... 7-3
Laboratório 7 – Configuração de tendências em tempo real ...................... 7-7
Seção 2 – Tendências de histórico.................................................................. 7-11
Laboratório 8 – Configuração de tendências de histórico ........................ 7-27

Módulo 8 Comunicação de E/S ..................................................................8-1


Seção 1 – Protocolos de comunicação de E/S ................................................. 8-3
Seção 2 – Servidores de E/S Wonderware .................................................... 8-13
Laboratório 9 – Configuração de comunicação de E/S ............................ 8-19
Seção 3 – Localização de falhas de E/S ......................................................... 8-25

Módulo 9 Funcionalidade avançada de tag 9-1


Seção 1 – Funções de E/S avançadas ............................................................. 9-3
Seção 2 – Tags indiretas .................................................................................. 9-7
Laboratório 10 – Criação e uso de tags indiretas........................................ 9-9
Seção 3 – SuperTags ....................................................................... InTouch 9-15
Laboratório 11 – Definição de SuperTags................................................. 9-27
Seção 4 – DBDump e DBLoad ........................................................................ 9-37

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2 InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos

Seção 5 – Otimização do dicionário tagname .................................................. 9-43


Laboratório 12 – Remoção de tags............................................................ 9-55

Módulo 10 Segurança ................................................................................. 10-1


Seção 1 – Modelos de segurança ................................................................... 10-3
Laboratório 13 – Como estabelecer segurança 10-15
Seção 2 – Proteção da aplicação .................................................................. 10-27

Módulo 11 Backup da aplicação ............................................................... 11-1


Seção 1 – Backup da aplicação ...................................................................... 11-3

Apêndice A Licença FactorySuite 2000 .......................................................A-1

Apêndice B Suporte ao produto Wonderware .............................................B-1

Apêndice C Glossário de termos InTouch C-1

Apêndice D Controles ActiveX ......................................................................D-1

Apêndice E Observações técnicas referentes ao InTouch .........................E-1

Apêndice F Simulação de E/S........................................................................ F-1

Apêndice G Funções de script ..................................................................... G-1

Apêndice H Como usar o InTouch em um microcomputador Tablet ........H-1

Apêndice I Atalhos de teclado para InTouch ............................................... I-1

Treinamento Wonderware
Módulo 1

Introdução
Seção 1 – Introdução ao curso 1-3
Seção 2 – Introdução ao InTouch 1-13
1-2 Módulo 1 – Introdução

Objetivos do módulo
z Estabelecer o conteúdo do curso
z Lançar o InTouch®
z Criar um novo aplicativo InTouch
z Entender os recursos e as ferramentas de Gerenciador de Aplicação

Treinamento Wonderware
Seção 1 – Introdução ao curso 1-3

Seção 1 – Introdução ao curso

Objetivos da seção
z Descrever os objetivos do conteúdo completo do curso
z Destacar os laboratórios deste curso

Esta seção irá familiarizá-lo com os objetivos e o conteúdo do curso Fundamentos do curso de
desenvolvimento de aplicativos InTouch. Descreve também os produtos Wonderware e como o
InTouch atende as especificações de interface homem-máquina para visualização.

Descrição do curso
O InTouch® HMI 9.5 é orientado pelo instrutor com duração de 5 dias com o objetivo de
apresentar o recurso básico do módulo de visualização Wonderware®.
O objeto deste curso é oferecer o conhecimento em InTouch® IHM necessário para desenvolver
uma Interface Homem Máquina (IHM) para seu ambiente específico de chão de fábrica com
elementos básicos InTouch® IHM. Este sistema IHM será desenvolvido usando muitos dos
recursos/funcionalidades do software InTouch® IHM como WindowMaker, Tagnames, Animation,
Cells e Symbols, SmartSymbols, Scripting, Alarms, RealTime e Historical Trending, Advance Tag
Functionality, Security, Application Backup e muito mais.

Objetivos do curso
Ao final deste laboratório, você:
z Usará o WindowMaker para criar janelas e manipular objetos
z Criará e importará tags e usará o Dicionário Tagname
z Definirá links de animação e gerará SmartSymbols
z Usará o editor de scripting para criar QuickScripts
z Adicionará a funcionalidade de alarme ao aplicativo
z Verá os dados de usuário em tempo real e recuperará os dados de arquivos históricos
z Estabelecerá comunicação com drivers, além de configurar e localizar falhas em
Servidores de E/S
z Implementará segurança InTouch® HMI em um aplicativo
z Fará backup de um aplicativo
z Desenvolverá um aplicativo de Interface Homem Máquina (IHM) para seu ambiente de
chão-de-fábrica especifico usando elementos básicos InTouch®

Público
Operadores de chão-de-fábrica, gerentes, administradores de sistema, integradores de sistema e
outros indivíduos que precisam usar o InTouch® HMI em seus processos de manufatura.

Pré-requisitos
Os pré-requisitos deste curso são:
z Pelo menos 8 horas de experiência prática com o InTouch® HMI
z Microsoft Windows
z Experiência na indústria de manufatura

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-4 Módulo 1 – Introdução

Conteúdo

Módulo 1 Introdução
Seção 1 – Introdução ao curso
Esta seção familiarizará você com os objetivos e o conteúdo para o InTouch Fundamentos do
cursos de desenvolvimento de aplicativos. Ela também descreve os produtos Wonderware e
como o InTouch atende as especificações de interface homem-máquina para visualização.
Seção 2 – Introdução ao InTouch
Esta seção detalha como lançar o InTouch e como usar os três componentes principais:
Application Manager, WindowMaker e WindowViewer.

Módulo 2 Ambiente de desenvolvimento


Seção 1 – Introdução
Esta seção identificará os recursos do WindowMaker e o ambiente de desenvolvimento do
Application Explorer, incluindo definição de barras de ferramentas e botões na interface do
WindowMaker.
Seção 2 – Como usar o WindowMaker
Esta seção aborda a criação e a manipulação de objetos gráficos, linhas e contornos, objetos
de texto, imagens e bitmaps.
Laboratório 1 – Criação de uma nova aplicação, Windows e Graphics

Módulo 3 Dicionário Tagname


Seção 1 – Tags e recursos de tags
Esta seção definirá tags, tipos de tag, criação de tag e modificação de tag. Ela também
demonstrará os filtros Tagname Browser e a impressão do dicionário Tagname.
Laboratório 2 – Criação de tags

Módulo 4 Links de animação


Seção 1 – Características gerais de links de animação
Esta seção identificará e definirá os recursos de link da animação básicos como os tipos de
link de animação, e também como acessar o navegador de tag e os campos ponto tagname.
Seção 2 – Objetos de animação
Esta seção descreve as opções de link de animação InTouch. Ela também demonstra a
importação de janelas e o compartilhamento de animações em diversas janelas.
As seguintes informações descrevem as opções de animação InTouch. Seu instrutor
demonstrará as diversas opções de link de animação.
Ao final desta seção, você importará uma janela pré-configurada InTouch durante uma tarefa
orientada pelo instrutor. A janela é usada para configurar e compartilhar links de animação
através de janelas em laboratórios subseqüentes.
Seção 3 – Links de animação – Referência rápida
Este guia de referência rápida resume a funcionalidade básica de cada link de animação.
Laboratório 3 – Configuração de links de animação

Treinamento Wonderware
Seção 1 – Introdução ao curso 1-5

Seção 4 – Como usar SmartSymbols


Os SmartSymbols integram a tecnologia orientada ao objeto com os gráficos InTouch para
transformá-los em modelos reutilizáveis. As mudanças feitas aos modelos automaticamente
se propagam por todo o aplicativo, mesmo em diversos nós de microcomputadores
conectados em rede. Como resultado, os engenheiros gastam menos tempo criando,
modificando e validando e revalidando aplicativos IHM.
Laboratório 4 – Como usar SmartSymbols

Módulo 5 InTouch QuickScripts


Seção 1 – Tipos de QuickScript
Esta seção explicará e definirá os diversos tipos de InTouch QuickScript.
Seção 2 – Como trabalhar com o editor script
Esta seção descreve os recursos e as funções comuns do QuickScript Editor. Os recursos e
as funções que são exclusivas para um determinado tipo de script são descritos mais adiante
nesta seção.
Seção 3 – QuickScripts – Referência rápida
Neste guia, a funcionalidade básica de cada tipo de QuickScript que pode ser criado é
resumida.
Laboratório 5 – Como usar InTouch QuickScripts

Módulo 6 - Alarmes
Seção 1 – Alarmes e eventos
Esta seção explica e define os diferentes tipos de alarmes e de eventos e como adicionar a
funcionalidade de alarme aos aplicativos.
Seção 2 – O objeto alarme distribuído
O objeto de alarme distribuído exibe alarmes gerados localmente e remotamente. Os objetos
de exibição desta tela incluem: barras de rolagem incorporadas, colunas de exibição
dimensionáveis, seleção múltipla de alarmes, barra de status de atualização, barra de status
de consulta, menu com o botão direito do mouse sensível ao contexto e cores de tela de
alarme baseadas na prioridade do alarme .
Laboratório 6 – Criação de alarmes e eventos

Módulo 7 Tendência em tempo real e de histórico


Seção 1 – Tendências em tempo real
O InTouch oferece dois tipos de objetos de exibição de tendência: histórico e tempo real. Os
dois objetos podem ser configurados para exibir representações gráficas de tags diversas em
um período de tempo.
Laboratório 7 – Configuração de tendências em tempo real
Seção 2 – Tendência de histórico
Esta seção apresentará e explicará as tendências de histórico do InTouch e explicará as
opções de configuração de tendência de histórico.
Laboratório 8 – Configuração de tendências de histórico

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-6 Módulo 1 – Introdução

Módulo 8 Comunicação de E/S


Seção 1 – Protocolos de comunicação de E/S
Esta seção explica os protocolos de comunicação de E/S e demonstra como configurar um
nome de acesso InTouch.
Seção 2 – Servidores de E/S Wonderware
Esta seção descreverá a configuração de um Servidor de E/S Wonderware (Modbus).
Laboratório 9 – Configuração de comunicação de E/S
Seção 3 – Localização de falhas de E/S
Esta seção explica como localizar falhas de E/S de comunicação entre o servidor de E/S e o
InTouch, e entre o servidor de E/S e o PLC.

Módulo 9 Funcionalidade avançada de tag


Seção 1 – Funções de E/S avançadas
Esta seção explica a funcionalidade de E/S avançada do InTouch incluindo as funções
IOSetAccessName e IOSetItem e o Endereçamento de Referência Dinâmica.
Seção 2 – Tags indiretas
Esta seção explica o conceito e a prática de tags indiretas, incluindo discussões das
vantagens e desvantagens.
Laboratório 10 – Criação e uso de tags indiretas
Seção 3 – InTouch SuperTags
Esta seção definirá as SuperTags usando a estrutura de modelo SuperTag.
Laboratório 11 – Definição de SuperTags
Seção 4 – DBDump e DBLoad
Esta seção explicará o uso dos utilitários DBDump e DBLoad.
Seção 5 – Otimização do dicionário Tagname
Há diversos modos de editar links existentes e tags. Esta seção substitui, converte e exclui os
tagnames, assim como aplica o Utilitário de Referência Cruzada InTouch.
Laboratório 12 – Exclusão de tags

Módulo 10 - Segurança
Seção 1 – Modelos de segurança
Este módulo fornece as características gerais de três modelos de segurança disponíveis no
desenvolvedor InTouch. O enfoque é no modelo de segurança baseado em InTouch.
Laboratório 13 – Definição de segurança
Seção 2 – Proteção da aplicação
Esta seção aborda a personalização dos ambientes em Runtime e de desenvolvimento para
proteger o aplicativo. Ela também explica como iniciar automaticamente um aplicativo.

Módulo 11 Backup da aplicação


Seção 1 – Backup do aplicativo
Esta seção explicará como salvar um aplicativo e otimizá-lo para distribuição/implantação.

Treinamento Wonderware
Seção 1 – Introdução ao curso 1-7

Produtos Wonderware

A próxima geração de produtos Wonderware® é a primeira a aproveitar a nova potência e o


desempenho da arquitetura de software de automação e informação de fábrica ArchestrA® da
Invensys. Os seguintes produtos Wonderware oferecem aumento da funcionalidade e
flexibilidade e extensa conectividade:
z Plataforma Industrial Application Server para todo o sistema, aquisição de dados em
tempo real, gestão de alarme e de evento, segurança centralizada, manipulação de
dados, desenvolvimento remoto e engenharia colaborativa
z InTouch® software de interface homem máquina (IHM) para visualização e controle de
processo
z IndustrialSQL Server™ historian de dados de fábrica
z Functional Modules para exclusiva integração de novas capacidades funcionais nos
aplicativos Industrial Application Server usando uma abordagem modular, incluindo o
Production Events Module (PEM) para histórico de produto e de produção e genealogia
z InTrack™ software de recurso e de rastreamento WIP
z InBatch™ software de gestão flexível de lote
z InControl™ software de controle em tempo real
z DT Analyst™ software de rastreamento de tempo parado de equipamento e gestão de
desempenho
z SuiteVoyager® software de portal industrial para visualização Internet/intranet e gestão
de conteúdo

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-8 Módulo 1 – Introdução

z InTouch for Terminal Services software para hospedagem remota de aplicativos


InTouch
z Device Integration produtos que oferecem uma biblioteca de centenas de servidores de
E/S e DAServers
z QI Analyst™ para uso de dados em tempo real e de histórico para monitorar, analisar e
prever variações de processo potencialmente prejudiciais, permitindo ajustes online para
melhora de qualidade de produção e consistência
z ActiveFactory™ para acelerar e melhorar a tomada de decisões em todos os níveis de
uma fábrica através de um conjunto de clientes de análise avançada de dados que usam
os dados armazenados no IndustrialSQL Server
z SCADAlarm™ software de notificação de vento para notificação de alarme em tempo
real, aquisição de dados e controle remoto de dispositivos de telecomunicação para
sistemas de software de automação industrial
Este conjunto de ferramenta líder na indústria apresenta os melhores e robustos módulos de
software que ajudam os usuários a desenvolver e gerir efetivamente aplicativos de automação
para ambientes contínuos, discretos, de processo, híbridos e manufatura de lote.

Especificações de sistema
Para executar o InTouch, recomendamos o hardware e software a seguir
z Qualquer microcomputador com um Pentium III com um mínimo de 700 MHz ou um
processador mais potente para um sistema de nó único; recomendado 1.2 GHz ou mais
potente
z 2GB de espaço no disco rígido
z Mínimo de 256MB de memória de acesso randômico (RAM); recomendado 512 MB RAM
z Adaptador de visor SVGA com 2MB de RAM recomendado
z Dispositivo de indicação, como mouse, trackball ou tela touch screen,
z Adaptador de rede deve estar instalado
z Microsoft® Windows 2000 Professional com Service Pack 3 ou mais recente OU Windows
XP™ com Service Pack 1 ou mais recente ou Windows 2003 Server com Service Pack 1
ou mais recente

Observações para a instalação do InTouch


O programa de instalação do Wonderware FactorySuite é usado para instalar o InTouch. O
InTouch opera em sistemas operacionais Windows 2000, Windows XP ou Windows 2003 Server.
O programa de instalação cria diretórios, de acordo com o necessário, e copia os arquivos do CD
para seu disco rígido.

Obs.: As versões mais antigas do aplicativo InTouch precisam ser convertidas para InTouch 9.5.
Após o processo de conversão, estes aplicativos não mais operarão com versões InTouch
anteriores a 9.5.

Instruções detalhadas de instalação estão incluídas no Guia de Instalação InTouch. É


recomendado ler o Guia de Instalação InTouch antes de começar o processo de instalação.

Obs.: Seu Guia do administrador de sistema FactorySuite online fornece instruções de instalação
detalhadas para a maioria dos produtos incluídos no pacote de software FactorySuite.

Treinamento Wonderware
Seção 1 – Introdução ao curso 1-9

O InTouch usa Microsoft SQL Server™ Standard Edition como seu banco de dados de alarme .
Se Microsoft SQL Server 2000 é instalado no mesmo sistema no qual o InTouch está sendo
instalado, o programa de configuração do InTouch pode solicitar a reinicialização do sistema
durante o procedimento de instalação. É preciso reiniciar o sistema porque o Microsoft SQL
Server 2000 instala o MDAC™ versão 2.6, mas o InTouch precisa do MDAC versão 2.6 Service
Pack nível 2 (SP2). O programa de configuração InTouch instalará este Service Pack durante a
instalação. Uma vez que o sistema seja reiniciado, a instalação do InTouch será reinicializada
automaticamente.
Devido a esta reinicialização, o Nome do Usuário e a Senha da conta do nó de comunicação
desativado que foram inseridos antes da reinicialização devem ser reinseridos após a retomada
da instalação do InTouch. Isto aplica-se apenas se estiver instalando o InTouch no sistema
operacional Microsoft Windows 2000 .
Se o Microsoft SQL Server 2000 SP2, que instala o MDAC versão 2.6 SP2, estiver instalado em
seu sistema antes da instalação do InTouch ou se o Microsoft SQL Server 2000 não estiver
instalado em seu sistema, o programa de configuração InTouch não solicitará o reinício durante a
instalação.
Se o InTouch 7.11 estiver instalado em seu sistema e você tiver o Alarm DB Logger configurado
para operar como um serviço, você deve mudar o modo para manual antes de desinstalar o
InTouch e reiniciar seu sistema. Se desinstalar o InTouch 7.11 com o Alarm DB Logger no modo
automático, a instalação do InTouch 9.5 não será concluída corretamente.
Licença FactorySuite
Suas informações da licença do sistema FactorySuite podem ser visualizadas através do utilitário
de visualização da licença. Este utilitário é lançado a partir do WindowMaker ao selecionar Help /
About do menu principal.
Suporte Técnico
O Suporte Técnico Wonderware oferece uma variedade de opções de suporte para responder
qualquer dúvida sobre os produtos Wonderware e sua implementação.
Antes de entrar em contato com o suporte técnico, consulte o capítulo relevante neste manual de
treinamento ou seu Guia do usuário InTouch para verificar uma possível solução. Se achar
necessário entrar em contato com o suporte técnico para assistência, tenha em mãos as
informações a seguir.
z A versão do InTouch que está em execução
z O tipo e a versão do sistema operacional que está usando. Por exemplo, Windows 2000,
Windows XP ou Windows 2003 Server
z Os termos exatos das mensagens de erro de sistema encontrados
z Qualquer lista de saída relevante do Wonderware Logger, do Microsoft Event Viewer ou
qualquer outro aplicativo de diagnóstico
z Detalhes das tentativas que fez para solucionar o(s) problema(s) e os resultados obtidos
z Detalhes sobre como recriar o problema
z Se esta for uma dúvida em andamento, o número de caso do Suporte Técnico
Wonderware atribuído
Para mais informações sobre o Suporte Técnico, consulte seu Guia administrador do sistema
FactorySuite online.
Appendix E deste manual contém Technotes que se referem ao produto InTouch. Para as mais
recentes Technotes, consulte a página www.wonderware.com/support .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-10 Módulo 1 – Introdução

Convenções
Este curso inclui conteúdo orientado pelo instrutor além dos laboratórios aplicados regularmente.
As etapas orientadas pelo instrutor têm por objetivo serem explicativas e devem prepará-lo para o
laboratório que será realizado em seguida. As etapas não devem duplicar ou estar em conflito
com o conteúdo do laboratório aplicado.
Etapas orientadas pelo instrutor são indicadas por letras (a, b, c).
As imagens de telas deste manual foram extraídas de uma máquina que executa o Sistema
Operacional Microsoft Windows 2003 Server com temas XP acionados e com resolução 1024 x
768.

Treinamento Wonderware
Seção 1 – Introdução ao curso 1-11

– Deixado em branco intencionalmente –

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-12 Módulo 1 – Introdução

Treinamento Wonderware
Seção 2 – Introdução ao InTouch 1-13

Seção 2 – Introdução ao InTouch

Objetivos da seção
z Lançar o InTouch®
z Criar um novo aplicativo InTouch
z Entender os recursos e as ferramentas do Application Manager

Esta seção detalha como lançar o InTouch e como usar os três componentes principais:
Application Manager, WindowMaker e WindowViewer.

Introdução
Wonderware® InTouch® é o modo mais rápido e mais fácil de criar aplicações IHM para sistemas
operacionais Microsoft® Windows 2000, Windows XP e Windows 2003. Os aplicativos InTouch
são usados no mundo inteiro em uma diversidade de mercados verticais incluindo processamento
de alimentos, semicondutores, petróleo e gás, automotivo, produtos químicos, farmacêutico,
papel e celulose, transporte, utilidades e muito mais.
Ao usar o InTouch, é possível criar aplicações potentes, equipadas com diversos recursos que
usam recursos chaves do Microsoft Windows, incluindo controles ActiveX®, OLE, gráficos, rede e
muito mais.
O InTouch pode também ser ampliado para adicionar controles personalizados ActiveX,
assistentes, objetos genéricos e criar extensões InTouch QuickScript.

Componentes InTouch
O InTouch é formado por três componentes principais: Application Manager, WindowMaker e
WindowViewer.

Obs.: As figuras a seguir são os ícones da barra de ferramentas usados para abrir os
componentes InTouch.

Application Manager: Organiza as aplicações criadas. O painel de aplicação contém


uma lista de links (ícones) para aplicações que residem naquele nó. As informações sobre as
aplicações são exibidas nas colunas Name, Path, Resolution, Version, Application Version,
Date Modified e Description.
O Application Manager é usado para configurar o WindowViewer como um serviço NT, para
configurar o Desenvolvimento de Aplicação de Rede (NAD) para arquiteturas baseadas no cliente
e no servidor e para configurar a Conversão de Resolução Dinâmica (DRC).
Os utilitários de banco de dados DBDump e DBLoad são lançados do Application Manager.

WindowMaker: O ambiente de desenvolvimento do InTouch, em que gráficos orientados


ao objeto são usados para criar as janelas de telas animadas, sensíveis ao toque. Estas janelas
de tela podem ser conectadas a sistemas de E/S industriais e outros aplicativos Microsoft
Windows. O último aplicativo usado é automaticamente aberto quando o WindowMaker é lançado
independente de isto ocorrer fora do Application Manager (por exemplo, a partir do menu
Windows Start).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-14 Módulo 1 – Introdução

WindowViewer: O ambiente de Runtime usado para exibir as janelas gráficas criadas no


WindowMaker. O WindowViewer executa o InTouch QuickScripts, realiza registro de dados
históricos e relatórios, processa o registro de alarme e o relatório e pode atuar como um cliente e
um servidor para os protocolos de comunicação DDE e SuiteLink. O último aplicativo usado é
automaticamente aberto quando o WindowViewer é lançado independente de isto ocorrer fora do
Application Manager (por exemplo, a partir do menu Windows Start).

Ferramentas do Application Manager


Quando o InTouch é executado inicialmente, a barra de ferramentas do Application Manager e a
barra de status são exibidas como padrão.
Estas informações descrevem cada um dos botões da barra de ferramentas do Application
Manager.

Botão Descrição
Executar o comando New no menu File para criar um novo aplicativo.

Executar o comando WindowMaker no menu File para abrir o aplicativo selecionado no


WindowMaker.

Executar o comando WindowViewer no menu File para abrir o aplicativo selecionado no


WindowViewer.

Executar o comando DBLoad no menu File para executar o utilitário DBLoad. Este utilitário é
usado para carregar um arquivo de entrada de Tagname Dictionary.

Executar o comando DBDump no menu File para executar o programa utilitário DBDump
Este utilitário é usado para extrair um Tagname Dictionary de um aplicativo.

Executar o comando Large Icons no menu View para exibir os ícones grandes dos
aplicativos listados.

Executar o comando Small Icons no menu View para exibir ícones pequenos dos aplicativos
listados.

Executar o comando List no menu View para alterar a caixa de diálogo para listar o modo de
visualização.

Executar o comando Details no menu View para alterar a caixa de diálogo para listar o modo
de visualização de detalhes.

Abrir a caixa de diálogo Node Properties em que as propriedades do computador são


configuradas ao usar Desenvolvimento de Aplicação de Rede (NAD), Conversão de
Resolução Dinâmica (DRC).

Treinamento Wonderware
Seção 2 – Introdução ao InTouch 1-15

Execução do InTouch pela primeira vez


A primeira vez que executar o INTOUCH.EXE, o arquivo INTOUCH.INI é automaticamente criado. Este
arquivo localiza-se na mesma pasta do aplicativo e contém os ajustes de configuração padrão
para aquele aplicativo. Ao configurar seu aplicativo, seus ajustes de parâmetro são escritos no
arquivo INTOUCH.INI .
a. Selecione Start / Programs / Wonderware / InTouch.

A caixa de diálogo Welcome to InTouch Application Manager é exibida:

b. Clique em Next.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-16 Módulo 1 – Introdução

c. Para especificar um diretório diferente, insira o caminho para o diretório na caixa de entrada
ou clique em Browse para localizar o diretório.

d. Clique em Finish.
O Application Manager pesquisa seu computador para verificar qualquer aplicativo InTouch
existente. Os links do aplicativo são exibidos através de um ícone que contém o nome do
aplicativo. Outras informações são exibidas em colunas.
Por exemplo:

Treinamento Wonderware
Seção 2 – Introdução ao InTouch 1-17

Criação de um novo aplicativo


Para criar um novo aplicativo

a. Clique na ferramenta New na barra de ferramentas Application Manager.


A caixa de diálogo Create New Application é exibida:

Por padrão, o sistema exibe o seguinte caminho: C:\Documents and


Settings\Username\My Documents\My InTouch Applications\ . Insira o caminho para o
diretório de base no qual deseja que seu aplicativo seja criado ou clique em Browse para
localizar o diretório.
b. Para esta aula, insira c:\applications no campo de diretório.
c. Clique na caixa de seleção Set As Default Directory. Todos os aplicativos serão criados no
diretório especificado.

d. Clique em Next.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-18 Módulo 1 – Introdução

A janela Create New Application é exibida, permitindo a você definir o diretório no qual seu
aplicativo será criado:

e. Mude o diretório como exibido na figura a seguir:

f. Clique em Next para continuar.

Treinamento Wonderware
Seção 2 – Introdução ao InTouch 1-19

g. Insira um nome único para o novo aplicativo. Este nome será exibido quando o aplicativo é
listado na janela InTouch Application Manager .
h. Na caixa Description, insira uma descrição do aplicativo.

Obs.: Confirme se a opção InTouchView Application está desmarcada. Isto somente é


aplicável no ambiente ArchestrA, com o Industrial Application Server.

i. Clique em Finish.
A janela InTouch - Application Manager é reexibida mostrando um ícone, o caminho e a
Versão, Modo e Descrição do aplicativo:

Obs.: Quando o aplicativo é exibido pela primeira vez no Application Manager, a resolução e
a versão são exibidas como 0. Após a abertura, os detalhes de resolução e de versão são
atualizados.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-20 Módulo 1 – Introdução

Como usar o InTouch Application Manager


Use o InTouch Application Manager para criar aplicativos novos ou abrir aplicativos existentes,
renomear ou remover aplicativos e executar os utilitários InTouch DBDump e DBLoad.
Para abrir um aplicativo
a. Selecione o aplicativo e clique no ícone da barra de ferramentas WindowMaker, ou;
b. Clique duas vezes com o botão do mouse no ícone do aplicativo, ou
c. Selecione o aplicativo e, em seguida, pressione Enter, ou;
d. Clique com o botão direito do mouse no aplicativo e escolha WindowMaker como exibido a
seguir. (WindowViewer não pode ser executado para um novo aplicativo.)
Quando o WindowMaker ou o WindowViewer é aberto, o Application Manager fecha.

Para renomear um aplicativo


a. Clique com o botão direito do mouse no aplicativo na lista e selecione Rename do sub-menu.

b. Insira o novo nome e pressione a tecla Enter .

Treinamento Wonderware
Seção 2 – Introdução ao InTouch 1-21

Para remover um link de aplicativo


O Application Manager exibe links para aplicativos em diversos lugares em seu sistema. Se
remover um link de aplicativo da lista, os arquivos do InTouch e o diretório não são removidos.
Remover o aplicativo InTouch requer uma operação de remoção manual do Windows Explorer.
a. Clique com o botão direito do mouse no aplicativo na lista e, em seguida, selecione Delete.

b. Uma caixa de mensagem é exibida pedindo que confirme a remoção. Clique em Yes ou No.

c. Para exibir o link após sua remoção da lista do Application Manager, clique em Tools / Find
Applications do menu principal Application Manager.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-22 Módulo 1 – Introdução

A caixa de diálogo Browse for Folder é exibida:

d. Localize o diretório para busca e clique em OK.


O InTouch Application Manager reabrirá e exibirá os ícones para todos os aplicativos que
foram encontrados dentro do diretório selecionado.

Visualização das propriedades de um aplicativo


a. Destacar o aplicativo na lista.
b. Clique com o botão direito do mouse e escolha Properties.

Treinamento Wonderware
Seção 2 – Introdução ao InTouch 1-23

A caixa de diálogo Properties é exibida:

c. Clique em OK ou Cancel para sair da caixa de diálogo Properties .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


1-24 Módulo 1 – Introdução

– Deixado em branco intencionalmente –

Treinamento Wonderware
Módulo 2

Ambiente de desenvolvimento
Seção 1 – Introdução 2-3
Seção 2 – Como usar o WindowMaker 2-27
Laboratório 2–Criação de um novo aplicativo, janelas e gráficos 2-65
2-2 Módulo 2 – Ambiente de desenvolvimento

Objetivos do módulo
z Descrever os recursos no Ambiente de desenvolvimento
z Usar o WindowMaker para criar janelas e manipular objetos

Treinamento Wonderware
Seção 1 – Introdução 2-3

Seção 1 – Introdução

Objetivos da seção
z Identificar os recursos do WindowMaker e o Application Explorer
z Identificar os elementos de interface do WindowMaker
z Usar o WindowMaker

Esta seção identificará os recursos do WindowMaker e o ambiente de desenvolvimento do


Application Explorer, incluindo a definição de barras de ferramentas e os botões na interface do
WindowMaker.
Interface do WindowMaker
a. Selecionar o novo aplicativo criado durante a discussão orientada pelo instrutor em “Criação
de um novo aplicativo” na página 1-17.
b. Lançar o WindowMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-4 Módulo 2 – Ambiente de desenvolvimento

Um aplicativo em branco será exibido no ambiente de desenvolvimento:

A interface do usuário do WindowMaker (UI) é compatível com os padrões do Windows 2000 e do


Windows XP. O WindowMaker suporta recursos incluindo (sem limitar-se) recursos como suporte
com o botão direito do mouse, barras flutuantes e ancoradas, menus de seleção e ajuda sensível
ao contexto. Os menus acionados ao clicar com o botão direito do mouse oferecem acesso rápido
aos comandos freqüentemente usados e uma paleta de cores personalizadas que é compatível
com 16,7 milhões de cores (limitado apenas pelo seu monitor de vídeo).
O ambiente de desenvolvimento do WindowMaker é configurável. Ao abrir pela primeira vez o
WindowMaker, a maioria dos elementos importantes são automaticamente exibidos incluindo as
barras de ferramentas, o Application Explorer e a barra de status. É possível exibir ou ocultar
qualquer um destes elementos. É possível mover as barras de ferramentas e o Application
Explorer para qualquer local dentro da janela do WindowMaker. É possível também exibir a régua
opcional e habilitar ou desabilitar as grades visíveis.

Treinamento Wonderware
Seção 1 – Introdução 2-5

A figura a seguir exibe os elementos do ambiente de desenvolvimento do WindowMaker usando o


aplicativo ReactorDemo e o Conveyor Window. Ao criar um novo aplicativo e executar o
WindowMaker pela primeira vez, os elementos deste programa serão exibidos automaticamente
na configuração padrão como exibido:

Application Explorer
O Application Explorer do WindowMaker é uma visualização gráfica hierárquica dos elementos do
aplicativo. Ele exibe as janelas e os itens que foram configurados em seu aplicativo e oferece fácil
acesso a eles. Oferece também rápido acesso a muitos dos comandos e funções mais
comumente usados do WindowMaker.
Além disso, o Application Explorer exibe todos os programadas complementares instalados como
o SQL Access Manager, SPCPro e Recipe Manager. Oferece também um inicializador do
aplicativo personalizado.
Windows e outros elementos InTouch podem ser criados e configurados a partir do Application
Explorer.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-6 Módulo 2 – Ambiente de desenvolvimento

Obs.: É possível configurar o Application Explorer para iniciar qualquer outro programa
ArchestrA® ou programa Windows. Este potente recurso permite alternar rapidamente entre sua
configuração IHM, configuração I/O Server e outras configurações de controle.

Advertência: Não adicione o WindowViewer (view.exe) ao Application Explorer. Se adicionar o


WindowViewer, as novas janelas criadas no WindowMaker podem não ser sincronizadas com as
janelas no WindowViewer. O modo correto de iniciar o WindowViewer é executando o comando
WindowViewer do menu File ou ao clicar na chave rápida Runtime na barra de menu do
WindowMaker.

Como usar o Application Explorer


A janela Application Explorer é configurável de dentro do WindowMaker.

a. Para ocultar ou exibir o Application Explorer, clique na ferramenta Application Explorer


na barra de ferramentas View ou o comando View / Application Explorer.
As barras de ferramentas do Application Explorer dentro do WindowMaker podem ser
"ancoradas" a qualquer borda da janela do WindowMaker ou ficar "flutuando" em qualquer
local da janela do WindowMaker.
Quando o Application Explorer é ancorado na borda da janela do WindowMaker, ele
automaticamente se dimensiona e, se necessário, as barras de rolagem são exibidas.
b. Mova o painel do Application Explorer selecionando sua borda e arrastando-a para uma área
dentro da janela principal do WindowMaker.
Quando o Application Explorer está flutuando dentro da janela do WindowMaker, sua barra de
título é exibida e seu tamanho pode ser modificado.

Não ancorada
e flutuante

Treinamento Wonderware
Seção 1 – Introdução 2-7

Navegação no Application Explorer


É possível expandir ou minimizar os grupos listados na visualização gráfica hierárquica do
Application Explorer. Por exemplo, se clicar duas vezes com o botão do mouse em um grupo, o
ícone expande e exibe os membros do grupo. Ao clicar duas vezes com o mouse em um membro,
ele abrirá. Todos os grupos que contêm membros são precedidos de um sinal de mais . Clique
em para expandir o grupo e visualizar seus membros ou clique em para minimizar o grupo
e ocultar seus membros.
Como adicionar aplicativos ao Application Explorer
Um dos recursos mais potentes do Application Explorer do WindowMaker é sua habilidade de
iniciar outros aplicativos ArchestrA e aplicativos Windows de terceiros de dentro do
WindowMaker.
Por exemplo, é possível executar/configurar um programa I/O Server e desenvolver seu aplicativo
simultaneamente. É possível iniciar os programas Windows de terceiros que são freqüentemente
usados como Windows Notepad, Wordpad, Microsoft Excel, Microsoft Word, Microsoft Paint entre
outros. É possível também configurar o Application Explorer para abrir um documento ou planilha
específica em um programa.

Dica: Os programas complementares InTouch, SQL Access, SPC Pro e Recipe Manager são
automaticamente adicionados ao Application Explorer uma vez que estejam instalados.

Para adicionar um aplicativo ao Application Explorer


a. Clique com o botão direito do mouse em Applications e selecione New.

A caixa de diálogo Application Properties é exibida:

b. No campo Name, insira o nome a ser exibido no Application Explorer. Para este exemplo,
insira Notepad.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-8 Módulo 2 – Ambiente de desenvolvimento

c. Clique no botão ellipsis e selecione um aplicativo. O caminho para o aplicativo Notepad é


C:\WINDOWS\system32\notepad.exe neste exemplo.

d. Clique em Open.
A caixa de diálogo Application Properties é exibida novamente:

e. Clique na lista drop-down Start Style para selecionar como o aplicativo será exibido quando é
iniciado no WindowMaker. Neste exemplo, Normal window deve estar selecionado.

f. Clique em OK.

Treinamento Wonderware
Seção 1 – Introdução 2-9

O aplicativo é adicionado ao Application Explorer sob o ícone Applications. É possível agora


executar o aplicativo a qualquer momento a partir do WindowMaker.
g. Clique com o botão direito do mouse no aplicativo e selecione Properties do submenu para
fazer mudanças nas propriedades do aplicativo.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-10 Módulo 2 – Ambiente de desenvolvimento

Criação de uma nova janela


Seu aplicativo InTouch é formado de janelas que contêm gráficos, objetos de texto, animações e
scripts de ações. Ao criar a janela pela primeira vez, você definirá as propriedades da própria
janela como cor de fundo, título e posição na tela. O General Toolbar contém botões para a
maioria dos comandos do menu File.
a. Clique com o botão direito do mouse em Windows e escolha New...

A caixa de diálogo Window Properties é exibida:

b. Insira Scratch no campo Name. O nome pode ter até 32 caracteres de comprimento. Ele
pode incluir espaços incorporados, marcas de pontuação e qualquer outro caractere no
teclado, exceto por aspas (").

Obs.: Por padrão, os ajustes de parâmetro nesta caixa de diálogo refletirão os ajustes das
janelas criadas anteriormente. Se selecionar este comando enquanto uma janela estiver
aberta no WindowMaker, os ajustes de parâmetro refletirão os ajustes da janela ativa. Se um
Window script(s) estiver anexado à janela ativa, uma caixa de mensagem será exibida
perguntando se deseja que o window script(s) seja copiado para a nova janela.

c. Clique com o botão direito do mouse em qualquer parte dos campos de entrada de texto na
caixa de diálogo. Um submenu é exibido com os comandos que podem ser aplicados ao texto
selecionado. Os comandos habilitados dependem de uma entrada no campo de texto.

d. Na caixa Comment, insira qualquer comentário que deseja associar à janela (opcional). Esta
informação serve para fins de documentação apenas e não é usada pelo aplicativo.

Treinamento Wonderware
Seção 1 – Introdução 2-11

e. Clique na caixa Window Color para selecionar a cor de fundo para a janela.
A paleta de cores é exibida:

Clique para
expandir
para a
Classic
Colors
Palette

A paleta de cor do WindowMaker é usada para aplicar cor às propriedades estáticas e dinâmicas
de linhas, retângulos, retângulos com bordas redondas, elipses, polígonos e texto. Ela é usada
também para selecionar uma cor de fundo de janela e a cor transparente para bitmaps, permitindo
que os objetos sejam visualizados atrás de bitmaps. A paleta de cor é exibida ao clicar em um
quadrado colorido na caixa de diálogo ou quando uma das ferramentas de cor é usada para
aplicar linha, preenchimento ou cor de texto a um objeto selecionado.
Criação de uma cor personalizada
A paleta de cor do WindowMaker permite definir cores personalizadas e adicioná-las à sua paleta.
As paletas criadas em outros aplicativos Windows podem ser importadas e adicionadas à paleta
padrão. É possível também exportar as paletas personalizadas para outros aplicativos Windows.
a. Com a paleta de cor aberta, clique com o botão direito do mouse em um dos quadrados em
branco na Custom Palette.

b. Clique em Edit Custom Color.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-12 Módulo 2 – Ambiente de desenvolvimento

A caixa de diálogo Add a Color é exibida:

c. É possível selecionar uma cor usando a cruz na caixa de cor principal ou com a seta à direita.
A cor selecionada é exibida na caixa Color|Solid. Clique em OK para adicionar a cor à seção
Custom Palette.
d. Ou clique na ferramenta conta-gotas e clique na cor para adicioná-la à seção Custom Palette
da paleta de cor. É possível selecionar qualquer cor em qualquer local dentro da janela do
WindowMaker ou fora do WindowMaker.

Treinamento Wonderware
Seção 1 – Introdução 2-13

Propriedades adicionais da janela

Tipo de janela: Três opções estão disponíveis.


z Replace: fecha automaticamente qualquer janela com a qual faça intersecção quando é
exibida na tela, incluindo janelas do tipo popup e de substituição.
z Overlay: é exibida sobre a janela exibida no momento e pode ser maior do que a janela
que está sobrepondo. Clicar na porção visível de uma janela atrás de uma janela de
sobreposição fará com que tal janela fique ativa.
z Popup: similar à janela de sobreposição, embora sempre fique sobre todas as outras
janelas (mesmo se outra janela for clicada). As janelas popup geralmente requerem uma
resposta do usuário a fim de serem removidas.
e. O ajuste de parâmetro padrão (Replace) é usado para a janela Scratch.
Estilo de borda: Três estilos estão disponíveis.
z Single: exibe uma única linha em torno da janela. Title bar está disponível; Size controls
estão disponíveis.
z Double: Exibe uma borda de efeito 3-D em torno da janela. Title bar não está disponível;
Size controls estão disponíveis.
z None: uma janela sem borda. Title bar não está disponível; Size controls estão
disponíveis.
f. O ajuste de parâmetro padrão (Single) é usado para a janela Scratch.
Barra de título: A barra de título pode ser usada para mover a janela clicando e arrastando-a.
g. O ajuste de parâmetro padrão (Habilitado) é usado para a janela Scratch.
Controles de dimensões: Habilita o usuário a redimensionar a janela no WindowMaker.
h. O ajuste de parâmetro padrão (Habilitado) é usado para a janela Scratch.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-14 Módulo 2 – Ambiente de desenvolvimento

Dimensões: Insira a localização de pixel para cada uma das coordenadas da janela.
z Localização X: O número de pixels entre a borda esquerda da área de projeto do
WindowMaker e a borda esquerda da janela que está sendo definida.
z Localização Y: O número de pixels entre a borda superior da área de projeto do
WindowMaker e a borda superior da janela que está sendo definida.
z Largura da janela: A largura da janela em pixels.

Obs.: O Windows limita a largura mínima de uma janela de acordo com seu monitor. Por
exemplo, para padrão VGA, o mínimo é de 102 pixels.

z Altura da janela: A altura da janela em pixels. (A altura mínima de uma janela varia de
acordo com seu monitor.)

Obs.: Por padrão, os valores nestes campos serão ajustados com as dimensões da janela
criada previamente. Eles também são modificados automaticamente quando a dimensão da
janela é mudada manualmente no WindowMaker.

i. Os ajustes de parâmetro padrões Dimensions são usados para a janela Scratch.


Botão Scripts...: Abre o editor Window Script . Três tipos de scripts podem ser aplicados:
z On Show: Executa uma vez quando a janela é aberta inicialmente.
z While Showing: Executa continuamente na freqüência especificada enquanto a janela
está aberta/ativa.
z On Hide: Executa uma vez quando a janela é fechada.

Obs.: Se um Window Script é anexado a uma janela ativa e uma nova janela é criada, o
script da janela ativa pode ser copiado para a nova janela.

j. Clique em OK.
A nova janela é exibida no WindowMaker e os ícones da barra de ferramentas estão ativos:

Treinamento Wonderware
Seção 1 – Introdução 2-15

Barras de ferramentas WindowMaker


Os ícones nas barras de ferramenta WindowMaker são agrupados por funcionalidades em
comum. Por exemplo, a barra de ferramentas Arrange contém ferramentas que podem ser
usadas para aplicar rapidamente a maioria dos comandos encontrados do menu Arrange.
As barras de ferramentas do WindowMaker podem ser "ancoradas" a qualquer borda da sua
janela ou ficar "flutuando" em qualquer local da janela do WindowMaker. Quando as barras de
ferramenta estão flutuantes, o nome da barra de ferramentas é exibido na barra de título.
Ao passar o cursor sobre um ícone, a caixa Tool Tips é exibida com o nome da ferramenta:

Barra de ferramentas General


A barra de ferramentas General é formada por ícones que executam a maioria dos comandos
de janela encontrados no menu File. Os ícones incluem também as ferramentas da área de
transferência do Microsoft Windows encontradas do menu Edit.

Descrição do botão
Executa o comando New Window do menu File e abre a caixa de diálogo Windows
Properties para criar uma nova janela.
Executa o comando Open Window do menu File para abrir a caixa de diálogo Windows to
Open listando os nomes das janelas existentes que podem ser abertas.
Executa o comando Close Window do menu File para abrir a caixa de diálogo Windows to
Close listando os nomes das janelas abertas no momento que podem ser fechadas.
Executa o comando Save Window do menu File para abrir a caixa de diálogo Windows to
Save listando os nomes de todas as janelas abertas no momento que foram modificadas
desde a última vez em que foram salvas.
Salva automaticamente todas as janelas abertas no momento que foram modificadas desde
a última vez em que foram salvas. A ferramenta não pede confirmação para cada janela. Ela
salva automaticamente todas as janelas modificadas.
Executa o comando Duplicate do menu File para duplicar o objeto selecionado no momento
na janela.
Executa o comando Cut do menu Edit para recortar os objetos selecionados no momento a
partir da janela e os copia na área de transferência do Windows.
Executa o comando Copy do menu Edit para copiar os objetos selecionados no momento e
os copia na área de transferência do Windows. (eles não são apagados da janela.)
Executa o comando Paste do menu Edit para colar qualquer objeto que foi recortado ou
copiado para a área de transferência do Windows. (O cursor muda para o modo colar. Clique
na janela para colar o objeto recortado ou copiado.)
Executa o comando Undo do menu Edit para reverter (desfazer) a última ação ou comando
aplicado ao objeto.
Executa o comando Redo do menu Edit para reverter (refazer) a última ação ou comando
desfazer aplicada ao objeto.
Executa o comando Print do menu File para abrir a caixa de diálogo WindowMaker Printout
usada para imprimir informações do banco de dados e da janela e QuickScripts.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-16 Módulo 2 – Ambiente de desenvolvimento

Barra de ferramentas Wizards


A barra Wizards tem a ferramenta para acessar a caixa Selection dialog e SmartSymbol
Wizard. É possível adicionar qualquer assistente instalado ou controle ActiveX à barra.

Descrição do botão
Exibe a caixa de diálogo Wizard Selection usada para selecionar assistentes a serem colados
em seu aplicativo.
Exibe o SmartSymbol Wizard usado para selecionar SmartSymbols a serem posicionados
em seu aplicativo.

Barra de ferramentas Format


A barra Format tem as ferramentas que aplicam a maioria dos comandos de formatação do
objeto texto do menu Text. Ela contém também as ferramentas para acessar a paleta de cor
para selecionar linha, preenchimento, texto, fundo da janela e cor transparente para o objeto.

Descrição do botão
Executa o comando Font do menu Text para abrir a caixa de dialogo Font usada para
selecionar a fonte, seu tamanho e seu estilo.
Executa o comando Bold do menu Text para aplicar o estilo negrito em seleções únicas
ou diversas de texto e campos de valor numérico.
Executa o comando Italic do menu Text para aplicar o estilo itálico em seleções únicas ou
diversas de texto e campos de valor numérico.
Executa o comando Underline do menu Text para aplicar o estilo sublinhado em seleções
únicas ou diversas de texto e campos de valor numérico.
Executa o comando Reduce Font do menu Text para reduzir o tamanho de ponto de uma
fonte dimensionável. Selecione o string de texto e clique na ferramenta.
Executa o comando Enlarge Font do menu Text para aumentar o tamanho de ponto de
uma fonte. Selecione o string de texto e clique na ferramenta.
Executa o comando Left Justified do menu Text para alinhar a borda esquerda de
seleções únicas ou diversas de string de texto e de campos de valor numérico.
Executa o comando Centered do menu Text para centralizar as seleções únicas ou
diversas de texto e os campos de valor numérico.
Executa o comando Right Justified do menu Text para alinhar a borda direita de
seleções únicas ou diversas de string de texto e de campos de valor numérico.
Abre a paleta de cores usada para selecionar a cor de uma linha de objeto ou o perfil do
objeto.
Abre a paleta de cor usada para selecionar uma cor de preenchimento de objeto.

Abre a paleta de cor usada para selecionar a cor de um objeto de texto.

Abre a paleta de cor para selecionar uma cor de fundo de uma janela.

Abre a paleta de cor usada para selecionar a cor transparente de um objeto bitmap.

Treinamento Wonderware
Seção 1 – Introdução 2-17

Barra de ferramentas Drawing


A barra de ferramentas Drawing é agrupada com todas as ferramentas usadas para
desenhar objetos gráficos simples (retângulos, elipses, linhas ou objetos de texto) e objetos
complexos ( tendência em tempo real, tendências de histórico, bitmaps e botões
tridimensionais com legendas).

Descrição do botão
Modo seletor usado para selecionar objetos na janela.

Ferramenta retângulo usada para desenhar retângulos ou quadrados.

Ferramenta de retângulos com cantos arredondados usada para desenhar retângulos ou


quadrados com cantos arredondados.
Ferramenta elipse usada para desenhar elipses ou círculos.

Ferramenta linha usada para desenhar linhas em qualquer ângulo.

Ferramenta linha usada para desenhar linhas horizontais ou verticais.

Ferramenta linha usada para desenhar polilinhas.

Ferramenta formas usada para desenhar polígonos.

Ferramenta de texto usada para inserir objetos de texto.

Ferramenta bitmap usada para desenhar um contêiner de bitmap para colar um bitmap
diretamente a partir da área de transferência do Windows ou um dos seguintes tipos de
arquivo: .BMP, .JPG, .PCX ou .TGA.
Ferramenta de tendência em tempo real usada para desenhar objetos de tendência em
tempo real.
Ferramenta de tendência de histórico usada para desenhar objetos de tendência de
histórico.
Ferramenta de botão usada para desenhar um botão tridimensional com uma legenda.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-18 Módulo 2 – Ambiente de desenvolvimento

Barra de ferramentas View


A barra View tem as ferramentas que aplicam a maioria dos comandos da janela encontrados
no menu View. Estes comandos são usados para controlar o estado da janela WindowMaker.

Descrição do botão
Exibir/ocultar o Application Explorer.

Alterna o comando Hide All no menu View como habilitado e desabilitado para exibir/
ocultar todas as barras de ferramenta ancoradas.
Quando o modo Hide All está ativo, o tamanho geral do WindowMaker permanece o
mesmo. Para retornar ao modo normal, clique na ferramenta Hide/Restore All na barra de
ferramentas flutuante View ou clique no comando View / Hide All .
No modo Hide All, todas as barras flutuantes permanecem visíveis e a barra View flutua
automaticamente na parte superior do WindowMaker. Se alguma barra de ferramentas
flutuante estiver ancorada no modo Hide All, o modo é automaticamente interrompido.
Alterna o comando Full Screen do menu View como habilitado e desabilitado para mudar
o modo de exibição de visualização normal para toda a tela.
Para retornar ao modo normal, clique na ferramenta Full Screen na barra de ferramentas
flutuante View ou clique no comando View / Full Screen.
No modo Full Screen, todos os elementos do programa WindowMaker são ocultados,
exceto se alguma janela estiver aberta. A barra Restore flutua automaticamente na parte
superior do WindowMaker.
No modo Full Screen, as coordenadas da área do cliente permanecerão as mesmas. Por
exemplo, a parte superior esquerda é 0,0. O modo Full Screen automaticamente ajusta as
coordenadas após maximizar a área do cliente, oculta a barra de título e a barra de menu e
ajusta a área do cliente para repetir o modo de visualização de toda a tela.
Alterna o comando Snap to Grid do menu Arrange entre habilitado e desabilitado para
exibir/ocultar as grades visíveis usadas para alinhar os objetos. Ele funciona com o
comando Arrange / Snap to Grid.
Alterna o comando Ruler do menu View entre habilitado e desabilitado para exibir/ocultar a
régua.

Ajustar à grade
Ao distribuir os objetos em suas janelas, habilite a grade para que seu gráfico se ajuste no
intervalo com pixel na parte esquerda superior à grade. Se selecionar diversos objetos, o ajuste
será aplicado ao canto superior esquerdo do primeiro objeto selecionado no grupo.
Com o Snap to Grid habilitado, você pode selecionar um objeto e manter pressionada a tecla
SHIFT ou CTRL, pressione a tecla de seta de direção (para cima, para baixo, para direita ou para
esquerda) a fim de mover um objeto em incrementos de 20 pixels (SHIFT) ou incrementos do 40
pixels (CTRL). Use as teclas de direção isoladamente para mover um objeto 10 pixels por vez.
Se o Snap to Grid estiver desabilitado, você pode selecionar um objeto e manter pressionada a
tecla SHIFT ou CTRL, pressione a tecla de seta de direção (para cima, para baixo, para direita ou
para esquerda) a fim de mover um objeto em incrementos de 10 pixels (SHIFT) ou incrementos do
50 pixels (CTRL).
Use as teclas de direção sozinhas para mover um objeto 1 pixel por vez. Estes recursos podem
ser úteis ao fazer o alinhamento fino e os ajustes de localização.

Treinamento Wonderware
Seção 1 – Introdução 2-19

Dica: Por padrão, a grade é ajustada para 10 pixels e é visível quando inicia pela primeira vez o
WindowMaker. É possível configurar o intervalo de pixel para a grade através da caixa de diálogo
WindowMaker Properties . Clique na ferramenta Snap to Grid na barra de ferramentas
View para habilitar ou desabilitar o ajuste à grade.

Como configurar a grade


a. Selecione Special / Configure / WindowMaker.

A caixa de diálogo WindowMaker Properties é exibida:

b. Insira o número de espaços em pixel na caixa Spacing.


c. Selecione a opção Show Grid se desejar uma grade visível em suas janelas quando habilitar
a função Ajustar à grade do WindowMaker.
d. Selecione OK para salvar as alterações ou Cancel para sair da caixa de diálogo
WindowMaker Properties .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-20 Módulo 2 – Ambiente de desenvolvimento

Régua

A régua do WindowMaker pode ser usada para o alinhamento preciso dos objetos em suas
janelas e ao determinar o movimento de um objeto durante uma seqüência de animação.
As pequenas marcas são espaçadas com uma distância de 5 pixels. As marcas médias são
espaçadas com uma distância de 10 pixels. As marcas grandes numeradas são espaçadas com
uma distância de 50 pixels.

Barra de ferramentas Pan and Zoom


A barra de ferramentas Pan and Zoom permite mover rapidamente em torno de um janela e
aumentar ou reduzir o nível de ampliação.

Descrição do botão
Diminui o zoom da área onde você clicar.

Aumenta o zoom da área onde você clicar.

Zoom normal retorna ao nível de ampliação padrão (100%).

Rubber Band Zoom usa o mouse para selecionar uma área específica para aplicar o
zoom.
Exibe / oculta miniaturas de sua janela onde é possível arrastar uma caixa vermelha em
torno do painel ou redimensionar a caixa vermelha para aplicar ou remover zoom.
Pan move a posição da área de visualização.

. . . . . . .Use Zoom Entry Box para selecionar ou inserir um nível de ampliação.

Se seu mouse tiver rodízio, é possível manter pressionada a tecla Ctrl e rolar para cima para
aplicar o zoom e rolar para baixo para remover o zoom

Treinamento Wonderware
Seção 1 – Introdução 2-21

Barra de ferramentas Arrange


A barra de ferramentas Arrange é agrupada com ferramentas que executam a maioria dos
comandos de distribuição de objeto encontrados no menu Arrange. Os ícones dos elementos
da barra de ferramentas Arrange são ativados se um ou mais objetos são selecionados.

Descrição do botão
Comando Align Left do submenu Arrange / Align. Alinha a borda esquerda de todos os
objetos selecionados com a borda esquerda do objeto selecionado mais à esquerda.
Comando Align Center do submenu Arrange / Align. Alinha a linha de centro vertical de
todos os objetos selecionados com a linha de centro do grupo de objetos selecionados.
Comando Align Right do submenu Arrange / Align. Alinha a borda direita de todos os
objetos selecionados com a borda direita do objeto selecionado mais à direita.
Comando Align Top do submenu Arrange / Align. Alinha a borda superior de todos os
objetos selecionados com a borda superior do objeto selecionado na posição mais
elevada.
Comando Align Middle do submenu Arrange / Align. Alinha o meio de todos os objetos
selecionados com o meio do grupo de objetos selecionados.
Comando Align Bottom do submenu Arrange / Align. Alinha a borda inferior de todos os
objetos selecionados com a borda inferior do objeto selecionado na posição mais baixa.
Comando Align Centerpoints do submenu Arrange / Align. Alinha o ponto central de
todos os objetos selecionados com o ponto central do grupo de objetos selecionados.
Comando Send to Back do menu Arrange para posicionar todos os objetos selecionados
atrás dos objetos que não estão selecionados.
Comando Bring to Front do menu Arrange para posicionar todos os objetos
selecionados à frente dos objetos que não estão selecionados.
Comando Space Horizontal do menu Arrange para espaçar uniformemente na horizontal
os objetos selecionados entre os objetos selecionados mais à esquerda e mais à direita.
Comando Space Vertical do menu Arrange para espaçar modo uniformemente na
vertical os objetos selecionados entre os objetos selecionados na posição mais elevada e
mais inferior.
Comando Make Symbol do menu Arrange para combinar diversos objetos em uma única
unidade denominada símbolo.
Comando Break Symbol do menu Arrange para desagrupar um símbolo em
componentes individuais.
Comando Make Cell do menu Arrange para combinar diversos objetos selecionados em
uma única unidade denominada célula. Ao combinar células, cada célula será mantida.
Quando uma célula combinada é desagrupada, as células originais são restauradas.
Comando Break Cell do menu Arrange para desagrupar uma célula selecionada. Ao
combinar células, cada uma será mantida. Quando uma célula combinada é desagrupada,
as células originais são restauradas.
Comando Rotate Clockwise do menu Arrange para girar 90 graus no sentido horário os
objetos selecionados.
Comando CounterClockwise do menu Arrange para girar 90 graus no sentido anti-
horário os objetos selecionados.
Comando Flip Horizontal do menu Arrange para inverter horizontalmente os objetos
selecionados.
Comando Flip Vertical do menu Arrange para inverter verticalmente os objetos
selecionados.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-22 Módulo 2 – Ambiente de desenvolvimento

Descrição do botão
Comando Reshape Object do menu Edit para mudar o formato de um polígono ou
polilinhas.

Barra de status WindowMaker


Ao selecionar um objeto em uma janela, a barra de status do WindowMaker exibe as
coordenadas superior esquerda X e Y, e a altura e a largura do objeto em pixel. As coordenadas X
e Y em pixel são da janela onde o objeto está, ao invés do espaço geral do WindowMaker.

Quando diversos objetos são selecionados, a barra exibe a largura e a altura de todo o grupo.

Quando uma área em branco de uma janela é clicada, a barra de status exibe as coordenadas X
e Y da localização atual do cursor na janela.

Posicionamento e dimensionamento manuais


Na barra WindowMaker, há controles para o posicionamento e o dimensionamento manuais dos
objetos. Selecione um objeto e clique nos controles para inserir as coordenadas X,Y exatas e os
valores de L,A. Selecione objetos diversos para movê-los ou dimensioná-los como um grupo.

Clique para editar a coordenada X ou Y

Clique para editar os valores L ou A

Mantenha a tecla Shift pressionada enquanto desenha retângulos, retângulos com cantos
arredondados e elipses para limitar a altura e a largura e criar quadrados e círculos exatos.

Obs.: Deve-se pressionar ENTER para aceitar e aplicar o posicionamento e dimensionamento.

Clique com o botão direito do mouse nos menus de janela


Para acessar diversos comandos que podem ser aplicados a uma janela, clique com o botão
direito do mouse em uma área em branco da janela aberta e clique no comando apropriado do
menu.

Treinamento Wonderware
Seção 1 – Introdução 2-23

Abertura de janelas
Ao desenvolver seu aplicativo, é possível abrir o número de janelas que a memória de seu
computador suportar.

a. Clique na ferramenta Open Window .


A caixa de diálogo Windows to Open é exibida, listando os nomes de todas as janelas em
seu aplicativo. Por padrão, todas as janelas abertas no momento serão selecionadas.
b. Clique na caixa de seleção próxima ao nome da(s) janela(s) a ser(em) aberta(s).
c. Clique em OK para fechar a caixa de diálogo e abrir a janela selecionada.

Obs.: Para abrir uma janela rapidamente, no Application Explorer, clique 2 vezes com o botão do
mouse em Windows para expandir a lista de todos os nomes de janela. Clique duas vezes com o
botão do mouse na janela. Ou clique com o botão direito do mouse na janela e selecione Open.

Como salvar janelas


Uma vez criada uma janela, será necessário salvá-la antes de fechá-la ou de sair do aplicativo.
Todos os gráficos, QuickScripts, propriedades, etc. associados à janela também são salvos.

a. Clique em Save Window . A caixa de diálogo Windows to Save é exibida, listando os


nomes de todas as janelas a serem salvas.
b. Clique na caixa de seleção próxima ao nome da(s) janela(s) a ser(em) salvas.
c. Clique em OK para salvar a janela Scratch .

Obs.: Se tentar fechar a janela que foi modificada desde a última ação de salvar, será solicitado
que salve as mudanças antes que o WindowMaker feche a janela.

Obs.: Para salvar rapidamente uma janela, no Application Explorer, clique com o botão direito do
mouse na janela e selecione Save. Ou clique com o botão direito do mouse em qualquer área em
branco da janela e clique em Save Window.
Para salvar rapidamente todas as janelas abertas no momento, clique na ferramenta Save All
Windows ou selecione File / Save All Windows.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-24 Módulo 2 – Ambiente de desenvolvimento

Como fechar as janelas

a. Clique na ferramenta Close Window . A caixa de diálogo Windows to Close é exibida,


listando os nomes de todas as janelas abertas no momento.
b. Clique na caixa de seleção próxima ao nome da janela a ser fechada.
c. Clique em OK para fechar a caixa de diálogo e fechar a janela selecionada.

Obs.: Para fechar uma janela, no Application Explorer, clique com o botão direito do mouse nela
e em Close. Ou clique com o botão direito do mouse em qualquer área em branco da janela e
clique em Close Window.

Como excluir janelas


As janelas excluídas não podem ser restauradas, a menos que elas tenham sido salvas. Será
solicitado que confirme a exclusão de cada nome de janela selecionado.
a. Selecione File / Delete Window. A caixa de diálogo Windows to Delete é exibida, listando os
nomes de todas as janelas abertas no momento.
Clique na caixa de seleção próxima ao nome da janela a ser excluída. Clique em OK para
fechar a caixa de diálogo e excluir a janela selecionada.
b. Para este exemplo, clique em Cancel para sair da caixa de diálogo Windows to Delete sem
excluir qualquer janela.

Obs.: Para excluir uma única janela, no Application Explorer, clique com o botão direito do mouse
na janela e selecione Delete. Ou clique com o botão direito do mouse em qualquer área em
branco da janela e em Delete Window.

Como duplicar janelas


Para criar uma cópia de uma janela existente, a janela a ser duplicada deve estar aberta.
a. Selecione File / Save Window As do menu principal WindowMaker.
A caixa de diálogo Window to save under new name é exibida, listando os nomes de todas
as janelas abertas no momento.
b. Selecione a janela que deseja duplicar (somente um nome de janela pode ser selecionado).
Para este exemplo, selecione Scratch. A caixa de diálogo Save Window é exibida:
c. Insira um nome válido para a nova janela na caixa New Name .

d. Clique em OK para fechar a caixa de diálogo e criar a janela duplicada.


Para este exemplo, clique em Cancel para sair da caixa de diálogo Save Window .

Obs.: Para duplicar uma janela, no Application Explorer, clique com o botão direito do mouse na
janela e clique em Save as. Usando este método, a janela ainda precisa estar aberta. Ou clique
com o botão direito do mouse em qualquer área em branco da janela e em Save Window As.

Treinamento Wonderware
Seção 1 – Introdução 2-25

Outras propriedades do WindowMaker


Níveis de Desfazer: Insira o número de níveis de desfazer/repetir a ser salvo (até 25 níveis).
Insira zero (0) para desabilitar a funcionalidade desfazer/repetir.

Ajuste o número total


de níveis de desfazer

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-26 Módulo 2 – Ambiente de desenvolvimento

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-27

Seção 2 – Como usar o WindowMaker

Objetivos da seção
z Criar e manipular objetos no ambiente de desenvolvimento
z Instalar e configurar assistentes

Esta seção aborda a criação e a manipulação de objetos gráficos, linhas e contornos, objetos de
texto, imagens e bitmaps.

Objetos gráficos
Após criar uma nova janela, ela pode ser preenchida com objetos gráficos. O WindowMaker
oferece diversas ferramentas para edição e distribuição de vários objetos gráficos.

Como desenhar objetos


a. Maximize o WindowMaker.

b. Clique no ícone Rectangle na barra de ferramentas Drawing .


Mova o cursor sobre a janela Scratch. O cursor muda para o formato (©).
c. Clique na janela Scratch e desenhe um pequeno retângulo (clique e mantenha pressionado o
botão esquerdo do mouse e arraste-o para baixo, para a esquerda ou para a direita). Solte o
botão do mouse quando o tamanho estiver adequado.
d. Clique em qualquer local da janela fora do objeto retângulo para desmarcar o novo retângulo.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-28 Módulo 2 – Ambiente de desenvolvimento

Como selecionar e dimensionar objetos


O termo selecionado é um conceito chave da edição de objeto e de gráfico do WindowMaker.
Posicione o cursor sobre um objeto e clique com o botão esquerdo do mouse diretamente no
objeto para selecioná-lo. Clique em uma área em branco da janela para desmarcar qualquer
objeto selecionado no momento naquela janela.
Quando um objeto é selecionado, pequenas caixas são exibidas em torno das bordas. As caixas
são alças de dimensionamento e são usadas para redimensionar e/ou reformatar o objeto.
Em geral, qualquer comando que você execute é aplicado a todos os objetos (presumindo-se que
o comando seja válido para o objeto).
a. Clique em qualquer lugar dentro do retângulo. Ele agora está selecionado.

b. Pressione CTRL+D duas vezes (o atalho de teclado para Duplicate).


Três retângulos devem estar visíveis agora.

Lembretes de atalho de teclado

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-29

Como selecionar todos os objetos em uma Janela


a. Selecione todos os objetos na janela ativa usando um dos seguintes métodos.
z Clique no comando Edit / Select All
z Clique com o botão direito do mouse em uma área em branco da janela e em Select All
z Pressione a tecla F2

b. Desmarque os objetos clicando em qualquer local em uma área em branco da janela.


Como selecionar objetos diversos
a. Para selecionar objetos diversos, selecione seu primeiro objeto. Mantenha a tecla SHIFT
pressionada e clique nos outros objetos a serem selecionados.
Para desmarcar um objeto específico de um grupo de objetos selecionados, com todos os
objetos selecionados, deixe pressionada a tecla SHIFT e clique no objeto a ser desmarcado.
Como selecionar um grupo de objetos
a. Mova o cursor para uma área em branco de sua janela.
b. Clique com o botão esquerdo do mouse e o arraste. Um retângulo de seleção pontilhado com
uma cruz é exibido:

c. Arraste o mouse até circundar todos os objetos que deseja selecionar.


d. Solte o botão do mouse. Todos os objetos que estavam totalmente dentro do retângulo serão
selecionados.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-30 Módulo 2 – Ambiente de desenvolvimento

Como desmarcar um grupo de objetos selecionados


Se mantiver pressionada a tecla SHIFT enquanto desenha um retângulo de seleção, todos os
objetos selecionados contidos no retângulo serão desmarcados. Esta técnica pode também ser
usada para iniciar um retângulo de seleção sobre outro objeto.

Outras notas de desenho

Retângulos com cantos arredondados: É possível ajustar o raio no canto de objetos


retângulo com canto arredondado. Mantenha pressionada a tecla SHIFT e use a tecla (+) do
teclado numérico para aumentar o raio ou a tecla (-) no teclado numérico para diminuir o raio.

É possível ajustar o
raio no canto de
retângulo com
canto

Polilinhas: É possível desenhar linhas complexas clicando em diversos locais dentro da


janela. Clique duas vezes para concluir o formato, solte o mouse e exiba as alças de
dimensionamento. Cada alça de dimensionamento é móvel até que clique fora do objeto. Após
clicar fora do objeto, as alças de dimensionamento exibem apenas todo o objeto (altura e largura
total).

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-31

Para editar a polilinha após clicar fora do objeto, selecione Edit / Reshape Object ou clique com
o botão direito do mouse na polilinha e selecione Reshape Object ou selecione o objeto e clique
em Ctrl-R para exibir as alças de dimensionamento nos pontos do objeto.

Polígonos: É possível desenhar formas complexas clicando em diversos locais dentro da


janela. Clique duas vezes para concluir o formato, soltar o mouse e exibir as alças de
dimensionamento.

Cada alça de dimensionamento é móvel até que clique fora do objeto. Após clicar fora do objeto,
as alças de dimensionamento exibem apenas todo o objeto (altura e largura total). Para editar o
polígono após clicar fora do objeto, selecione Edit / Reshape Object ou clique com o botão
direito do mouse no polígono e selecione Reshape Object ou selecione o objeto e clique em Ctrl-
R para exibir as alças de dimensionamento nos pontos do objeto.
Use a ferramenta polígono para criar imagens de válvula de formato triangular no seguinte
laboratório. Faça testes com os botões da barra de ferramentas Drawing listada na página
página 2-17 deste manual.

Exclusão de objetos
a. Selecione o objeto a ser excluído.
b. Clique em Edit / Erase ou selecione o objeto e pressione a tecla DEL .

Obs.: Os objetos excluídos não são copiados na área de transferência do Windows.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-32 Módulo 2 – Ambiente de desenvolvimento

Linhas e contornos
O estilo e a largura de um objeto de linha podem ser alterados, incluindo contornos em elipses,
retângulos, polígonos, bitmaps ou imagens. Uma mudança de estilo ou de largura de linha pode
ser aplicada a um único objeto selecionado ou a diversos objetos selecionados.
O menu Line é dividido em duas seções. A seção superior contém largura de linhas e a seção
inferior contém estilos de linha:

Como aplicar um comando Line


a. Selecione o objeto e, em seguida, clique no estilo ou na largura de linha desejada no menu
Line .

Dica: Se não selecionar um objeto ao selecionar estilo, largura ou cor de linha, a mudança será
aplicada aos ajustes de parâmetro padrões para todas as linhas, formas e ferramentas de texto na
barra de ferramentas Drawing .

Obs.: Somente a largura de linhas sólidas pode ser alterada. Linhas interrompidas têm um único
pixel de largura. Linhas mais largas levam mais tempo para serem desenhadas em Runtime.

Como remover um contorno de objeto


a. Selecione um (ou mais) objeto(s) retângulo(s).
b. Selecione Line / No Line do menu principal WindowMaker. O contorno do objeto é removido.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-33

Distribuição de objetos
O WindowMaker fornece ferramentas para distribuir objetos em suas janelas. A barra Arrange
contém ferramentas para aplicar rapidamente a maioria dos comandos do menu Arrange.

Alinhamento de objetos
Os objetos podem ser alinhados pelas suas bordas esquerda ou direita, centro, pontos centrais,
bordas superior, inferior ou pelo meio.
Ferramentas de alinhamento
a. Selecione um objeto retângulo e arraste-o para outro local.
b. Repita a etapa anterior de forma que os objetos retângulos estejam alinhados aleatoriamente.

c. Selecione todos os objetos.


d. Clique nos ícones de alinhamento Space Horizontal ou Space Vertical.

Os objetos na figura a seguir foram distribuídos uniformemente na vertical e na horizontal.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-34 Módulo 2 – Ambiente de desenvolvimento

e. Clique nos ícones de alinhamento Align Left, Align Center ou Align Right.

Na próxima figura, a ferramenta Align Right foi selecionada e os objetos retângulo foram
movidos para que se alinhem com o lado direito do objeto mais à direita.

Distribuição de objetos em camadas


Os objetos podem ser distribuídos em camadas em sua janela posicionando-os em frente ou
atrás uns dos outros.
Posicionamento de um objeto atrás de outro objeto
a. Selecione um objeto retângulo.

b. Clique no ícone da ferramenta Send to Back ou selecione Arrange / Send to Back do


menu principal WindowMaker. O objeto selecionado será redesenhado atrás do objeto não
selecionado em sua janela.

Posicionamento de um objeto na frente de outro objeto


a. Selecione o objeto.

b. Clique na ferramenta Bring to Front ou clique em Arrange / Bring to Front. O objeto


selecionado será redesenhado na frente do objeto não selecionado em sua janela.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-35

Como girar objetos


A maioria dos objetos (incluindo imagens .bmp, .jpg, .pcx, .tga e objetos de texto) podem ser
girados no WindowMaker com a barra Arrange . Eles podem ser girados no sentido horário ou no
sentido anti-horário em incrementos de 90 graus. Links anexados ao objeto são girados com ele.

Obs.: Girar objetos no WindowMaker é diferente de girar objetos de forma dinâmica em Runtime.
Os objetos de texto não podem ser girados em Runtime. Os bitmaps ou as imagens podem ser
girados atribuindo-se a eles um link de animação Orientation.

Como girar objetos e texto usando a barra de ferramentas Arrange


a. Selecione o(s) objeto(s) ou texto.

b. Selecione o botão Rotate Clockwise ou o botão Rotate CounterClockwise na


barra de ferramentas Arrange . O objeto selecionado será girado em 90 graus na direção
escolhida. A rotação do objeto também é obtida a partir do menu principal selecionando
Arrange / Rotate Clockwise ou CounterClockwise.

Dica: Para girar um objeto 180 graus, repita este procedimento.

Como espelhar e virar objetos


A maioria dos objetos WindowMaker podem ser virados horizontalmente e verticalmente
(incluindo bitmaps, imagens JPEG, PCX e TGA — texto não pode ser virado, mas pode ser
girado). Quando um objeto é virado, ele é transformado em sua imagem espelhada na horizontal
ou vertical. Quaisquer links anexados ao objeto são virados com o objeto.
a. Selecione o(s) objeto(s).

b. Clique no botão da ferramenta Flip Horizontal ou na ferramenta Flip Vertical na


barra de ferramentas Arrange ou selecione Arrange / Flip Horizontal (ou Flip Vertical) do
menu principal do WindowMaker. O(s) objeto(s) selecionado(s) será(ão) virado(s).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-36 Módulo 2 – Ambiente de desenvolvimento

Como criar símbolos e células


Objetos diversos podem ser combinados em 2 tipos diferentes de unidades únicas:
z Símbolos: unem diversos objetos simples ou outros símbolos em um objeto. Se um dos
objetos selecionados tiver links de animação anexados, esses serão anexados ao novo
símbolo. (Se o link colar buffer tiver links, será perguntado se deseja colar os links.)
z Células: suportam links de animação em cada elemento da célula (mas não na própria
célula). Diversas células podem ser combinadas em uma única célula. Os objetos de uma
célula mantêm um relacionamento espacial fixo entre os elementos gráficos individuais.
As células não podem ser giradas; os símbolos podem. Os atributos dos objetos: texto,
fonte, largura de linha, raio e posições dentro de uma célula não podem ser
dimensionados até que a célula seja desagrupada. Ao combinar células, cada uma é
mantida. Quando uma célula combinada é desagrupada, as originais são restauradas.

Símbolo Célula
Cada link de animação aplica-se a todos os objetos no Símbolos mantêm seus links de animação
símbolo; links de animação diferentes podem ser anexados a individuais.
tags diferentes (as cores de linha são anexadas à tag Status,
e todos os links de animação Piscar são anexados à Hazard).
Não podem conter bitmaps, tendências, botões, assistentes Podem ter os objetos: bitmaps, tendência,
ou células botões, assistentes e outras células
Podem conter apenas objetos simples Podem conter outras células
Podem ser redimensionados e têm pequenas alças de Não podem ser redimensionados e têm
dimensionamento grandes alças de dimensionamento

Obs.: Não é possível fazer um símbolo se mais de um dos objetos selecionados tiver links de
animação. Se combinar dois símbolos em um novo, a estrutura do original é perdida. Portanto, se
desagrupar o novo símbolo, ele será desagrupado em componentes individuais de cada símbolo
original. Os dois símbolos originais são perdidos.

Criação de um símbolo ou célula


a. Selecione os objetos para incluir no símbolo ou na célula.

b. Clique no botão Make Cell ou no botão Make Symbol .

Dica: Clique duas vezes com o mouse na célula para exibir a caixa de diálogo Substitute
Tagnames (não a caixa de diálogo Animation Links como ocorre com objetos e símbolos).

Como desagrupar um símbolo ou célula


a. Selecione o símbolo ou a célula.

b. Clique no botão Break Cell ou no botão Break Symbol .

Dica: Para criar um símbolo ou célula, selecione todos os objetos, clique com o botão direito do
mouse em um desses objetos, aponte para Cell / Symbol e clique no comando apropriado.
Dica: Para desagrupar rapidamente um símbolo ou célula, clique com o botão direito do mouse
na célula ou no símbolo e aponte para Cell/Symbol, em seguida, clique no comando apropriado.

Obs.: Se o símbolo tiver links definidos, eles serão salvos automaticamente no buffer Colar link.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-37

Objetos de texto
A fonte, estilo de fonte, tamanho de fonte, justificar e girar qualquer objeto de texto selecionado
podem ser configurados no WindowMaker. Os objetos de texto podem também ser girados 360
graus em incrementos de 90 graus.

Obs.: Os links de animação de direção não podem ser aplicados a objetos de texto. Portanto, os
objetos de texto não podem ser girados no WindowViewer com base no tagname.

A barra de ferramentas Format Tools contém ferramentas usadas para aplicar rapidamente a
maioria dos comandos encontrados do menu Text para objetos selecionados.

Como formatar objetos de texto


Os comandos de texto WindowMaker operam em seleções de string simples ou diversas e
campos de valores numéricos. Se nenhum texto for selecionado quando um comando do menu
Text é executado, ele é automaticamente aplicado ao ajuste de parâmetro padrão da ferramenta
de texto na barra Format e ao ajuste da ferramenta Text na barra Draw Object .
Os ajustes de atributo para justificar texto são particularmente importantes para esses objetos que
exibem valores dinâmicos, pois define a exibição dos campos de comprimento variável em
Runtime.
Exemplo: se estiver exibindo um valor numérico no final de um string de texto que deve aparecer
centralizado ou justificado à direita, todo o string de texto (incluindo o valor) será centralizado ou
justificado novamente cada vez que houver uma mudança no número de dígitos exibidos.

Criação de um objeto de texto

a. Clique na ferramenta Text na barra de ferramentas Drawing .


b. Selecione um local para o texto na janela. O cursor será modificado para uma linha vertical.
c. Insira o string de texto.
d. Clique fora do texto. O texto é agora circundado por alças de dimensionamento, indicando
que está agora selecionado e é configurável.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-38 Módulo 2 – Ambiente de desenvolvimento

Mudança de fonte, estilo de fonte e tamanho de fonte

a. Selecione o texto que deseja mudar e, em seguida, clique na ferramenta Fonts na barra
de ferramentas Format .
A caixa de diálogo padrão Font do Windows é exibida.

b. Selecione a fonte desejada da lista Font (o nome da fonte aparecerá no campo Font).
Quando um tamanho de fonte é selecionado, uma amostra da fonte no estilo e no tamanho
selecionados é exibida no campo Sample (consulte o exemplo acima).
c. Clique em OK.

Obs.: O tamanho de ponto de uma fonte será aumentado ou reduzido de acordo com o alcance
dos tamanhos de ponto disponíveis para a fonte selecionada. A fonte System, por exemplo, não
pode ser dimensionada. Escolha uma fonte do Windows tipo True-Type como Arial antes de
mudar o tamanho.

Edição de objetos de texto


a. Selecione o objeto de texto.
b. Escolha Special / Substitute Strings ou clique com o botão direito do mouse no objeto de
texto e selecione Substitute Strings ou pressione as teclas Ctrl+L . A caixa de diálogo
Substitute Strings é exibida:

c. Na caixa New String, insira o novo string de texto.


d. Clique em OK.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-39

O novo string de texto é exibido na janela:

Dica: É possível usar o comando Substitute String em strings que estão incluídas em um
símbolo ou célula e mudar o rótulo nos botões desenhados com a ferramenta Button.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-40 Módulo 2 – Ambiente de desenvolvimento

Substituição de uma parte de um objeto de texto


Se mudar uma parte do texto de um objeto de texto, o InTouch pode mudar globalmente todos os
objetos de texto selecionados usando o mesmo texto.
a. Selecione todos os objetos de texto.

b. Selecione Special / Substitute Strings.


A caixa de diálogo Substitute Strings é exibida:

c. Clique em Replace.
A caixa de diálogo Replace Text é exibida:

d. Insira a parte do string a ser substituída no campo Old Text.


e. Insira o novo texto de substituição no campo New Text.
f. Clique em OK.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-41

A caixa de diálogo Substitute Strings é exibida novamente mostrando a mudança feita nos
strings de texto selecionados:

g. Clique em OK. Os objetos de texto selecionados serão modificados automaticamente.

Dica: Se você clicar com o botão direito do mouse em qualquer caixa de entrada de texto em uma
caixa de diálogo, um menu é exibido mostrando os comandos que podem ser aplicados ao texto
selecionado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-42 Módulo 2 – Ambiente de desenvolvimento

Como configurar fontes padrões


É possível configurar o WindowMaker para usar fontes padrões para objetos de texto e strings de
botão. A fonte padrão e suas características (estilo, cor, tamanho) é usada automaticamente ao
criar novos objetos de texto ou botões.
a. Clique com o mouse duas vezes em Configure / WindowMaker no Application Explorer.

A caixa de diálogo WindowMaker Properties é exibida:

Ajuste as fontes
padrões para objetos
de texto e objetos de
botão

b. Selecione Text ou Button.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-43

A janela Font é exibida:

c. Selecione uma fonte do Windows tipo True-Type para atribuir a uma fonte padrão que pode
ser redimensionada.
d. Selecione OK para salvar as alterações ou Cancel para sair da caixa de diálogo
WindowMaker Properties .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-44 Módulo 2 – Ambiente de desenvolvimento

Imagens e Bitmaps
Todas as imagens e os formatos gráficos como figuras, capturas de telas e tipos de arquivo .jpg,
.pcx e .tga criados em outros programas Windows devem ser colados no contêiner bitmap no
WindowMaker. Alguns pontos chaves a serem lembrados:
z WindowMaker vê um bitmap como um objeto único
z Não é possível incluir bitmaps em símbolos
z É possível incluir bitmaps em uma célula
z É possível configurar um bitmap com uma cor transparente de forma que ele possa
flutuar sobre outros objetos
‰ Ao fazer isto, a cor de fundo da janela ou qualquer objeto atrás do bitmap será
transparente em áreas onde o filtro de cor transparente é aplicado. (Somente
uma cor transparente pode ser usada por bitmap.)
z É possível editar um bitmap usando o programa Microsoft Paint incluído no Windows
sem sair do WindowMaker
‰ Clique com o botão direito do mouse em um bitmap e selecione Edit Bitmap para
iniciar o Microsoft Paint e editar o bitmap

Obs.: Não é possível usar o WindowMaker enquanto estiver editando o bitmap no Paint. Para
retornar ao WindowMaker, saia do Microsoft® Paint. Suas mudanças são salvas no objeto bitmap
no WindowMaker, não no arquivo bitmap original que foi importado.

Importação de um arquivo Bitmap, JPEG, PCX ou TGA

a. Clique na ferramenta Bitmap . O cursor se transforma em um símbolo de + .


b. Desenhe o contêiner do bitmap em sua janela (qualquer tamanho).
A seguinte figura exibe o objeto bitmap na janela Scratch:

c. Clique com o botão direito do mouse no contêiner do bitmap.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-45

Um menu drop-down é exibido:

d. Selecione Import Image para colar uma imagem no contêiner.


A caixa de diálogo Select Image File é exibida:

e. Selecione o arquivo a ser importado como um bitmap. Na figura anterior, a imagem setup.bmp
é selecionada da pasta WINNT/System32 no drive C: .
f. Clique em Open.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-46 Módulo 2 – Ambiente de desenvolvimento

A imagem é colada no objeto bitmap:

g. Para retornar o bitmap ao seu tamanho original, clique com o botão direito do mouse nele e
selecione Bitmap - Original Size.
O bitmap é redesenhado em seu tamanho original:

h. Exclua um objeto bitmap.


Colar um bitmap a partir da área de transferência do Windows
Os arquivos gráficos podem ser copiados diretamente da área de transferência do Windows para
dentro do objeto bitmap do InTouch. Este exemplo usará a tela de abertura do InTouch.
a. Abra o Microsoft Paint (Programs / Accessories / Paint).
b. Selecione File / Open do menu principal Paint.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-47

c. Navegue para Program Files / Wonderware / InTouch e localize o arquivo intouch.bmp.

d. Clique em Open.
O gráfico é exibido na janela Paint com as alças de dimensionamento:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-48 Módulo 2 – Ambiente de desenvolvimento

e. Pressione Ctrl+A para selecionar a imagem gráfica.


f. Pressione Ctrl+C para copiar a imagem para a área de transferência do Windows.

Obs.: Par salvar o bitmap ainda no Microsoft Paint e retornar ao WindowMaker, clique em
File / Save ou File / Exit. Os dois comandos têm a mesma função.

g. Alterne para o WindowMaker.

h. Use a ferramenta Bitmap para criar um contêiner de bitmap na janela Scratch .


i. Selecione o contêiner do bitmap.
j. Clique com o botão direito do mouse no contêiner e selecione Paste Bitmap do submenu. O
bitmap da área de transferência do Windows é colado dentro do contêiner do bitmap.

Obs.: O comando Paste Bitmap somente está disponível quando há uma imagem na área
de transferência do Windows.

O bitmap está agora disponível para redimensionamento manual ou com o Bitmap - Original
Size.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-49

Criar um bitmap transparente


Um bitmap ou imagem pode ser definido com uma cor transparente de forma que os objetos de
fundo ou gráficos atrás deles serão visíveis. Ao definir uma cor transparente, a cor de fundo da
janela ou qualquer objeto atrás do bitmap será transparente em áreas onde o filtro de cor
transparente é usado.
Use a imagem intouch.bmp que acaba de colar.
a. Clique com o botão direito do mouse no objeto e selecione Bitmap - Original Size. O bitmap
muda para seu tamanho original:
b. Reposicione o bitmap e dimensione a janela para garantir que esteja totalmente visível.

c. Selecione o bitmap.

d. Clique na ferramenta Transparent Color na barra de ferramentas Format. A paleta de


cores é exibida:
e. Clique com o botão direito do mouse em uma quadrado de cor em branco na seção Custom
Palette na parte inferior da paleta de cor.
O menu Edit Custom Color é exibido.
f. Selecione o ícone Blotter .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-50 Módulo 2 – Ambiente de desenvolvimento

O menu Edit Custom Color é fechado:

g. Clique na caixa em branco dentro do gráfico InTouch. A cor é copiada para o quadrado de cor
selecionado na paleta de cor transparente.
h. Clique no quadrado em branco dentro de Palette para aplicar a cor transparente ao bitmap.
O bitmap muda para refletir a seleção da cor transparente:

Obs.: (Somente uma cor transparente pode ser aplicada por bitmap.)

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-51

Edição de imagens de bitmap


É possível editar um bitmap usando o programa Microsoft Paint incluído no Windows sem sair do
WindowMaker O Microsoft Paint pode ser ativado automaticamente ao clicar com o botão direito
do mouse no objeto bitmap. Enquanto estiver no Microsoft Paint, o bitmap pode ser editado.

Obs.: Não é possível usar o WindowMaker enquanto estiver editando o bitmap no Paint. Para
retornar ao WindowMaker, saia do Microsoft Paint e salve a imagem em seu disco rígido.

a. Exclua a imagem bitmap com a transparência criada acima.


b. Posicione um novo contêiner de bitmap na janela Scratch.
c. Importe o arquivo Program Files / Wonderware / InTouch intouch.bmp novamente.
d. Selecione Bitmap - Original Size e centralize o bitmap na janela Scratch.
e. Selecione Edit / Edit Bitmap ou clique com o botão direito do mouse na imagem bitmap e
selecione Edit Bitmap.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-52 Módulo 2 – Ambiente de desenvolvimento

O Microsoft Paint inicia com um nome de arquivo temporário atribuído automaticamente:

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-53

f. Use diversos recursos do Microsoft Paint para personalizar o arquivo bitmap. Neste exemplo,
adicione Company Logo Here com a ferramenta de texto e modifique as propriedades da
fonte.

g. Feche o Microsoft Paint. Será solicitado que salve o arquivo temporário.

h. Clique em Yes. Suas mudanças são salvas no objeto bitmap no WindowMaker, não no
arquivo bitmap original que foi importado.
i. Retorne para o WindowMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-54 Módulo 2 – Ambiente de desenvolvimento

Sua janela deve ser semelhante a esta figura:

Dica: Para tornar o bloco em branco original transparente, mas não o texto branco transparente,
edite o bitmap, preencha a caixa com uma única cor não usada em outro local do logo e uso esta
cor única como a cor transparente em sua janela InTouch.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-55

Assistentes
Os assistentes são componentes gráficos individuais pré-desenhados embutidos na janela
InTouch durante o desenvolvimento para uso em um aplicativo Runtime.
Os assistentes economizam um tempo considerável durante o desenvolvimento do aplicativo
porque eles são fáceis de usar e configurar. Ao usar Assistentes, não é necessário gastar muito
tempo desenhando componentes individuais para o objeto, inserindo faixas de valores para o
objeto ou animando o objeto.
Por exemplo, no caso de um assistente Slider, opções de configuração incluem itens como link
para o nome de tags, etiquetas para as faixas mínima e máxima para o slider, a cor de
preenchimento, etc.
Uma vez que as informações de configuração requeridas são inseridas, o assistente está pronto
para ser usado em Runtime.
Os assistentes complexos podem ser desenvolvidos para fornecer tipos de operações "em
segundo plano". Estas operações podem incluir a criação de janelas de exibição completas, a
criação ou conversão de um banco de dados e a configuração de outros aplicativos como os
programas complementares InTouch Recipe Manager e SPCPro.

Como instalar ou remover Assistentes


A instalação e a remoção de assistentes não é o mesmo que colá-los na InTouch, mas incluí-los
em uma lista ativa de objetos disponíveis.
a. Selecione Special / Configure / Wizard/ActiveX Installation do menu WindowMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-56 Módulo 2 – Ambiente de desenvolvimento

A caixa de diálogo Wizard/ActiveX Installation é exibida com a folha de propriedade Wizard


Installation ativa:

Obs.: O uso de aplicativos de terceiros pode requerer que assistentes adicionais sejam
instalados.

O painel superior contém a lista de objetos Assistente disponíveis e o painel inferior contém
qualquer objeto Não Instalado.
Na lista Installed Wizards, selecione um assistente para ser removido de seu aplicativo e
clique no botão Remove. Os objetos não instalados estão disponíveis para instalação, basta
destacá-los e clicar no botão Install (ele torna-se ativo após o objeto ser selecionado).

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-57

b. Selecione a guia ActiveX Control Installation . A lista Available também está no painel
inferior.

c. Use o botão Remove para excluir um Controle ActiveX e movê-lo para a lista de Controles
ActiveX disponíveis.
(Não exclua nenhum assistente neste exemplo.)
d. Clique em Cancel para retornar ao WindowMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-58 Módulo 2 – Ambiente de desenvolvimento

Posicionamento de objetos de assistente em uma janela

a. Clique no ícone da barra de ferramentas Wizard Hat .


A caixa de diálogo Wizard Selection é exibida:

Dica: Para adicionar o assistente à barra de ferramentas Wizards/ActiveX , clique em Add to


toolbar. Uma vez que um assistente é adicionado à barra de ferramentas Wizards/ActiveX , ele
pode ser selecionado e colado em sua janela aberta a qualquer momento.

b. Selecione Switches.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-59

Os assistentes de chave disponíveis são exibidos no painel de visualização principal:

c. Selecione o assistente Fixture Switch.


d. Clique em OK. A caixa de diálogo fecha e a janela Scratch é exibida. O cursor muda para um
símbolo de canto ao retornar para a janela.

e. Clique no local da janela em que deseja colar o assistente.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-60 Módulo 2 – Ambiente de desenvolvimento

O assistente é exibido com suas alças de dimensionamento:

f. Clique duas vezes com o mouse no assistente para visualizar seus atributos de configuração.

g. Clique em Cancel para sair da caixa de diálogo Discrete Switch Wizard. Os assistentes e os
objetos de ActiveX serão configurados com mais detalhes posteriormente neste curso.

Obs.: Algumas funções da barra de ferramentas podem ser usadas para modificar assistentes
aplicáveis diretamente, como as ferramentas Reduce Font, Line Color, Fill Color entre outras.

Treinamento Wonderware
Seção 2 – Como usar o WindowMaker 2-61

Remoção de assistentes de uma barra de ferramentas


Após adicionar Assistentes e controles ActiveX à barra de ferramentas Wizard, o botão Remove
from toolbar na caixa de diálogo principal Wizard Selection fica ativa.

a. Clique em Remove from Toolbar para exibir a caixa de diálogo Remove Wizard from
Toolbar .

b. Selecione o assistente a ser excluído da barra de ferramentas.


c. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-62 Módulo 2 – Ambiente de desenvolvimento

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 1 – 2-63

Laboratório 1 –

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-64 Módulo 2 – Ambiente de desenvolvimento

Treinamento Wonderware
Laboratório 2 – Criação de um novo aplicativo, janelas e gráficos 2-65

Laboratório 2 – Criação de um novo


aplicativo, janelas e gráficos
Introdução
Este laboratório explica como criar e manipular objetos dentro do WindowMaker, incluindo a
criação de um aplicativo, uma nova janela e novos gráficos.

Objetivos
Ao final deste laboratório, você:
z Criará um novo aplicativo
z Criará uma nova janela
z Criará novos gráficos

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-66 Módulo 2 – Ambiente de desenvolvimento

Criação de um novo aplicativo

Obs.: O aplicativo exibido nas etapas a seguir foi criado durante as etapas orientadas pelo
Instrutor, anteriormente, neste módulo. Se ainda não o criou, faça agora. Caso contrário, vá para
a seção deste laboratório denominada, “Criação de uma nova janela” na página 2-68.

1. Selecione Start / Programs / Wonderware / InTouch .


O Application Manager é exibido:

2. Clique na ferramenta New na barra de ferramentas Application Manager.


A caixa de diálogo Create New Application é exibida, permitindo especificar um diretório
padrão para armazenar os aplicativos.
3. Insira c:\applications no campo do diretório.
4. Clique na caixa de seleção Set As Default Directory.

5. Clique em Next.

Treinamento Wonderware
Laboratório 2 – Criação de um novo aplicativo, janelas e gráficos 2-67

6. Crie um diretório em que o aplicativo será criado.

7. Clique em Next.
8. Insira InTouch Basic no campo Name: e uma descrição (opcional) na caixa Description.

Obs.: Confirme se a opção InTouchView Application está desmarcada. Isto somente é


aplicável no ambiente ArchestrA, com o Industrial Application Server.

9. Clique em Finish.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-68 Módulo 2 – Ambiente de desenvolvimento

A janela InTouch - Application Manager é reexibida mostrando um ícone, o caminho e a


Versão, Modo e Descrição do aplicativo:

Obs.: Quando o aplicativo é exibido pela primeira vez no Application Manager, a resolução e
a versão são exibidas como 0. Após serem abertos, os detalhes de resolução e de versão são
atualizados.

Criação de uma nova janela

Obs.: A janela exibida nas etapas a seguir foi descrita durante as etapas orientadas pelo
Instrutor, anteriormente, neste módulo. Se ainda não o criou, faça agora. Caso contrário, vá para
a seção deste laboratório denominada, “Clique no canto inferior direito da janela e arraste-a para
redimensionar a janela.” na página 2-70.

10. Clique duas vezes com o mouse no aplicativo InTouch Basic.

Treinamento Wonderware
Laboratório 2 – Criação de um novo aplicativo, janelas e gráficos 2-69

Um aplicativo em branco será exibido no ambiente de desenvolvimento:

11. Clique no ícone New Window .


A caixa de diálogo Window Properties é exibida:

12. Insira Scratch no campo Name: .


13. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-70 Módulo 2 – Ambiente de desenvolvimento

A nova janela é exibida no WindowMaker:

14. Clique no canto inferior direito da janela e arraste-a para redimensionar a janela.

Criação de novos gráficos


Esta tarefa demonstra como criar um objeto de válvula simples e um botão dentro da nova janela.
Abra a janela Scratch se ainda não estiver aberta.

15. Clique no ícone Polygon da barra de ferramentas e desenhe um triângulo.

Treinamento Wonderware
Laboratório 2 – Criação de um novo aplicativo, janelas e gráficos 2-71

16. Selecione o triângulo e clique no ícone da barra de ferramentas Duplicate .

17. Clique nas ferramentas Rotate / Flip na barra de ferramentas Arrange .

Dica: Mantenha a tecla SHIFT pressionada ao clicar em um objeto para evitar que ele se
mova.

A seguir, posicione as duas metades da válvula como exibido, usando as setas de direção ou
o mouse.
18. Mantenha a tecla SHIFT pressionada ou a tecla CTRL e use as setas de direção para mover
o objeto 10 ou 50 pixels respectivamente.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-72 Módulo 2 – Ambiente de desenvolvimento

19. Selecione o ícone Rectangle na barra de ferramentas .


20. Desenhe um retângulo comprido e posicione-o de forma similar à figura a seguir.

21. Expanda o menu Arrange da janela WindowMaker principal.


Observe que o comando do menu Snap to Grid está marcado:

Desmarcar a propriedade Snap to Grid faz com que seja possível distribuir seus objetos mais
precisamente. O padrão pontilhado na janela Scratch desaparece quando Snap to Grid é
desabilitado, permitindo que um objeto mova-se um pixel. Alterne a grade entre habilitada e
desabilitada com o menu Arrange ou ao clicar no botão da grade na barra de ferramentas
View.

22. Selecione o objeto principal e clique em Send to Back .


Isto posiciona o objeto principal atrás dos outros objetos e gera um projeto mais limpo.

23. Clique no ícone Ellipse da barra de ferramentas.

Treinamento Wonderware
Laboratório 2 – Criação de um novo aplicativo, janelas e gráficos 2-73

24. Adicione a manopla da válvula usando uma forma de elipse e posicione-a assim:

25. Selecione o ícone da barra de ferramentas Text .


26. Adicione o texto Valve1 em local logo abaixo do objeto válvula.

27. Clique com o botão direito do mouse no objeto de texto e selecione Fonts.
A caixa de diálogo Font é exibida:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-74 Módulo 2 – Ambiente de desenvolvimento

28. Selecione a fonte Arial, Negrito, 12 pontos. A escolha de uma fonte True-Type garante que o
texto permanecerá consistente se for executado em outro sistema ou se for redimensionado.
29. Clique em OK. A válvula está agora composta de quatro objetos separados e de um objeto de
texto.
30. Pressione a tecla F2 para selecionar todos os objetos na janela.

31. Clique no ícone da barra de ferramentas Make Symbol . Todo o símbolo pode agora ser
redimensionado clicando e arrastando as alças de dimensionamento.

32. Clique no ícone Button da barra de ferramentas e desenhe um botão abaixo do símbolo
da válvula.

33. Selecione o botão e pressione Ctrl+L.

Treinamento Wonderware
Laboratório 2 – Criação de um novo aplicativo, janelas e gráficos 2-75

A caixa de diálogo Substitute Strings é exibida:

34. No campo New String, insira DiscTag1.


35. Clique em OK.
36. Edite as propriedades da Fonte do botão para corresponder ao string de texto: Selecione
fonte Arial, Negrito,12 pontos.
A janela Scratch deve ser semelhante à seguinte figura:

37. Salve a janela Scratch .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


2-76 Módulo 2 – Ambiente de desenvolvimento

– Deixado em branco intencionalmente –

Treinamento Wonderware
Módulo 3

Dicionário Tagname
Seção 1 – Tags e recursos de tag 3-3
Laboratório 2–Criação de tags 3-17
3-2 Módulo 3 – Dicionário Tagname

Objetivos do módulo
z Explicar as tags InTouch e o Dicionário Tagname
z Definir os tipos de tag
z Criar tags com o Editor de Tag
z Modificar uma tag e as configurações de filtro do Tagname Browser

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-3

Seção 1 – Tags e recursos de tag

Objetivos da seção
z Apresentar o dicionário Tagname
z Criar, definir e modificar tags
z Definir e configurar filtros Tagname Browser
z Imprimir o Dicionário Tagname

Esta seção definirá tags, tipos de tag, criação de tag e modificação de tag. Ela também
demonstrará os filtros Tagname Browser e a impressão do dicionário Tagname.

Tags
Uma tag é definida simplesmente como um valor. O valor representa um nível de tanque,
temperatura, status de comunicação, posição de chave e outros valores em tempo real em seus
processos. Cada tag tem uma variedade de atributos como tagname, valores mín/máx e nome de
acesso.
O InTouch precisa de informações diferentes para tipos de tags diferentes. Por exemplo, para tags
do tipo E/S, o InTouch requer mais informações a fim de poder adquirir o valor da fonte de dados
externa e convertê-lo para uso interno. As informações sobre a tag estão contidas dentro do
dicionário Tagname.
O Dicionário Tagname (banco de dados Runtime) é a parte central do InTouch. Ele contém o valor
atual de todas as tags no banco de dados. Para criar o banco de dados Runtime, o InTouch
requer informações sobre todas as variáveis que estão sendo criadas. Cada tag deve ter um
tagname e um tipo atribuídos.
Durante o Runtime, um aplicativo InTouch acessa o Dicionário Tagname e fornece informações
específicas da tag via links de animação, scripting, etc. Quando as tags mudam (ex.: criada, troca
de valor, troca de configuração), as mudanças são armazenadas no Dicionário Tagname.
A criação e a configuração manual de tags são feitas usando duas interfaces do Dicionário
Tagname: O Tag Editor e o Tag Browser.

Convenções de nomeação de tags


Um tagname identifica uma tag para o InTouch e para o usuário. Os tagnames podem conter até
32 caracteres de comprimento e podem começar com caractere alfanumérico (A-Z ou a-z) ou
caractere numérico (0-9). Os caracteres restantes podem ser A-Z, a-z, 0-9, !, @, -, ?, #, $, %, _, \
e &. Se um tagname começa com um caractere numérico, ele deve ser seguido por, pelo menos,
um caractere alfanumérico diferente de “e” ou “E” ou “x”. Os tagnames não podem conter
espaços.

Obs.: O caractere barra invertida (\) é válido apenas para Supertags (discutidas em Module 9,
“Advanced Tag Functionality,”).

Os tagnames não podem ter a forma de qualquer expressão numérica válida. Por exemplo,
123E4 ou strings que podem ser números hexadecimais como 0xABCDEF não são permitidos.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-4 Módulo 3 – Dicionário Tagname

Indexação
Os tagnames podem ser indexados automaticamente, desde que o tagname inclua um número.
Por exemplo, se inserir e salvar um tagname R4001 e clicar em New, o tagname será
automaticamente indexado como R4002.

Separadores de caractere
Se um tagname contiver um caractere usado para separar números, ele também é auto indexado
pelo primeiro número inteiro que o InTouch encontrar, por exemplo, N7-0 seria indexado como
N7-1. Somente mudanças positivas (incrementos) são permitidas, como R4002 para R4003
seguido de R4003 para R4004.
Cuidado ao incluir travessões (-) em tagnames. Travessões são válidos para uso em tagnames
que não comecem com números, mas eles também são usados como operação de negativo e
subtração em expressões matemáticas ou lógicas. Ele pode criar ambigüidade em algumas
situações: se usar A=B-C em uma expressão significa que A é igual a B menos C.
Entretanto, o InTouch presume que você deseja atribuir um tagname nomeado B-C a um tagname
nomeado A. É possível evitar esta confusão separando os tagnames dos operadores com
espaços em branco, por exemplo, A = B - C.
Considere este exemplo: X-101=FT-101*SP-101. Na expressão, FT-101 está sendo multiplicada
por SP-101 e atribuída a X-101 porque nenhum espaço foi usado.

Tipos de tag
As tags InTouch são tags do tipo memória ou tags do tipo E/S. Por exemplo, se a tag lê ou
escreve valores que vêm ou vão para um aplicativo externo, como ou servidor de E/S, ela é uma
tag do tipo E/S. Quando estiver definindo tags no banco de dados InTouch, é necessário atribuir
um tipo específico para cada tag de acordo com seu uso.

Tipo memória
As tags do tipo memória são usadas internamente (dentro de seu aplicativo InTouch) para criar
constantes de sistema e simulações. Elas também podem ser usadas para criar variáveis
calculadas que são acessadas por outros programas do Windows.
Por exemplo, em uma simulação de processo, as tags de memória controlam as ações de um
QuickScript de fundo pela definição da tag de memória COUNT modificada por um Action
QuickScript. O Quick Script gera vários efeitos de animação para a ETAPA atual do processo.

Obs.: QuickScripts são explicados em Módulo 5, “InTouch QuickScripts.”

Há quatro tipos de Memória.


Memoria Discreta: Tag discreta interna com um valor de 0 (Falso, Desativado ou Baixo) ou 1
(Verdadeiro, Ativado ou Alto).
Memória Inteira (analógica): Um valor inteiro com sinal de 32 bits entre -2,147,483,648 e
2,147,483,647.
Memória Real (Analog): Valor de ponto flutuante (decimal). O valor de ponto flutuante pode
ser entre -3.4e38 e 3.4e38. Todos os cálculos de ponto flutuante são realizados com uma
resolução de 64 bits, mas o resultado é armazenado em 32 bits.
Memória de Mensagem: Tag de string de texto que pode ter até 131 caracteres de
comprimento.

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-5

Tipo de E/S
Todas as tags que lêem ou escrevem seus valores de uma fonte externa são tagnames do tipo E/
S. Isto inclui todas as entradas e saídas de controlador programável, computadores de processo
e dados de nós de rede.
As tags de E/S são acessadas através de protocolos de comunicação de Troca de Dados
Dinâmica da Microsoft (DDE) ou Wonderware SuiteLink (recomendado para comunicação de rede
e diagnósticos).
Quando o valor de um tagname do tipo leitura/escrita E/S muda, ele é imediatamente escrito para
o aplicativo remoto. A tag pode também ser atualizada do aplicativo remoto quando o item com o
qual o tagname está vinculado muda no aplicativo remoto.
Por padrão, todo tagname de E/S é definido como Leitura/Escrita. Entretanto, é possível restringí-
lo para somente leitura através da opção Read Only na caixa de diálogo Tagname Dictionary.
Há quatro tipos de E/S.
E/S discreta: Tag de entrada/saída discreta com um valor de 0 (Falso, Desativado) ou 1
(Verdadeiro, Ativado).
E/S Inteira (analógica): Um valor inteiro com sinal de 32 bits entre -2,147,483,648 e
2,147,483,647.
E/S Real (analógica): Tag de ponto flutuante (decimal). O valor de ponto flutuante pode ser
entre -3.4e38 e 3.4e38. Todos os cálculos de ponto flutuante são realizados com uma
resolução de 64 bits, mas o resultado é armazenado em 32 bits.
E/S de mensagem: Tag de string de texto de entrada/saída que pode ter até 131 caracteres
de comprimento.

Tipos diversos de tag


Há diversos tipos especiais de tags que podem ser atribuídos a tags que realizam funções
complexas, como criar telas de alarme dinâmicas, tendências de histórico, monitoração ou
controle de tag que cada pena de tendência de histórico esteja imprimindo, etc.

Obs.: Group Var (Alarmes), HistTrend/Tag ID, Indirect Tags, e SuperTags estão incluídas no
Módulo 6, “Alarmes,” Módulo 7, “Tendência de histórico em de tempo real,” e Módulo 9,
“Funcionalidade de tag avançada,” respectivamente. Elas são apresentadas aqui como contexto.

Group Var
O tipo Group Var é usado para uma tag com um Alarm Group atribuído para criar telas de
alarme dinâmicas, registros de disco e registros de impressão. As tags do tipo Group Var são
usadas para criar janelas de alarme ou registros de alarme que exibem todos os alarmes
associados com uma variável de grupo específica. É possível também controlar os alarmes
que são exibidos ou registrados atribuindo um Alarm Group diferente à tag Group Var .
É possível também usar uma tag do tipo Group Var para criar botões de aplicativo em que o
operador pode clicar para exibir seletivamente alarmes para áreas diferentes de uma fábrica
dentro da mesma janela de alarme Todos os .fields associados ao Alarm Groups podem ser
aplicados aos tagnames Group Var .
Hist Trend
O InTouch requer uma tag do tipo Hist Trend quando uma tendência de histórico for criada.
Todos os .fields associados ás tendências de histórico podem ser aplicados aos tagnames
Hist Trend.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-6 Módulo 3 – Dicionário Tagname

Tag ID
Este é um tipo especial usado com os objetos de tendência de histórico. Usam-se tagnames
do tipo Tag ID para recuperar informações sobre tagnames impressos em uma tendência de
histórico. Na maioria dos casos, seriam usados tagnames Tag ID para exibir o nome de um
tagname atribuído a uma pena específica ou para mudar o tagname atribuído à pena.
É possível processar uma declaração em um QuickScript para atribuir um novo tagname a
qualquer pena em qualquer tendência de histórico. Por exemplo, a seguinte declaração
poderia ser usada em seu QuickScript:
MyHistTrendTag.Pen1=MyLoggedTag.TagID;
Quando este QuickScript é executado, Pen1 na tendência de histórico associada ao tagname
Hist Trend "MyHistTrendTag" começaria o tendenciamento de dados armazenados no
histórico para o "MyLoggedTag."
Tags indiretas e super tags
As tags indiretas e as super tags são mais dois tipos de tags explicados detalhadamente no
Módulo 9 deste manual.

Criação de tags
As tags e seus tagnames (e outros atributos) são criados usando o Tagname Editor do Tagname
Dictionary.
a. Selecione Special / Tagname Dictionary do menu principal WindowMaker ou clique duas
vezes com o mouse no Tagname Dictionary no Explorer.

A primeira vez que acessar o Tagname Dictionary, a definição para o tagname interno do
sistema $AccessLevel é exibido. Esta é a primeira tag na lista Tag Browser. Após salvar a
definição de tag no Tagname Editor, a última definição de tagname editada é exibida.

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-7

b. Clique nos botões << ou >> para navegar através das definições de tagname atualmente
armazenadas em seu Tagname Dictionary (Os botões do navegador são inativos quando não
há tagnames anteriores ou próximos a serem exibidos).
c. Clique em New.
O campo Tagname é apagado:

d. No campo Tagname: insira RealTag.


e. Clique no botão Type:... .
A caixa de diálogo Tag Types é exibida:

f. Selecione Memory Real.


g. Clique em OK.
h. Defina RealTag detalhadamente com estes valores:
z Insira 250 no campo Initial Value
z Insira 0 no campo Min Value
z Insira 500 no campo Max Value
z Não altere os outros valores

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-8 Módulo 3 – Dicionário Tagname

A caixa de diálogo Tagname Dictionary deverá agora estar semelhante à seguinte figura:

i. Clique em Save.
O Tagname Dictionary está agora pronto para que outra tag seja definida.
Observe que os valores de tag anteriores permanecem em seus respectivos campos.
Substitua os valores existentes pelas novas informações de tag.

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-9

Opções de configuração do Tagname Editor


Tagname: Tagnames têm um limite de 32 caracteres. Um tagname pode começar com um
caractere numérico que não é seguido de uma letra E, ou o InTouch lerá como um exponencial.
Group: Atribuir a tag a um Alarm Group específico. Ao clicar neste botão é exibida a caixa de
diálogo Alarm Group, a partir da qual o Alarm Group é selecionado. (Alarmes e grupos de
alarmes são configurados no Módulo 6, “Alarmes.”)
Se não atribuir uma tag a um Alarm Group específico, o InTouch a atribui ao grupo raiz,
$System por padrão.
Ao criar e atribuir a tag a um Alarm Group, se você não fechar a caixa de diálogo, todas as
tags seguintes definidas serão atribuídas ao mesmo Alarm Group, a menos que mudado.
Para as tags de E/S, selecione Read Only se deseja restringir a tag aos recursos de somente
leitura em Runtime ou Read Write para atribuir as capacidades de leitura e de escrita.
Comment: Contém qualquer comentário que deseja que o sistema armazene com relação à tag
(até 50 caracteres).
Alarm Comment: É possível configurar suas janelas de alarme para exibir estes comentários
quando a tag está em alarme. O sistema de alarme distribuído pode ser configurado para
armazenar comentários do operador referentes ao alarme identificado no campo Alarm Comment.
Log Data: Armazena os dados de tag no arquivo de armazenamento de histórico durante o
Runtime quando seu valor de unidade de medida muda mais do que o valor Log Deadband
especificado ou, por padrão, uma vez a cada hora, independente de mudança.
Para valores de tag serem registrados, o armazenamento de histórico deve ser habilitado
selecionado Special / Configure Historical Logging do menu principal WindowMaker.
Se esta opção for desabilitada depois (valor de tag NÃO armazenado), os dados salvos
anteriormente estarão inacessíveis pelo InTouch nas telas de tendência de histórico.
Se esta opção for habilitada novamente, todos os dados armazenados serão acessíveis, mas
a tendência de histórico exibiria um intervalo no traço de tendência.
Além disso, se fizer mudanças de armazenamento no WindowMaker enquanto o
WindowViewer está executando, as mudanças não terão efeito até que ele seja reiniciado.
Log Events: Armazena todas as mudanças de dados da tag que são iniciadas pelo operador, E/
S, um QuickScript ou pelo sistema.
Ao definir um tagname para monitorar o evento, uma mensagem de evento é armazenada no
Alarm System sempre que o valor do tagname mudar. A mensagem de evento armazena
como o valor mudou e se a mudança foi iniciada pelo operador, E/S, scripts ou pelo sistema.
Quando a opção Log Events é selecionada, o campo Priority torna-se ativo. Entradas
válidas neste campo são 1 a 999, onde 1 é a mais alta prioridade e 999 é a mais baixa.
Retentive Value: Retém o valor atual da tag quando o WindowViewer é fechado. Este valor será
usado como o valor inicial para a tag quando ele for reiniciado. Os valores retentivos não podem
ser selecionados ou apagados para as tags novas ou existentes quando ele estiver executando.
Retentive Parameters: Retém qualquer mudança que o operador faça no valor de qualquer
campo de limite de alarme para a tag. Este valor será usado como o valor inicial para o alarme
quando o WindowViewer for reiniciado.

Obs.: Uma vez que as mudanças são armazenadas imediatamente, recomenda-se selecionar
somente as duas opções retentivas acima para valores que não são mudados freqüentemente.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-10 Módulo 3 – Dicionário Tagname

Detalhes de tag
Muitas tags requer um nível maior de detalhe para serem manuseadas corretamente. Uma área
Details específica é exibida para cada tipo de tag para definir os detalhes e os tipos de alarme
para o tipo de tag.

Obs.: NÃO clique em Cancel ou Close neste momento.

Initial Value: Valor da tag na inicialização até que ela receba um valor diferente ou seja
suprimida por um valor Retentivo.
Eng Units: Unidades de medida. Uma anotação para a tag reservada para indicar uma
unidade de medida, por exemplo. PSI.
Min/Max Value: Faixa esperada para a tag.

Obs.: Os valores mínimo/máximo de Memory Tags não limitam a faixa da tag. A limitação de uma
tag deve ser feita por meio de links de Entrada de Animação.

Deadband: Valor mínimo para o qual a tag deve ser alterada para que seu valor seja
atualizado. Isto geralmente é usado para as tags de E/S atualizadas freqüentemente.
Log Deadband: Valor mínimo para o qual a tag deve mudar para que seu valor seja
armazenado no histórico.
Outras observações
Os nomes de qualquer SuperTag criada no TemplateMaker também são exibidos na área Tag
Details e as tags membro podem ser selecionadas como o tipo de tag. Observe que as
SuperTags podem conter até 64 tags membros usando 2 níveis de encadeamento).
Para SuperTags NÃO criadas usando o SuperTag TemplateMaker, por exemplo SuperTags
criadas em um tagname link de animação ou caixa de entrada de expressão, um QuickScript,
ou criadas em um arquivo externo e carregadas no utilitário DBLoad, o nome SuperTag é
exibido no campo Type .

Obs.: Se uma tag estiver vinculada a um objeto no momento ou for usada em um


QuickScript, ela não pode ser alterada. As SuperTags são explicadas em Módulo 9,
“Funcionalidade de tag avançada.”

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-11

Tag Browser
O Tag Browser exibe todas as tags contidas no dicionário Tagname. O Tag Browser é sua
principal ferramenta para visualização e seleção local e remota de tagnames e de tagname .fields
dos aplicativos FactorySuite ou qualquer outra fonte de tag que seja compatível com a interface
do InTouch Tagname Dictionary. Ele permite selecionar as tags existentes, incluir novas tags e
visualizar as informações básicas do Tagname Dictionary.
O navegador de tags também é usado para acessar o Tag Editor para realizar a edição,
replicação e configuração de referências remotas para as fontes de tag remotas. A primeira vez
que o navegador de tags é acessado, por padrão, <local> será selecionado como a fonte de tag.
Isto significa que os tagnames no Tagname Dictionary do aplicativo local serão exibidos. Portanto,
a última fonte de tag acessada será exibida.
O navegador de tag opera no modo dicionário ou seleção. O modo é determinado pelo método
usado para acessá-lo.

Obs.: O modo de seleção ilimitado é discutido em mais detalhes em “Seleção de arquivos Dot do
Tag Browser” na página 5-26.

j. Clique em Select... na janela Tagname Dictionary.


A caixa de diálogo Select Tag é exibida no modo Dictionary:

Tagnames exibidos em Details


View, com informações de

k. Clique no botão List View para ver uma lista das tags sem Details.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-12 Módulo 3 – Dicionário Tagname

A janela Select Tag é exibida sem detalhes de tag :

Tagnames exibidos em List View,


sem Details

Modo de seleção filtrado


Se clicar em Select na caixa de diálogo Tagname Dictionary, os tagnames exibidos (e
disponíveis para seleção) são limitados para o aplicativo InTouch atual. A mesma condição é
verdadeira se, durante o Runtime, um operador selecionar uma nova tag para uma pena de
tendência de histórico.
a. Clique no botão Select... em Tagname Dictionary.
Quando o Tag Browser é acessado do Tagname Dictionary e um tagname é selecionado da lista,
seu Tagname Dictionary Tag Editor é exibido após clicar em OK.
Os métodos principais que são exibidos no navegador de tags no modo de seleção filtrado inclui:
z Clicar no botão Select no Tagname Dictionary ao adicionar ou editar tags
z Quando o WindowMaker está em execução, clicar duas vezes com o mouse em uma
célula na coluna Unit# em uma definição Recipe Manager Unit Template
z Em Runtime, clicar em qualquer botão Pen# na caixa de diálogo Historical Trend Setup
„ Neste exemplo, o Tag Browser somente exibe as tags que estão definidas com a
opção Log Data selecionada em Tagname Dictionary
„ Esta funcionalidade somente é habilitada quando a opção Allow Runtime Changes foi
selecionada para a tendência de histórico durante o desenvolvimento
z Em Runtime, clicar em qualquer objeto vinculado à função HTSelectTag()

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-13

Definição de filtros de Tag Browser


Ao definir filtros, pode-se classificar uma lista de tagname e exibir apenas as tags que atendam
critérios específicos. Elas podem ser: Tagname, Tipo de Tag, Nome de Acesso, Grupos de
Alarme e Comentários. É possível usar um item ou uma combinação de itens para ajustar o
critério de exibição ou salvar cada instância de filtro e reutilizá-lo em qualquer momento.
Por exemplo, se tiver 40.000 tags definidas em seu Tagname Dictionary e deseja ver as 20 que
estão atribuídas a um Access Name em particular, crie um filtro para especificar o Access Name
e/ou Alarm Group como o critério que as tags devem atender para exibidação no Tag Browser.
Use estes procedimentos para definir os filtros (como critérios) para preencher o Tag Browser.

a. Na parte inferior da janela Select Tag, clique no botão Define Filter .


A caixa de diálogo Define Tag Filter é exibida:

Filter Name: Um único nome que identifica o filtro que você está definindo. Ao definir filtros, o
Filter Name que você inserir é adicionado à lista drop-down Filter Name .
Tagname: Expressão tagname a ser usada como um filtro. Se deixado em branco, o sistema
ignora este campo nesta definição de filtro.
Access Name: A expressão de Access Name local para usar como um filtro. Se deixado em
branco, o sistema ignora este campo nesta definição de filtro.
Alarm Group: O nome da expressão de Alarm Group para usar como um filtro. Se deixado
em branco, o sistema ignora este campo nesta definição de filtro.
Comment: Expressão comentário a ser usada como um filtro. Se deixado em branco, o
sistema ignora este campo nesta definição de filtro.
OK: Sair da caixa de diálogo.
O Filter Name é exibido na lista Filter no Tag Browser e é possível selecioná-lo para que exiba
apenas os tagnames que atendem os critérios especificados no filtro.

Obs.: Todos os campos Filter Option (Tagname, Tag Type, Access Name, Alarm Group e
Comment) são compatíveis com expressões coringas para limitar o escopo de sua busca. Se não
for usado filtro, todos os tagnames na fonte de tag disponíveis no momento serão exibidas.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-14 Módulo 3 – Dicionário Tagname

Exclusão de um filtro de busca


a. Abra a lista drop-down Filter e selecione o nome do filtro na lista que deseja excluir.
b. Clique em Delete. O filtro é imediatamente excluído.

Impressão do dicionário Tagname


Imprimir os detalhes do Tagname Dictionary pode ajudar a determinar o uso do tagname. Além de
imprimir em um arquivo .CSV (valores separados por vírgula), é possível imprimir listas de
detalhes de Tagname Dictionary, informações de alarme, detalhes de link e scripts.
a. Clique em File / Print do menu principal WindowMaker.
A caixa de diálogo WindowMaker Printout é exibida:

b. Marque Database Entries para imprimir todas as informações do banco de dados. Quando
selecionado, as seguintes opções tornam-se ativas:
z Details: Incluir os detalhes do banco de dados em seu relatório.
z Alarm Information: Incluir os detalhes das informações de alarme em seu relatório.
z With Window Cross-Reference: Imprimir todas as entradas do banco de dados com
referências cruzadas de janelas.
z Nível de detalhe:
‰ LinkDetails para imprimir os detalhes do local e do link de animação onde o
tagname foi usado
‰ Window Names Only para imprimir somente o nome da janela de referência
cruzada

Treinamento Wonderware
Seção 1 – Tags e recursos de tag 3-15

c. Marque Windows para imprimir uma lista das entradas do banco de dados usadas nas
janelas de aplicativo. As seguintes opções tornam-se ativas:
z All Imprimir as entradas do banco de dados para todas as janelas no aplicativo.
z Selected Imprimir apenas as entradas do banco de dados para janelas específicas. Ao
assinalar Selected, a caixa de diálogo Windows to Print é aberta. Selecione as janelas a
serem impressas e clique em OK (Por padrão, todos os nomes de janela serão
selecionados quando a caixa de diálogo é exibida).
z With Link Details: Imprimir os detalhes de link para a janela.
z Window Scripts: Imprimir os scripts associados à janela.
z Database entries used in window: Imprimir os tagnames usados na janela.
z All Scripts: Imprimir todos os scripts para a janela selecionada.
z Application Scripts: Imprimir os scripts do aplicativo.
z Condition Scripts: Imprimir os scripts de condição associados à janela.
z Data Change Scripts: Imprimir os scripts de mudança de dados associados à janela.
z Key Scripts: Imprimir os scripts chaves associados à janela.
z Quick Functions: Imprimir seus QuickFunctions.
z ActiveX Event Scripts: Imprimir qualquer ActiveX Event Scripts usado.
d. Clique em Next na janela WindowMaker Printout.
A caixa de diálogo Select Output Destination é exibida, permitindo selecionar seu destino
de saída (para Impressora ou para Arquivo de Texto):

e. Se enviar a saída para um Text File, navegue com o ícone de elipse ou digite o nome do
arquivo e o string do diretório.
f. Se enviar a saída para uma Impressora, navegue para selecionar a impressora correta.

Obs.: Imprimir a janela deste modo NÃO produzirá uma representação gráfica da janela. Ao
invés disso, imprimirá uma descrição textual/detalhada da janela.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-16 Módulo 3 – Dicionário Tagname

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 2 – Criação de tags 3-17

Laboratório 2 – Criação de tags


Introdução
Este laboratório demonstra como usar o Tag Editor para criar, identificar e definir novas tags.

Objetivos
Ao final deste laboratório, você:
z Criará uma tag de memória real
z Criará uma tag de memória inteira
z Criará tags discretas de memória
z Criará uma tag de memória de mensagem

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-18 Módulo 3 – Dicionário Tagname

Criação de uma tag de memória real


1. Clique em Special / Tagname Dictionary na barra do menu WindowMaker.
2. Certifique-se de que Details esteja selecionado.
3. Clique em New.

Obs.: Se criar uma RealTag durante a parte orientada pelo instrutor, não clique em New. Ao
invés disso, clique em Select... para localizar e modificar sua RealTag existente.

4. Insira RealTag no campo Tagname: .


5. Configure o tipo de tag e os detalhes para corresponder à seguinte figura:

6. Clique em Save.

Criação de uma tag de memória inteira


7. Clique em New.
8. Insira IntTag no campo Tagname.
9. Configure o tipo de tag e os detalhes para corresponder à seguinte figura:

10. Clique em Save. O tagname IntTag está agora criado e definido como uma tag Memory
Integer .

Treinamento Wonderware
Laboratório 2 – Criação de tags 3-19

Criação de tags discretas de memória


11. Clique no botão New no Tagname Dictionary.
12. Criar uma tag Memory Discrete com os atributos exibidos nas seguintes figuras:

13. Clique em Save.


14. Clique em New.
O tagname é automaticamente modificado para DiscTag2:

15. Clique em Save.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


3-20 Módulo 3 – Dicionário Tagname

Criação de uma tag de memória de mensagem


16. Usando as etapas anteriores, crie uma tag Memory Message com os atributos exibidos nas
seguintes figuras:

17. Clique em Save.


18. Clique em Close.

Obs.: Clicar em Close também salva a configuração da tag.

Treinamento Wonderware
Módulo 4

Links de animação
Seção 1 – Características gerais dos links de animação 4-3
Seção 2 – Animação de objetos 4-9
Seção 3 – Links de animação – Referência rápida 4-45
Laboratório 3–Configuração de links de animação 4-49
Seção 4 – Uso de SmartSymbols 4-63
Laboratório 4–Uso de SmartSymbols 4-81
4-2 Módulo 4 – Links de animação

Objetivos do módulo
z Identificar os recursos de link de animação básicos
z Definir tipos de link de animação
z Acessar Tag Browser e campos ponto tagname
z Animar objetos
z Gerar e editar SmartSymbols

Treinamento Wonderware
Seção 1 – Características gerais dos links de animação 4-3

Seção 1 – Características gerais dos links de animação

Objetivo da seção
z Identificar recursos de link de animação básicos
z Definir tipos de link de animação
z Acessar Tag Browser e campos ponto tagname

Esta seção identificará e definirá os recursos de link da animação básicos como os tipos de link
de animação, e também como acessar o Tag Browser e os campos ponto tagname.

Introdução
Os objetos gráficos ou símbolos são "trazidos para vida" em Runtime ao usar links de animação.
Os links de animação fazem com que um objeto ou um símbolo mude de aparência para refletir
mudanças no valor de uma tag ou uma expressão.
Por exemplo, é possível criar um símbolo de bomba que aparece em vermelho quando está
desativado e verde quando está ativado. Ou fazer o símbolo de uma bomba com uma botoeira
sensível a toque no qual o operador pode clicar com o mouse para ativar e desativar. Use estes e
muitos outros efeitos especiais definindo links de animação para seus objetos ou símbolos.
InTouch é compatível com dois tipos básicos de links: Touch Links e Display Links.
z Touch Links: Habilitar entrada do operador no sistema. Sliders de valor ou botoeiras são
exemplos de Touch Links.
z Display Links: Habilitar saída para o operador. Preenchimento de cor, localização ou
links para piscar são exemplos de Display Links.
A maioria dos links de animação compartilham os seguintes recursos comuns:
z Caixa de diálogo Object Type
z Paleta de cor comum
z Acesso rápido ao Tag Browsers
z Acesso rápido ao Tagname .Fields
z Compatível com equivalentes de teclas (somente Touch Links)
z Clique com o botão direito do mouse nas caixas de entrada Tagname ou Expression
(exibe um menu com comandos que podem ser aplicados ao texto selecionado)

Caixa de diálogo Object Type


A caixa Object Type é exibida na parte superior da caixa de diálogo de link de animação. É
comum a todos os links criados. Ela exibe a descrição do tipo de objeto que foi selecionado para
o link de animação anexado. A caixa abaixo é para o tipo de objeto Round Rectangle.

Se diversos links foram anexados a um objeto, Prev Link e Next Link são habilitados a fim de
rolar para frente e para trás rapidamente através das caixas de diálogo de link para cada link
anexado ao objeto.

Obs.: Os links são armazenados na ordem em que foram originalmente anexados ao objeto.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-4 Módulo 4 – Links de animação

Caixa de diálogo de seleção de link de animação


Os diversos links podem ser definidos para seus objetos ou símbolos, habilitando a criação da
praticamente qualquer efeito de animação de tela imaginável. Você anima mudanças como cor,
tamanho, localização, nível de preenchimento e visibilidade.
a. Adicionar um objeto Ellipse à janela Scratch.
b. Clique duas vezes com o mouse no objeto Ellipse na janela Scratch. A caixa de diálogo
Animation Link Selection é exibida. Configure todos os tipos de objeto e animação gráfica.

c. Clique em Cancel para sair da caixa de diálogo. (Você usará mais tarde nos laboratórios.)
d. Como resultado de clicar em Cancel, nenhuma modificação no objeto Ellipse será mantido.

Aplicação de links de cor


A cor pode ser aplicada às propriedades dinâmicas de linhas, retângulo, retângulo com cantos
arredondados, elipses, polilinhas, polígonos e texto. A paleta de cor é usada para selecionar as
cores a serem vinculadas ao valor do tagname ou o estado de alarme de tagname, entre outros
recursos. É possível também criar paleta de cor personalizadas. Quando um link de cor é
anexado a um objeto ou símbolo, clique em uma caixa de cor em uma caixa de diálogo de link
para abrir a paleta de cor. Clique a cor desejada na paleta. A palete fecha e a cor selecionada
aparecerá na caixa cor.

Clique para
expandir
para a
Classic
Colors
Palette

Treinamento Wonderware
Seção 1 – Características gerais dos links de animação 4-5

Como acessar o Tag Browser


Ao criar links de animação, acesse o Tag Browsers para visualizar rapidamente todas as tags
definidas em seu aplicativo. Se selecionar a tag a ser atribuída ao seu link do Tag Browsers, ela é
automaticamente inserida na caixa Tagname ou Expression .
a. Clique duas vezes com o mouse no objeto Button na janela Scratch.
A caixa de diálogo Animation Links Selection é exibida:

b. Clique no botão Touch Pushbuttons / Discrete Value.

A caixa de diálogo Object Type é exibida:

c. Clique no botão Clear para remover qualquer texto no campo Tagname.


d. Clique duas vezes com o mouse no campo Tagname.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-6 Módulo 4 – Links de animação

O Tag Browser é exibido:

e. Selecione a tag alvo e clique em OK. A tag será inserida na caixa Tagname ou Expression.
Obs.: Esta animação, Discrete Value, requer uma tag discreta a ser selecionada.

Como recortar, copiar, colar e limpar links de objetos


O buffer para colar link do WindowMaker é uma área de armazenagem temporária, armazenar
links que podem ser recortados ou copiados de um objeto. (O buffer somente armazena os links
para suas ações mais recentes de recortar e copiar.)
Os links armazenados no buffer de colar link podem ser colados em qualquer objeto ou símbolo.
Se os objetos diversos são selecionados, os links são colados para cada objeto individual. Se um
link colado não tiver valor aparente o objeto (ex. um link de cor de linha em um objeto de texto), o
link não é colado.
a. Selecione o objeto para o qual deseja aplicar os links.
b. A partir do WindowMaker, clique em Edit / Links e selecione Cut, Copy, Paste ou Clear.

Treinamento Wonderware
Seção 1 – Características gerais dos links de animação 4-7

Acesso aos campos ponto tagname


Um Campo Ponto contém propriedades de uma tag que se estende além de propriedades como
tagname ou valor.

Obs.: Campos Ponto são usados extensivamente em Módulo 6, “Alarmes”. Eles são incluídos
aqui como parte de características gerais de interface Tag Browsers.

Para usar um .field com o tagname selecionado, abra a lista drop-down Dot Field, selecione o
.field e clique em OK. A lista Dot Field é acessada através de Tag Browser ao configurar links de
animação ou durante a edição de script.
A figura a seguir exibe a lista drop-down Dot Field: a partir do Tag Browser:

Para exibir uma definição de banco de dados de tag, insira o tagname na caixa Tagname ou
Expression da caixa de diálogo Object Type e clique duas vezes com o mouse nela.
A caixa de diálogo Tagname Dictionary será exibida com a definição do tagname.

Acesso aos campos ponto tagname através da caixa de diálogo Choose Field
Name
a. Clique duas vezes com o mouse no objeto Ellipse na janela Scratch. A caixa de diálogo
Animation Link Selection é exibida.
b. Clique no botão Miscellaneous / Visibility. A caixa de diálogo Object Type é exibida:
c. Insira $AccessLevel. (inclua o ponto) no campo Expression.

d. Clique duas vezes com o mouse à direita do ponto (.) no campo Expression: .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-8 Módulo 4 – Links de animação

A caixa de diálogo Choose field name... é exibida:

Esta caixa de diálogo exibe todos tagname .fields.


Observe que nem todos os .fields são válidos para todas as tags.
e. Selecione AlarmEnabled .field.
A caixa de diálogo fechará e o .field selecionado é automaticamente inserido na caixa de
entrada Tagname ou Expression .

f. Clique no botão superior Cancel para sair da caixa de diálogo Object type .
g. Como resultado de clicar em Cancel, nenhuma modificação no objeto Ellipse será mantido.
(Nenhuma modificação é necessária neste momento. Você fará mudanças durante um
laboratório posterior.)

Treinamento Wonderware
Seção 2 – Animação de objetos 4-9

Seção 2 – Animação de objetos

Objetivos da seção
z Identificar as opções de link de animação
z Animar os objetos ao aplicar links
z Importar e compartilhar animações em diversas janelas

Esta seção descreve as opções de link de animação InTouch. Ela também demonstra a
importação de janelas e o compartilhamento de animações em diversas janelas.

Introdução
As seguintes informações descrevem as opções de animação InTouch. Seu instrutor demonstrará
as diversas opções de link de animação.
Ao final desta seção, você importará uma janela pré-configurada InTouch durante uma tarefa
orientada pelo instrutor. A janela é usada para configurar e compartilhar links de animação através
de janelas em laboratórios subseqüentes.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-10 Módulo 4 – Links de animação

Como usar a caixa de diálogo Animation Links Selector


Os links de animação são configurados através da caixa de diálogo Animation Links Selection.

z Botões de link anexam seu link ao objeto selecionado


z Se um link não for aplicável ao objeto selecionado, o botão é desabilitado
z Somente marcar a caixa de seleção de link não resulta em um link configurado
„ Clique no botão de nome de link para selecionar o link e abrir sua caixa de diálogo
Detail Definition
z Desmarque a caixa de seleção de link para remover um link configurado do objeto
selecionado
z A caixa de seleção é automaticamente selecionada ao clicar no botão de nome de link e
aceitar a configuração de link

Obs.: Não será possível modificar a definição do link padrão a menos que clique no botão.

z Clique em OK para aceitar todos os links de objetos e feche a caixa de diálogo.


z Ao criar links de animação, o tagname inserido no campo de link de animação Tagname
ou Expression já deve estar definido no Tagname Dictionary
Se não estiver definido, uma caixa de mensagem aparecerá pedindo que defina a tag. Se clicar
em Yes, o Tagname Dictionary será exibido e a tag pode ser definida.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-11

Touch Links

Os Touch Links são usados em objetos ou símbolos para torná-los "sensíveis ao toque" (ex.
ativos) em Runtime. Eles habilitam a entrada do operador no sistema. Por exemplo, o operador
pode abrir ou fechar uma válvula, inserir um novo valor de configuração de alarme novo, executar
um script lógico complexo, conectar-se usando strings de texto, etc.
Os Touch Links são facilmente identificados em Runtime. Uma auréola contorna um objeto
sensível ao toque quando o cursor passa sobre ele. A tecla TAB pode ser usada para mover-se
de um objeto sensível ao toque para outro objeto sensível ao toque.
Se um objeto touch link ou símbolo contiver objetos de texto que são posicionados uns sobre os
outros, o objeto de texto na área superior será usado para mostrar o valor de dados.
O operador ativa uma botoeira sensível ao toque ao clicar nela, tocando o objeto (quando usa
uma tela touch screen,), pressionando uma tecla equivalente atribuída ou pressionando a tecla
Enter quando o objeto está ativo.

Obs.: Se o objeto ou símbolo usado para estes links (com exceção dos botões tridimensionais)
contiver um campo de texto, todos os atributos configurados para o texto no momento, (como
justificar, estilo, fonte) são aplicados quando o objeto de texto é exibido no WindowViewer.

Quando um campo de texto é usado para inserir o valor, o valor de saída também será exibido a
menos que a opção Input Only na área Detail do tag respectivo da caixa de diálogo Tagname
Editor é habilitada.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-12 Módulo 4 – Links de animação

Entradas do usuário
Usada para criar objetos sensíveis ao toque que permitem ao operador entrar no sistema.
Exemplos: Botoeiras para mudar estados discretos, valores analógico ou conexão de segurança.
Há três tipos de touch links User Input.

Entradas do usuário Descrição


Discreta Usada para controlar o valor de uma tag discreta. Com o link ativado,
uma caixa de diálogo é exibida solicitando ao operador uma escolha.
Analógica Usada para inserir o valor de uma tag analógica (inteiro ou real).
Quando o link é ativado, uma caixa de entrada para entrada do valor
será exibida ou um teclado opcional na tela será exibido.
String Usado para criar um objeto no qual uma mensagem string pode ser
inserida. Com o link ativado, uma caixa de entrada para a entrada do
valor de mensagem ou um teclado opcional na tela será exibido.

Entradas do usuário – discreta

Tagname: Inserir um tagname do tipo discreto.


Área Key equivalent: Atribua um equivalente do teclado ao link. Clicar no botão Key duas vezes
no botão exibe a caixa de diálogo Choose key....

Obs.: Selecione CTRL e/ou SHIFT se o operador precisa manter pressionada uma ou ambas as
teclas ao pressionar o equivalente no teclado.

Msg to User: Inserir a mensagem a ser exibida na caixa de diálogo de entrada quando o link de
entrada é ativado.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-13

Set Prompt e Reset Prompt: Inserir mensagens que o operador verá nos botões da caixa de
diálogo de valor discreto On e Off .
On Message e Off Message: Inserir as mensagens a serem exibidas no campo de texto (se
houver) associadas ao objeto quando o objeto está no estado ativado ou desativado.
Input Only: Evitar que a entrada seja exibida em um campo de texto associado com o objeto.
Esta opção somente aplica-se a um objeto que tem um campo de texto associado a ele.
Entrada do usuário – analógica

Obs.: Se um campo de texto está sendo usado para este link, ele deve ser formado corretamente
a fim de exibir corretamente o valor de saída analógico (inteiro ou real).

Tagname: Inserir um tagname do tipo analógico (inteiro ou real).


Área Key equivalent: Atribuir um equivalente ao link no teclado.
Msg to User: Se estiver exibindo o teclado opcional quando este link é ativado, insira a
mensagem de solicitação que será exibida no teclado.
Keypad? Área: Yes: Exibir teclado numérico na tela para a entrada de novos valores de string.

Obs.: Se uma tela touch screen está sendo usada e o teclado não está disponível para usuários,
você deve selecionar Yes na área Keypad? .

Min Value: Inserir o valor de entrada mínimo para a tag.


Max Value: Inserir o valor de entrada máximo para a tag.
Os valores Min/Max limitam a faixa dos valores que o operador poderá inserir nos valores de tag
real.
Input Only: Evitar que a entrada seja exibida em um campo de texto associado com o objeto.
Esta opção somente aplica-se a um objeto que tem um campo de texto associado a ele, como um
botão tridimensional.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-14 Módulo 4 – Links de animação

Entradas do usuário – String

Tagname: Inserir um tagname do tipo mensagem.


Área Key equivalent:Atribuir um equivalente de tecla ao link.
Keypad? Área: Yes: Exibir um teclado na tela para a entrada do novo string.
Msg to User: Se estiver exibindo o teclado opcional quando este link é ativado, insira a
mensagem de solicitação que será exibida no teclado.
Echo Characters? Se desejar que o string de entrada seja exibido na tela na medida em que for
digitado, selecione Yes. Se os dados forem sensíveis (por exemplo, uma senha) e não podem ser
visíveis na tela, selecione No.
Password Char: Atribuir um caractere que deveria ser exibido para ocultar a entrada da senha.
Input Only: Evitar que a entrada seja exibida em um campo de texto associado com o objeto.
Esta opção somente aplica-se a um objeto que tem um campo de texto associado a ele, como um
botão tridimensional.

Obs.: Quando o WindowViewer é iniciado, o string exibirá o texto que foi inserido na caixa Initial
Value quando foi definido o link de tag para este objeto.

Encrypt: Não deve ser marcado para um tag que deve ser usado como uma entrada para a caixa
de diálogo de conexão. Se a tag for encriptada e usada como senha para segurança, não
funcionará. Quando o usuário inserir o valor da tag ele é encriptado e quando um string encriptado
é usado para conexão, ele falhará.

Dica: É possível usar a função script StringCompareEncrypted() para comparar strings de


senha para segurança adicional.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-15

Teclados na tela (e teclado)


Três teclados diferentes são suportados pelo InTouch: o teclado InTouch tradicional, um novo
teclado redimensionável Wonderware que também suporta fontes configuráveis e o teclado
Windows fornecido pela Microsoft.
Os teclados na tela são configurados na guia General da caixa de diálogo WindowViewer
Properties.

Obs.: O teclado selecionado aplica-se também ao teclado numérico para links analógicos de
entrada do usuário. Por exemplo, se escolher o novo teclado redimensionável Wonderware, o
teclado também será redimensionável. Se escolher o teclado Windows, nenhum teclado separado
será usado porque está incluído no teclado padrão Windows.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-16 Módulo 4 – Links de animação

Para usar um teclado na tela, siga as etapas semelhantes a estas:


a. Configure qual teclado deve ser usado, na guia Special / Configure / WindowViewer /
General.
b. Posicione um objeto de texto em sua janela.
c. Atribua o link de animação Touch Link / User Inputs / String.
d. Configure a animação com uma guia Memory Message em Tagname e Keypad? Yes.
e. Vá para Runtime
f. Clique no objeto Default Text. O teclado é exibido.

Teclado InTouch

Treinamento Wonderware
Seção 2 – Animação de objetos 4-17

Teclado InTouch

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-18 Módulo 4 – Links de animação

Teclado Windows
A vantagem de usar o teclado Windows é que ele suporta ajustes internacionais. Entretanto, ele
não é redimensionável e pode ser muito pequeno para tela touch screen. Além disso, não é
compatível com um teclado numérico separado.

Teclado redimensionável e teclado

Configurar Special /
Configure /
WindowViewer

Clique no botão Options ao configurar Resizeable Keyboard para abrir a caixa de diálogo Font
em que é possível definir a fonte que o teclado usará.

Redimensioná-
vel em Runtime

Treinamento Wonderware
Seção 2 – Animação de objetos 4-19

Sliders
Slider Touch Links são usados para criar objetos ou símbolos que podem ser movidos em torno
de uma janela sem um mouse ou outro dispositivo de indicação (ex.: dedo ou touch screen).
Como o objeto ou o símbolo é removido, ele altera o valor da tag vinculada a ele. Este link fornece
a habilidade de criar equipamentos para ajustar valores de sistema.
Um objeto pode ter um link slider touch horizontal, vertical ou ambos. Ao usar os dois links em um
único objeto, o valor de duas tags analógicas pode ser alterado simultaneamente.
Sliders verticais e horizontais

At Top / At Bottom: Inserir o valor da tag na posição mais distante


Up / Down: Inserir o número de pixels que o slider pode mover

At Left End / At Right End: Inserir o valor da tag na posição mais distante
To Left / To Right Inserir o número de pixels que o slider pode mover
Tagname: Inserir um tagname do tipo analógico (inteiro ou real).
Reference Location: Localização no objeto onde o cursor travará ao mover o objeto.

Dica: Clique em Ruler para ter uma indicação visual do número de pixels para mover o objeto.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-20 Módulo 4 – Links de animação

Botoeiras Touch
Touch Pushbutton - Touch Links são usados para criar links de objeto que imediatamente
realizam operações quando clicados com o mouse ou tocados (tela touch screen).
Estas operações podem ser execuções Discrete Value Changes, Action Script, Show ou
comandos Hide Window .
Há quatro tipos de links Botoeiras Touch .

Entrada do usuário Descrição


Valor discreto Usado para transformar um objeto ou símbolo em uma botoeira que controla o
estado de um tagname discreto.
Ações de botoeiras incluem Direta (momentaneamente ativados), Reversa
(momentaneamente desativado), Alternar, Reinicializar e Configurar.
Ação Permite que qualquer objeto, símbolo ou botão tenha até treze scripts de ação
diferentes vinculados (consulte Módulo 5, “InTouch QuickScripts,” página 4-11.) Os
scripts de ação são usados para configurar tags com valores específicos, exibir e/
ou ocultar janelas, iniciar e controlar outros aplicativos, executar funções, etc.
Exibir janela Permite que um objeto, símbolo ou botão abra uma ou mais janelas quando
clicado.
Ocultar janela Permite que um objeto, símbolo ou botão feche uma ou mais janelas quando
clicado.

Botoeiras Touch – Valor Discreto

Tagname: Inserir um tagname do tipo discreto.


Área Key equivalent: É possível atribuir uma tecla específica no teclado para ativar determinados
links de animação. A tecla equivalente somente é operacional quando o objeto com o link está
visível ou selecionado. Se o objeto tem um link Visibility ou Disable, a tecla equivalente não é
ativa quando o objeto está invisível ou desabilitado.
É possível definir a mesma tecla em várias janelas. Entretanto, a definição na janela aberta mais
recentemente será a ativa.
No caso de sobreposição de janelas, a tecla será ativada na janela do topo.

Obs.: Se um objeto ou botoeira de ação na janela ativa é atribuída à mesma tecla usada para um
Key Action Script, o link equivalente de tecla no teclado na janela ativa terá precedência sobre a
execução do Key Action Script.

Key: Atribuir uma equivalente de tecla ao link.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-21

Área Action:
z Direct: Configura o valor da tag como 1 (Verdadeiro, Ativo, Sim) desde que a botoeira
seja pressionada e mantida pressionada. O valor automaticamente reinicia como 0
(Falso, Desativado, Não) quando o botão é liberado.
z Reverse: Configura o valor da tag como 0 (Falso, Desativado, Não) quando a botoeira é
pressionada e mantida pressionada. O valor automaticamente reinicia como 1
(Verdadeiro, Ativado, Sim, Desativado, Não) quando o botão é liberado.
z Toggle: Reverte o estado da tag discreta quando é pressionado, ex.: se a tag é igual a 1
e o botão é pressionado, ela é configurada como 0 e vice-versa.
z Reset: Configura o valor como 0 (Falso, Desativado, Não) quando a botoeira é
pressionada.
z Set: Configura o valor como 1 (Verdadeiro, Ativado, Sim) quando a botoeira é
pressionada.
Botoeiras Touch – ação
Os scripts de ação são abordados mais adiante no próximo capítulo. Isto é um exemplo da caixa
de diálogo de script de ação exibida quando atribuir uma Botoeira Touch - ação. Os scripts são
abordados em detalhes no Módulo 5, “Scripts Touch Action.”

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-22 Módulo 4 – Links de animação

Botoeiras Touch– Exibir janela


Quando atribuir a animação Touch Pushbutton - Show Window, a caixa de diálogo será exibida
com uma lista de todas as janelas em seu aplicativo.

Botoeiras Touch– Ocultar janela


Quando atribuir a animação Touch Pushbutton - Hide Window, a caixa de diálogo será exibida
com uma lista de todas as janelas em seu aplicativo.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-23

Aparência de Hotlinks em Runtime


O comportamento do hotlink permite que as “auréolas” em torno dos hotlinks em Runtime sejam
habilitadas ou desabilitadas para serem exibidas em torno de controles ActiveX ou configuradas
para seguir o formato do objeto de hotlink como exibido abaixo.

A auréola segue o formato Exibir auréola em


do objeto torno do Hotlink

Obs.: As auréolas não seguem o formato de um objeto se o objeto for uma célula ou um símbolo.

O comportamento do hotlink é configurado na guia General da caixa de diálogo WindowViewer


Properties.

Configuraçã

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-24 Módulo 4 – Links de animação

Display Links:

Display Links fornece saída para o operador. Há oito tipos de links de exibição como circulado na
figura anterior.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-25

Linha, preenchimento e cor de texto


Os links de cor são usados para animar os atributos Line Color, Fill Color e Text Color de um
objeto.

Obs.: É necessário usar cores sólidas para os links de cor de linha e de texto. Se selecionar uma
cor indefinida (misturada), o WindowMaker selecionará a cor sólida mais próxima. Para evitar
cores indefinidas, seu cartão de vídeo deve ter pelo menos 2MB e seus ajustes de profundidade
de cor devem ser mais altos do que 256 cores, como 32K ou 65K (algumas vezes denominados
de "alta cor” ou “cor real".)

Cada um destes atributos pode se tornar dinâmico pela definição de um link de cor para o
atributo. O atributo de cor pode ser vinculado ao valor de uma expressão discreta, expressão
analógica, status de alarme discreto ou status de alarme analógico.
Há quatro tipos de link de linha, preenchimento e de cor de texto:

Entrada do
Descrição
usuário
Discreta Usada para controlar os atributos de preenchimento, linha e cor de texto de um
objeto ou símbolo vinculado ao valor de uma expressão discreta.
Analógica Cor de linha, preenchimento e texto de um objeto ou símbolo podem ser vinculados
ao valor de uma tag analógica (inteiro ou real) ou uma expressão analógica.
Dez faixas de valores são definidas ao especificar-se nove pontos de interrupção.
Dez cores diferentes podem ser selecionadas e serão exibidas na medida em que a
faixa de valor muda.
Alarme discreto O texto, a linha e a cor de preenchimento de um objeto podem ser vinculados ao
estado de alarme de uma tag, Grupo de alarme ou Variável de Grupo.
Este link de cor permite uma escolha entre duas cores: uma para o estado normal e
a outra para o estado de alarme da tag.
Este link pode ser usado para tags analógicas e discretas. Se usada com uma tag
analógica, ela responde a QUALQUER condição de alarme da tag.
Alarme analógico O texto, a linha e a cor de preenchimento de um objeto podem ser vinculados ao
estado de alarme de uma tag analógica, Grupo de alarme ou Variável de Grupo.
Isto permite que uma cor específica seja configurada para o estado normal e uma
cor diferente para cada condição de alarme definida para a tag.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-26 Módulo 4 – Links de animação

Discrete Line / Fill / Text Color

Obs.: Todos os links Line / Fill / Text Color são configurados da mesma forma.

Expression: Inserir um tagname discreto ou uma expressão que seja igual a Verdadeiro ou
Falso.
Uma expressão pode ter até 1023 caracteres. Se precisar usar uma expressão maior, crie um
QuickFunction e chame-o na sua expressão.
Expressões discretas podem também conter Tagnames Analógicos.
Por exemplo, TankLevel >= 75. Quando o valor da TankLevel é maior ou igual a 75, a cor de
preenchimento do objeto muda.
Clique com o botão direito do mouse no campo Expression para visualizar os comandos que
podem ser aplicados ao texto selecionado.
Área Colors: Clique em cada caixa de cor e selecione a cor da paleta para cada estado de tag.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-27

Analog Line / Fill / Text Color

Expression: Insira um tagname analógico inteiro ou real ou uma expressão que se adeque a um
valor analógico.
Break Points: Especifique os valores de ponto de interrupção (decimais são válidos para tags de
tipo real) onde o objeto mudará de cor Use a tecla Tab para mover de um valor para o próximo
valor.
Color: Clique em cada caixa de cor para selecionar a cor de cada ponto de interrupção.
Discrete Alarm Line / Fill / Text Color

Tagname: Insira o tagname discreto cujo status de alarme deve ser associado com o objeto.
Área Colors: Clique em cada caixa de cor para selecionar a cor de cada estado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-28 Módulo 4 – Links de animação

Analog Alarm Line / Fill / Text Color

Tagname: Insira o tagname analógico (inteiro ou real) cujo status de alarme deve ser associado
com o objeto.
Área Alarm Type: Selecione o tipo de alarme a ser associado ao objeto.
Três tipos exclusivos mutuamente de links de cor analógico disponíveis.
z Value Alarm – Até cinco cores diferentes podem ser selecionadas, dependendo do status
dos alarmes de valor definidos para a tag.

z Deviation – Até três cores diferentes podem ser selecionadas, dependendo do status dos
alarmes de valor desvio para a tag.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-29

z ROC (Taxa de Mudança) – Duas cores diferentes podem ser selecionadas, dependendo
do status do alarme de taxa de mudança definido para a tag.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-30 Módulo 4 – Links de animação

Links de dimensão de objeto


Links de dimensão de objeto são usados para variar a altura e/ou a largura de um objeto de
acordo com o valor de uma tag analógica (inteira ou real) ou de uma expressão analógica. Links
de dimensão oferecem a habilidade de controlar a direção na qual o objeto é ampliado em altura
e/ou largura pelo ajuste de uma âncora para o link. Os links de altura e de largura podem ser
conectados ao mesmo objeto.

Obs.: Links de altura e largura são criados do mesmo modo.

Links de altura ou de largura

Expression: Insira um tagname analógico (inteiro ou real) ou uma expressão que se adeque a
um valor de tag analógico.
Value at Max Height / Width: Insira o valor de tag ou a expressão que resultará no objeto atingir
sua dimensão máxima.
Value at Min Height / Width: Insira o valor de tag ou a expressão que resultará no objeto atingir
sua dimensão mínima.
Max % Height / Width: Insira um valor percentual (0-100) da dimensão que o objeto terá quando
a tag ou a expressão atingir a dimensão máxima.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-31

Min % Height / Width: Inserir um valor percentual (0-100) da dimensão que o objeto terá quando
a tag ou a expressão atingir a dimensão mínima.

Obs.: Os valores percentuais de altura são expressos como um percentual da dimensão


desenhada real do objeto, que é 100%.

Anchor: O ponto a partir do qual o objeto será ampliado em dimensão.

Localização
Links de localização são usados para fazer um objeto mover-se automaticamente na horizontal,
na vertical ou em ambas as direções em resposta às mudanças no valor de uma tag analógica ou
expressão.

Obs.: Links de Localização Horizontal e Vertical são criados do mesmo modo.

Vertical ou Horizontal

Expression: Insira um tagname analógico (inteiro ou real) ou uma expressão que se adeque a
um valor analógico.
At Top / Left End: Insira o valor da tag quando o objeto está na posição mais distante.
At Bottom / Right End: Insira o valor da tag quando o objeto está na posição mais distante.
Up / To Left: Insira o número de pixels que o objeto pode distanciar-se da posição desenhada.
Down / To Right: Insira o número de pixels que o objeto pode distanciar-se da posição
desenhada.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-32 Módulo 4 – Links de animação

Links de preenchimento em percentual


Links de preenchimento percentual são usados para variar o nível de preenchimento de uma
forma (ou um símbolo que contenha formas preenchidas) de acordo com o valor de um tagname
analógico ou de uma expressão que calcule um valor analógico. Por exemplo, este link pode ser
usado para exibir o nível de líquidos em um reservatório. Um objeto ou símbolo pode ter um link
de preenchimento horizontal, um link de preenchimento vertical ou ambos.

Obs.: Links de Preenchimento de Porcentagem Vertical e Horizontal são criados da mesma


maneira.

Vertical ou Horizontal

Expression: Insira um tagname analógico (inteiro ou real) ou uma expressão que se adeque a
um valor analógico.
Value at Max Fill: Insira o valor de tag que resultará no preenchimento do objeto até seu nível
máximo.
Value at Min Fill: Insira o valor de tag que resultará no preenchimento do objeto até seu nível
mínimo.
Max % Fill: Insira o valor percentual (0-100) com o qual o objeto será preenchido quando a
expressão atingir o nível ajustado na caixa Value at Max Fill. Se o valor da expressão é maior do
que este número, ele será ignorado.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-33

Min % Fill: Inserir um valor percentual (0-100) com o qual o objeto será preenchido quando a
expressão atingir o nível ajustado na caixa Value at Min Fill. Se o valor da expressão é menor do
que este número, ele será ignorado.
Direction: O preenchimento começa aqui e acontece de baixo para cima / de cima para baixo / da
esquerda para a direita / da direita para a esquerda
Background Color: Selecione uma cor. Esta seleção Background Color é para a cor de parte
não preenchida do objeto. A cor de preenchimento real é selecionada para o objeto quando ele é
desenhado. Se os links Vertical Percent Fill e Horizontal Percent Fill são vinculados ao mesmo
objeto, a última cor selecionada em qualquer uma das caixas de diálogo de link será usada como
a cor do fundo.

Links diversos
Há cinco links diversos:

Links diversos Descrição


Visibility Usado para controlar a visibilidade de um objeto com base no valor de uma tag
discreta e expressão.
Blink Usado para fazer um objeto piscar com base no valor de uma tag discreta e
expressão.
Orientation Usado para fazer um objeto girar com base no valor de uma tag ou expressão.
Disable Usado para desabilitar a funcionalidade toque de objetos com base no valor de
um tagname ou expressão.
Tooltip Usado para exibir uma dica de ferramenta padrão Windows em Runtime
quando o cursor passa sobre um objeto. É possível usar uma Memory
Message ou Static Text para dica de ferramenta.

Visibility

Expression: Inserir um tagname discreto ou uma expressão que seja igual a um valor discreto.
Visible State:
On: O objeto é visível quando o valor da expressão é VERDADEIRO.
Off: O objeto será visível quando o valor da expressão é FALSO.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-34 Módulo 4 – Links de animação

Blink

Expression - Blink When: Inserir um tagname discreto ou uma expressão que seja igual a um
valor discreto.
Área Blinked Attributes:
z Blink Invisible: Objeto/símbolo pisca aparecendo e desaparecendo da janela.
z Blink visible with these attributes: Objeto/símbolo permanece visível na janela e os
atributos de mudança de cor selecionados cria o efeito intermitente.
z Text Color, Line Color e Fill Color: Selecione uma cor. Selecionar uma cor intermitente
de preenchimento que seja igual a cor de preenchimento do objeto não permitirá que o
objeto pisque.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-35

Blink Speed: Velocidades Slow, Medium e Fast são configuráveis ao selecionar o comando
Special / Configure / WindowViewer. A caixa de diálogo WindowViewer Properties, campo da
guia General, contém o grupo Blink Frequency.

Obs.: Qualquer mudança feita a estes ajustes são globais e afetarão as velocidades
intermitentes de todos os links Blink em toda sua aplicação.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-36 Módulo 4 – Links de animação

Orientation

Expression: Inserir um tagname analógico (inteiro ou real) ou uma expressão que se adeque a
um valor analógico.
Value at Max CCW: Inserir o valor que a expressão deve ter para que o objeto seja girado ao
máximo no sentido anti-horário. Se o valor da expressão é maior do que este número, ele será
ignorado.
Value at Max CW: Inserir o valor que a expressão deve ter para que o objeto seja girado ao
máximo no sentido horário. Se o valor da expressão é maior do que este número, ele será
ignorado.
CCW Rotation: Inserir o grau em que o objeto girará no sentido anti-horário quando Value at Max
CCW é atingido.
CW Rotation: Inserir o grau em que o objeto girará no sentido horário quando o Value at Max
CW for atingido.
Os objetos são girados no sentido horário ou anti-horário com base na posição original na qual
eles foram desenhados no WindowMaker.

Dica: Para forçar um objeto a um ângulo específico, simplesmente ajuste o Value at Max CCW
em 360, Value at Max CW como 0, CCW Rotation em 360 e CW Rotation em 0. Insira o valor do
ângulo (ex. 90) na caixa Expression. Lembre-se, sem um tagname, esta expressão nunca
mudará e o objeto manterá sempre a posição de 90 graus.

Obs.: O sentido do objeto de texto pode ser ajustado no WindowMaker com incrementos de 90
graus, mas não girado em WindowViewer em um valor de tagname.

X Position: Insira o número de pixels do ponto central de rotação que deve ser movido
horizontalmente a partir do ponto central do objeto. Os valores positivos estão à direita do centro.
O link de direção usa o centro do objeto ou símbolo como o centro de rotação.
Y Position: Insira o número de pixels do ponto central de rotação que deve ser movido
verticalmente a partir do ponto central do objeto. Os valores positivos estão abaixo do ponto
central. Os valores negativos estão acima do ponto central.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-37

Disable
O link desabilitado é muito útil para aplicar segurança ao seu aplicativo. Por exemplo, é possível
desabilitar objetos com base no nível de acesso ou o nome do operador conectado. Quando
Disable é usado, qualquer link InTouch será desabilitado enquanto a condição Disable é
verdadeira.
O link Disable é usado em Module 10, “Security.”

Exemplo:
$AccessLevel == 0 OR $Operator == “None”

Expression: Insira um tagname discreto ou uma expressão que seja igual a um valor discreto.
Usar a expressão exibida na figura anterior, quando ninguém está conectado, faz com que o
objeto ou botão seja protegido contra violação.
Disabled State: Ativa ou desativa a funcionalidade do objeto quando a tag discreta ou a
expressão for verdade.
Um estado desabilitado On significa que a funcionalidade touchscreen do objeto ou botão é
desligada e eles não podem ser clicados enquanto a expressão for verdadeira.
Um estado desabilitado Off significa que a funcionalidade touchscreen do objeto ou botão é
desligada e eles não podem ser clicados enquanto a expressão for falsa.

Tooltip

A animação Tooltip exibe uma dica de ferramenta padrão Windows em Runtime quando o cursor
passa sobre um objeto. É possível atribuir uma tag Message no campo Expression ou um Static
text para a dica de ferramenta.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-38 Módulo 4 – Links de animação

Links de exibição de valor


Os links de exibição de valor permitem que objetos de texto exibam o valor de um tagname
discreto, analógico ou string. Há três tipos:

Tipo de exibição de
Descrição
valor
Discreto Usa o valor de uma tag discreta ou de uma expressão discreta para exibir uma
mensagem On ou Off definida pelo usuário em um objeto de texto.
Analógico Exibir o valor de uma tag analógica ou de uma expressão analógica em um
objeto de texto.
String Exibir o valor de uma tag de mensagem ou de uma expressão string em um
objeto de texto.

Exibir valor - Discreto

Expression: Inserir um tagname discreto ou uma expressão que seja igual a um valor discreto.
On Message: Inserir a mensagem que será exibida quando o valor de uma expressão discreta
corresponder a 1 (VERDADEIRO, Habilitado, Sim).
Off Message: Inserir a mensagem que será exibida quando o valor de uma expressão discreta
corresponder a 0 (FALSO, Desabilitado, Não).
As mensagens serão exibidas no ponto de referência do objeto de texto original usando fonte,
dimensão, cor, alinhamento e atributos vinculados ajustados para o objeto. Os conteúdos originais
do campo não têm efeito na mensagem exibida em Runtime.
É possível também usar um link Value Display Output -> String Expression para exibir as
mensagens habilitadas e desabilitadas de uma tag discreta. Para o link, seria necessário inserir a
expressão a seguir:
DText (Pump, Pump.OnMsg, Pump.OffMsg);
Nesta expressão, os strings .OnMsg e .OffMsg serão extraídos da definição do InTouch
Tagname Dictionary para a tag discreta Pump.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-39

Analógico

Expression: Inserir um tagname analógico (inteiro ou real) ou uma expressão que se adeque a
um valor analógico. É possível também usar uma tag do tipo discreta nesta expressão. Ela exibirá
simplesmente 1 ou 0.

String

Exemplo:
“The Tank Level is:” + Text(TankLevel, “#”)

Expression: Inserir um tagname de mensagem ou uma expressão que corresponda a uma tag de
mensagem.
No exemplo acima, o script Text() é usado para converter o valor de uma tag inteira
TankLevel em um string.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-40 Módulo 4 – Links de animação

Importação e exportação de janelas


Importar janelas do aplicativo InTouch para seu aplicativo atual pode economizar tempo de
desenvolvimento. Importar janelas também representa um método rápido e fácil de criar
referências de tagname remoto. Isto permite reutilizar qualquer janela criada anteriormente,
objetos e scripts de janela. Quando mover janelas de um aplicativo InTouch para outro, você deve
usar o comando File / Import.

Obs.: Se tentar copiar arquivos de janela InTouch usando qualquer outro método (ex.comandos
de cópia Windows Explorer), você pode corromper o Dicionário Tagname de seu aplicativo.

a. Feche qualquer janela aberta.


b. Clique em File / Import no menu WindowMaker. A caixa de diálogo Import from directory é
exibida.
Para este exemplo, você importará uma janela incluída com o aplicativo pré-configurado em
wwimport (seu instrutor fornecerá o nome do nó de uma máquina na qual o arquivo
wwimport reside).

c. Clique em OK.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-41

A caixa de diálogo Application Data Import Options é exibida:

d. Selecione Windows da área Import Options . Cada opção de importação tem listas de
importação detalhadas.
e. Clique no botão Select para a opção Windows.
A janela Windows to Import... é exibida:

f. Selecione a janela Links . (A janela Links é usada na guia a seguir.)


g. Clique em OK. A caixa de diálogo Application import é exibida novamente:
h. Clique em Import.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-42 Módulo 4 – Links de animação

A janela Links é importada com sucesso para seu aplicativo InTouch:

Exportação de janelas
Exportar janelas é muito útil ao criar ou manter um aplicativo de biblioteca ou para criar
rapidamente de forma remota referências de tag em outro aplicativo. Quando uma janela é
exportada, o arquivo de janela é copiado para o diretório selecionado juntamente com o arquivo
índice. Este diretório pode ser usado como uma fonte para importar janelas para seu aplicativo.

Obs.: Se tentar copiar arquivos de janela InTouch usando qualquer outro método (ex.comandos
de cópia Windows Explorer), você pode corromper o Dicionário Tagname de seu aplicativo.

Feche todas as janelas em seu aplicativo atual.


a. Clique em File / Export Window. A caixa de diálogo Export to directory... é exibida.

b. Selecione o diretório (pasta) do aplicativo para o qual deseja exportar a janela. A caixa de
diálogo Windows to Export é exibida, permitindo a seleção de janelas em seu aplicativo.
c. Selecione a(s) janela(s) a serem exportadas e clique em OK.

Treinamento Wonderware
Seção 2 – Animação de objetos 4-43

Conversão de Tagnames
A informação a seguir está incluída porque a conversão de tag é normalmente parte de uma
operação de importação InTouch.
A janela Links recém importada é formada apenas de gráficos e não inclui tags, portanto não é
necessário fazer conversão.

Obs.: A conversão de tag é demonstrada em Laboratório , “Usar funções QuickScript.”

Quando as janelas são importadas/exportadas de/para seu aplicativo atual, ou tags indexadas
(para tirá-las de operação), todas as tags associadas com esta janela são transferidas com a
janela. Elas não são, entretanto, adicionadas ao novo banco de dados do aplicativo. Ao invés
disto, os tagnames são identificados como tags placeholder (índice).

Obs.: Se as tags não são definidas em seu Dicionário Tagname local quando uma janela é
importada, será solicitado que as defina antes delas serem convertidas. Clique em OK se este for
o caso. A caixa de diálogo Tagname Dictionary será exibida e cada tagname pode ser
identificado.

Os placeholders ?d:, ?i:, ?r:, ?m:, ?g:, ?h:, e ?t: que precedem os tagnames indicam o tipo com
o qual o tagname foi definido originalmente como:
dTipo discreto
iTipo inteiro
rTipo real
mTipo mensagem
gTipo grupo
hTipo tendência de histórico
tTipo ID de tag

Substituição de tagnames
Quando um objeto é duplicado, ele se torna uma réplica exata do original incluindo links,
animação e scripts. Entretanto, se precisar usar uma tag diferente para um objeto que foi
duplicado, será necessário mudar o tagname.
No WindowMaker, esta operação é denominada substituir tagname. Tagnames para objetos
podem ser mudados a qualquer hora, individualmente ou em grupo
a. Selecione o objeto cujo tagname deseja mudar.
b. Pressione Ctrl+E (Special / Substitute Tags...).

c. Insira um novo tagname na caixa New Name e clique em OK. O tagname associado ao
objeto selecionado será mudado automaticamente.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-44 Módulo 4 – Links de animação

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 3 – Links de animação – Referência rápida 4-45

Seção 3 – Links de animação – Referência rápida


Este guia de referência rápida resume a funcionalidade básica cada link de animação.

Touch Links

Touch Link Tipos


Entradas do usuário Discreto, analógico, string
Sliders Vertical, Horizontal
Botoeiras Touch Valor discreto, ação, exibir janela, ocultar janela

Entrada do usuário Descrição


Discreto Usada para controlar o valor de um tagname discreto. Quando este
link é ativado, uma caixa de diálogo será exibida e solicita que o
operador faça uma escolha.
Analógico Usada para inserir o valor de uma tagname analógico (inteiro ou real).
Quando o link é ativado, uma caixa de entrada será exibida e o valor
pode ser inserido a partir de um teclado padrão ou em um teclado na
tela opcional.
String Usado para criar um objeto no qual uma mensagem string pode ser
inserida. Quando o link é ativado, uma caixa de entrada para entrada
do valor de menagem ou um teclado opcional na tela será exibido.

Link Slider Touch Descrição


Vertical / Horizontal Usado para criar objetos ou símbolos que podem ser movidos em
torno de uma janela, vertical ou horizontalmente, com um mouse ou
outro dispositivo de indicação (ex. dedo ou uma tela touch screen).
Como o objeto ou o símbolo é removido, ele altera o valor do tagname
vinculado a ele. Isto fornece a habilidade de criar equipamentos para
ajustar valores no sistema.

Botoeiras Touch Descrição


Valor discreto Usado para transformar um objeto ou símbolo em uma botoeira que
controla o estado de um tagname discreto.
Ações de botoeiras incluem Direta (momentaneamente ativados),
Reversa (momentaneamente desativado), Alternar, Reinicializar e
Configurar.
Ação Permite que qualquer objeto, símbolo ou botão tenha até treze scripts
de ação diferentes vinculado a ele (consulte Módulo 5, “InTouch
QuickScripts,” página 4-11.) Os scripts de ação são usados para
configurar tags com valores específicos, exibir e/ou ocultar janelas,
iniciar e controlar outros aplicativos, executar funções, etc.
Exibir janela Permite que um objeto, símbolo ou botão abra uma ou mais janelas
quando clicado.
Ocultar janela Permite que um objeto, símbolo ou botão feche uma ou mais janelas
quando clicado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-46 Módulo 4 – Links de animação

Display Links:

Display Links: Tipos


Linha, preenchimento e cor de Discreto, analógico, alarme discreto, alarme analógico
texto
Dimensão do objeto Altura, largura
Localização Horizontal, Vertical
Percentual de preenchimento Horizontal, Vertical
Diversos Visibilidade, direção, piscar, desabilitar, dica de ferramenta
Exibir valor Discreto, analógico, string

Link de cor Descrição


Discreto Usado para controlar os atributos de preenchimento, linha e cor de
texto de um objeto ou símbolo vinculado ao valor de uma expressão
discreta. Duas cores podem ser selecionadas, uma para o estado
Verdadeiro e uma para o estado Falso.
Analógico Cor de linha, preenchimento e texto de um objeto ou símbolo pode ser
vinculado ao valor de um tagname analógico (inteiro ou real) ou uma
expressão analógica. Dez faixas de valores são definidas aos noves
pontos de interrupção. Dez cores diferentes podem ser selecionadas e
serão exibidas conforme a mudança da faixa de valor.
Alarme discreto Texto, linha e cor de preenchimento de um objeto podem ser
vinculados ao estado de alarme de um tagname, Grupo de alarme ou
Variável de grupo. Este link de cor permite uma escolha entre duas
cores: uma para o estado normal e a outra para alarme do tagname.
Este link pode ser usado para tagnames analógicos e discretos. Se
usada com um tagname analógico, ela responde a qualquer condição
de alarme do tagname.
Alarme analógico Texto, linha e cor de preenchimento de um objeto podem ser
vinculados ao estado de alarme de um tagname analógico, Grupo de
alarme ou Variável de grupo. Isto permite que uma cor específica seja
configurada para o estado normal e uma cor diferente para cada
condição de alarme definida para o tagname.

Dimensão do objeto Descrição


Tagname analógico (inteiro ou Usadas para variar a altura e/ou a largura de um objeto de acordo com
real) ou expressão analógica o valor de um tagname analógico (inteira ou real) ou de uma
expressão analógica. Os links de dimensão controlam a direção na
qual o objeto é ampliado em altura e/ou largura pelo ajuste de uma
âncora para o link. Os links de altura e de largura podem ser
conectados ao mesmo objeto.

Links de ponto de referência Descrição


Analógico Usados para fazer um objeto mover-se automaticamente na
horizontal, na vertical ou em ambas as direções em resposta a
mudanças no valor de um tagname analógico ou expressão.

Treinamento Wonderware
Seção 3 – Links de animação – Referência rápida 4-47

Percentual de preenchimento Descrição


Preenchimento horizontal/ Usado para variar o nível de preenchimento de uma forma (ou um
vertical símbolo com formas preenchidas) de acordo com o valor de um
tagname analógico ou de uma expressão que calcule um valor
analógico. Por exemplo, este link pode ser usado para exibir o nível de
líquidos em um reservatório. Um objeto ou símbolo pode ter um link de
preenchimento horizontal, vertical ou ambos.

Links diversos Descrição


Visibility Usado para controlar a visibilidade de um objeto com base no valor de
um tagname discreto e expressão.
Blink Usado para fazer um objeto piscar com base no valor de um tagname
discreto e expressão.
Orientation Usado para fazer um objeto girar com base no valor de um tagname
analógico ou expressão.
Disable Usado para desabilitar a funcionalidade toque de objetos com base no
valor de um tagname discreto ou expressão.
Tooltip Usado para exibir uma dica de ferramenta padrão Windows em
Runtime quando o cursor passa sobre um objeto.

Exibir valor Descrição


Discreto Usa o valor de uma tag ou de uma expressão discreta para exibir uma
mensagem On ou Off definida pelo usuário em um objeto de texto.
Analógico Exibe o valor de uma tag ou de uma expressão analógica em um
objeto de texto.
String Exibe o valor de uma tag ou de uma expressão string em um objeto de
texto.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-48 Módulo 4 – Links de animação

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-49

Laboratório 3 – Configuração de links de


animação
Introdução
Neste laboratório, você usará a caixa de diálogo Animation Selection para criar links de
animação e configurar ações específicas que ocorrerão de acordo com o status de determinados
eventos.

Objetivos
Ao final deste laboratório, você:
z Abrirá janela Links
z Compartilhará gráficos entre janelas
z Animará o símbolo Valve1
z Animará o botão Disc1
z Animará um Slider
z Animará o campo RealTag Text
z Adicionará a um link de percentual de preenchimento
z Configurará links de objeto elipse
z Configurará links de objeto ampliador

Preparação
A janela Links deverá ter sido importada para seu aplicativo do diretório wwimport na máquina
do instrutor (ou outra máquina). Se concluiu esta etapa, siga as instruções da tarefa orientada
pelo instrutor “Importação e exportação de janelas” na página 4-40.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-50 Módulo 4 – Links de animação

Abertura de janela Links


1. Na estrutura da árvore Application Explorer do WindowMaker, clique em + próximo à
Windows para expandir a lista de janelas disponíveis.
2. Clique duas vezes com o mouse em Links para abrir a janela que foi importada
recentemente.

A janela Links é exibida semelhante à figura a seguir .

Obs.: NÃO desagrupe nenhuma célula ou símbolo para concluir este laboratório.

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-51

Compartilhamento de gráficos entre janelas


3. Abra a janela Scratch.
4. Copie o símbolo Valve e seu botão.

Obs.: Se necessário, converta os objetos Valve, incluindo o objeto de texto, em um símbolo.


Isto pode ser feito antes ou depois da operação copiar/colar.

5. Feche a janela Scratch .

6. Cole Valve e seu botão na janela Links . Seu ponteiro exibirá:


7. Clique uma vez na área superior esquerda da janela Links para posicionar a válvula.
8. Ajuste o posicionamento e a dimensão.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-52 Módulo 4 – Links de animação

Animação do símbolo Valve1


9. Clique duas vezes com o mouse no símbolo Valve1.
10. Clique no botão Line Color – Discrete .
A caixa de diálogo Object type: Symbol é exibida:

11. Clique duas vezes com o mouse no campo Expression.


A caixa de diálogo Tag Browser é exibida:

12. Selecione a guia DiscTag1.


13. Clique em OK.

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-53

O tagname é exibido no campo Expression:

14. Clique na caixa de cor 1,TRUE,On: e atribua GREEN com a paleta de cor.
15. Clique na caixa de cor 0,FALSE,Off: e atribua RED com a paleta de cor.

16. Clique no botão OK inferior.


17. Conecte Fill Color e Text Color do símbolo à tag DiscTag1 usando as etapas anteriores.

18. Clique em OK quando concluir o link de animação e clique no OK superior quando as três
estiverem atribuídas.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-54 Módulo 4 – Links de animação

Animação do botão Disc1Tag1


19. Clique duas vezes com o mouse no botão DiscTag1 .
20. Defina como Touch Link / Touch Pushbutton / Discrete Value com a ação Direct.

21. Atribua a DiscTag1.


22. Clique no botão OK superior.

Animação de válvulas e botões


23. Selecione o símbolo Valve1 e o botão DiscTag1 .

24. Duplique o símbolo de válvula e o botão clicando no botão Duplicate . Coloque as


válvulas lado a lado:

25. Selecione a segunda válvula e seu botão e escolha Special / Substitute Strings (CTRL+L).

26. Mude o texto para DiscTag2 e o rótulo do botão para Valve2.


27. Clique em OK.

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-55

As válvulas e os botões devem estar semelhantes à figura a seguir:

28. Clique 2 vezes com o mouse em Valve2 e defina Line Color, Fill Color e Text Color como
DiscTag2. Use BLUE para as cores 1,TRUE, On e BLACK para as cores 0,FALSE,Off .

Obs.: Uma vez que todos os links de animação do símbolo Valve1 e do botão DiscTag1 são
mantidos nos novos objetos, clicar no OK inferior da caixa de diálogo Tag Editor retorna à caixa
de dialogo Animation Links Selector , de onde é possível selecionar facilmente outro link de
animação de tag. Quando os links de animação são concluídos, clique no OK superior na parte
superior da caixa de diálogo para salvar os links e fechar a caixa de diálogo.

29. Defina o botão DiscTag2 como um User Inputs - Discrete e atribua-o a DiscTag2.

30. Ajuste Prompts e Messages como exibido e clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-56 Módulo 4 – Links de animação

31. Alterne para Runtime clicando uma vez em Runtime! no canto superior direito da tela.

32. Clique nas botoeiras DiscTag . As válvulas devem mudar de cor com base em seu status On/
Off.

33. Retorne para o modo Development clicando uma vez em Development!

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-57

Animação do slider
34. Clique duas vezes com o mouse no objeto indicador.

35. Clique no botão Horizontal na área Sliders da caixa de diálogo Animation Selection .
36. Configure o slider com os atributos exibidos na figura a seguir:

37. Clique em OK.


38. Para validar To Right / Horizontal Movement, selecione a barra indicadora.
A largura da barra aparece na parte inferior da janela WindowMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-58 Módulo 4 – Links de animação

Animação do campo RealTag Text


39. Clique duas vezes com o mouse no campo de texto RealTag = #.
40. Clique no botão Analog na seção Touch Links / User Inputs da caixa de diálogo Animation
Selection .
41. Configure o link para corresponderem à figura a seguir:

42. Clique em OK.

Adição de um link de percentual de preenchimento


43. Clique duas vezes com o mouse na barra azul Value Indicator no objeto Slider .

44. Selecione Percent Fill / Horizontal.

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-59

45. Definir o link Horizontal Percent Fill para corresponder à figura a seguir (cor de fundo é
opcional).

46. Clique no botão OK superior.


47. Alterne para o Runtime.
48. Deslize o indicador clicando e mantendo pressionado o botão esquerdo do mouse.
Os valores juntamente com a barra indicadora devem corresponder aos valores exibidos para
a tag.

49. Clique na tela de valor.


A moldura torna-se ativa e um campo de entrada é exibido:

50. Insira um valor diferente do exibido e pressione Enter (neste exemplo, o valor é ajustado
como 200).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-60 Módulo 4 – Links de animação

O indicador de valor deve mover. Você deverá ver o link do percentual de preenchimento
funcionar na barra indicadora. A tela RealTag = agora exibe 200.

51. Retorne para Development.

Configuração de links de objeto elipse


52. Clique duas vezes com o mouse no objeto Ellipse e atribua os seguintes atributos de Link:

Seleção de link Dimensão de objeto - Altura


Expressão RealTag
Valor na altura máxima 1000
Valor na altura mínima 0
Altura máxima % 100
Altura mínima % 0
Âncora Meio

Seleção de link Dimensão de objeto - Largura


Expressão RealTag
Valor na largura máxima 1000
Valor na largura mínima 0
Largura máxima % 100
Largura mínima % 0
Âncora Centro

Seleção de link Cor de preenchimento - analógico


Expressão RealTag
Break Points: 100, 200, 300, 400, 500, 600, 700, 800,
900
Cores 9 cores a escolher

Treinamento Wonderware
Laboratório 3 – Configuração de links de animação 4-61

A figura a seguir exibe a configuração Fill Color - Analog:

53. Alterne para o Runtime.


54. Mova o indicador para frente e para trás com o slider. O círculo aumenta, diminui e muda as
cores ao mover o indicador.
55. Alterne para o Desenvolvimento.

Configuração de links de objeto ampliador


56. Selecione o objeto Escalator.

57. Clique no botão Send to Back. . Observe que a imagem contém diversos objetos.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-62 Módulo 4 – Links de animação

58. Selecione o objeto Steps (cubos diversos).

59. Configure o objeto Steps com os atributos de Link a seguir:

Seleção de link Ponto de referência - Vertical


Expressão $Second MOD 10
Valor no máximo 10
No mínimo 0
Para cima 25
Para baixo 0

Seleção de link Ponto de referência - Horizontal


Expressão $Second MOD 10
Na extremidade esquerda 0
Na extremidade direita 10
Para a esquerda 0
Para a direita 25

60. Selecione o objeto Railing (célula grande).

61. Clique no botão Bring to Front.


62. Alterne para Runtime e observe a mudança das etapas.

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-63

Seção 4 – Uso de SmartSymbols

Objetivos da seção
z Gerar um SmartSymbol
z Editar um SmartSymbol
z Usar o gerenciador SmartSymbol

Introdução
SmartSymbols integram a tecnologia orientada ao objeto com os gráficos InTouch para
transformá-los em modelos reutilizáveis. Mudanças feitas aos modelos automaticamente se
propaguem por todo o aplicativo, mesmo em nós de microcomputador em rede diversos. Como
resultado, os engenheiros gastam menos tempo criando, modificando e validando e revalidando
aplicativos IHM.
Com o uso do SmartSymbol Manager, os desenvolvedores de aplicativo podem criar modelos de
gráficos que podem se conectar a Objetos ArchestrA, tags InTouch locais e tags InTouch através
de referências remotas. Estes modelos de símbolo são salvos na Biblioteca SmartSymbol e
podem ser iniciados selecionando-os e posicionando-os dentro de janela InTouch.
Qualquer gráfico na janela InTouch que foi transformado em uma célula pode ser convertido em
SmartSymbol. Além disso, bibliotecas de SmartSymbols podem ser exportados para outros
aplicativos e fábricas, permitindo que empresas padronizem os gráficos em toda a organização.
Uma vez que um exemplo de SmartSymbol é desenvolvido, se os usuários precisam mudar um
exemplo, eles simplesmente modificam o modelo SmartSymbol e a mudança é propagada
automaticamente em todo o aplicativo, para toda janela na qual um exemplo SmartSymbol foi
usado. Isto torna a mudança, atualização e modificação de aplicativos muito fácil e rápido. Validar
e revalidar aplicativos após a modificação também são simplificadas com SmartSymbols.

Geração de SmartSymbol
Qualquer gráfico pode tornar-se um SmartSymbol, uma vez que ele seja convertido a célula.
Entretanto, o SmartSymbol mais versátil tem referências de dados de tag e animação. É possível
decidir percorrer seus aplicativos InTouch para identificar objetos gráficos semelhantes ou
idênticos para determinar o que você deve construir em sua biblioteca SmartSymbol. Ou, pode
decidir por criar todos seus SmartSymbols antes de construir qualquer aplicativo. De qualquer
modo, você começar com um gráfico.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-64 Módulo 4 – Links de animação

Configuração de gráfico
a. Crie ou posicione um gráfico em uma janela.
b. Atribua um tagname ou tagnames ao gráfico.
c. Configure animação para o gráfico.
d. Selecione todo o gráfico e escolha Make Cell.

Geração de um SmartSymbol
a. Clique com o botão direito do mouse no gráfico e selecione SmartSymbol / Generate
SmartSymbol.
O novo símbolo será exibido na janela SmartSymbol - Management Mode, com o nome de
NewSymbol.

b. Clique uma vez em NewSymbol e mude o nome.


c. Clique em Close.
O WindowMaker solicita que substitua a célula original pelo novo SmartSymbol:

d. Clique em Yes.

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-65

O SmartSymbol exibe agora alças de dimensionamento abertas em sua janela. Isto indica
que ele é um SmartSymbol e não apenas uma célula.

Assistente do SmartSymbol

a. Clique em no ícone SmartSymbol Wizard para colocar o SmartSymbol dentro de sua

janela de aplicativo. Seu cursor muda .


b. Destaque o SmartSymbol que deseja posicionar em seu aplicativo na janela InTouch
SmartSymbol - Select Mode e clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-66 Módulo 4 – Links de animação

A caixa de diálogo SmartSymbol Properties é exibida:

Referência de modelo: O tagname associado com o SmartSymbol que foi criado originalmente
(Modelo).
Referência de exemplo: O tagname associado com o SmartSymbol posicionado em sua janela
InTouch (Exemplo).
c. Na janela SmartSymbol Properties, clique na caixa de seleção Show Text Strings .

d. Clique no botão elipse na coluna Instance References. Isto acessará o Tagname


Browser.
e. Selecione o tagname apropriado.
f. Pressione a tecla tab após selecionar o Tagname para garantir que selecionou um Tagname
aceito.
g. Clique em OK.

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-67

h. O SmartSymbol aparecerá em sua janela de aplicativo.

Substituir
De forma alternativa, se diversos Tagnames e Strings de Texto requerem a mesma mudança de
Instance Reference, use o recurso Replace.

a. Clique no ícone SmartSymbol Wizard para colocar o SmartSymbol dentro de sua

janela de aplicativo. Seu cursor muda para .


b. Na janela SmartSymbol - Select Mode destaque o SmartSymbol que deseja posicionar em
seu aplicativo

3. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-68 Módulo 4 – Links de animação

A caixa de diálogo SmartSymbol Properties é exibida:

d. Clique no botão Replace.


A caixa de diálogo Replace é exibida:

e. Insira o texto nos campos Find what e Replace with.


f. Clique em Replace All.

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-69

g. Clique em Cancel quando terminar. O Tagname e a String de texto Instance References


foram alterados

h. Clique em OK.
O SmartSymbol exibe o Tagname atualizado:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-70 Módulo 4 – Links de animação

Edição de SmartSymbols e propagação de mudanças


Uma vez que tenha posicionado diversos SmartSymbols em várias janelas do seu aplicativo,
pode ser que precise fazer uma alteração ou uma adição. Ao invés de procurar cada instância do
SmartSymbol e aplicar a mudança manualmente, é possível editar o SmartSymbol e propagar as
mudanças em todas as janelas de seu aplicativo.

Iniciar a edição do SmartSymbol


a. clique com o botão direito do mouse em uma área em branco de qualquer janela de aplicativo
InTouch.
b. Escolha Start SmartSymbol Edit. (Este exemplo mostra um SmartSymbol já na janela. Ao
final do exemplo, você verá que ele muda para refletir as edições feitas.)

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-71

A caixa de diálogo InTouch SmartSymbol - Select Mode é exibida:

c. Selecione o SmartSymbol que deseja editar.


d. Clique em OK.
e. Clique com seu cursor em uma área aberta da janela para posicionar temporariamente o
SmartSymbol durante a edição.

f. Clique em Break Cell se necessário.


g. Faça as mudanças/inclusões desejadas no SmartSymbol.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-72 Módulo 4 – Links de animação

h. Selecione todo o objeto.

Adicione elementos e
aumente a dimensão
total do SmartSymbol

Crie uma Célula


quando concluir as

i. Clique no ícone Make Cell para transformar novamente em uma célula.


Alças de dimensionamento da célula são exibidas ao redor do SmartSymbol editado:

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-73

Conclusão da edição do SmartSymbol


j. Clique com o botão direito do mouse na célula e escolha SmartSymbol / End SmartSymbol
Edit.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-74 Módulo 4 – Links de animação

Envio da edição
k. Uma lista de todas as janelas em seu aplicativo contendo o SmartSymbol é exibida. Verifique
se a edição deve ser aplicada aos SmartSymbols nestas janelas e escolha Commit Edit.

Quando deseja atualizar a dimensão do


SmartSymbol, selecione o Ponto de
Âncora para iniciar a mudança

Obs.: Ao fazer a edição de um SmartSymbol, tenha em mente o seguinte: O aumento da


dimensão ou do espaço total que o SmartSymbol ocupa na janela durante o modo de edição
somente afetará a dimensão dos SmartSymbols indicados se selecionar Update Size of
Symbols in Application. Se não selecionar Update Size, eles permanecerão com a dimensão
original e a imagem se ajustará automaticamente para encaixar-se no espaço original.

A mudança aplica-se a
cada instância do
símbolo

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-75

Gerenciamento de SmartSymbols
O SmartSymbol Manager é usado para diversos fins, incluindo:
z Visualizar os atributos SmartSymbol
z Organizar seus SmartSymbols em pastas
z Copiar e excluir SmartSymbols
z Importar / Exportar SmartSymbols

Visualização dos atributos SmartSymbol


Quando um SmartSymbol é gerado, ele tem determinados atributos atribuídos a ele, como
Tagnames e texto (strings). Estes atributos podem ser modificados quando iniciar uma instância
de um SmartSymbol. Para visualizar os atributos SmartSymbol
a. Clique em Special / SmartSymbols / Manage SmartSymbol.
b. Selecione SmartSymbol.
c. Clique na guia Attribute List no painel inferior esquerdo da janela.
Os atributos para o SmartSymbol selecionado são exibidos:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-76 Módulo 4 – Links de animação

Organização de SmartSymbols
SmartSymbols podem ser organizados em pastas por tipo, categoria, sala, linha de produto ou
qualquer método de organização que seja significativo em sua empresa. Para organizar os
SmartSymbols, comece acessando o SmartSymbol Manager.
a. Clique em Special / SmartSymbols / Manage SmartSymbol.
A janela SmartSymbol - Management Mode é exibida:

b. Clique em InTouch Symbols para destacar a pasta.


c. Clique em File / New Folder.
d. Nomeie a nova pasta com base no método de organização que escolheu.

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-77

e. Arraste o SmartSymbol da pasta InTouch Symbols para sua pasta apropriada.

Renomear, copiar, excluir e recuperar SmartSymbols


Renomear, copiar, excluir e recuperar SmartSymbols podem ser realizados no SmartSymbol
Manager.
Para renomear um SmartSymbol
a. Clique em SmartSymbol para destacá-lo.
b. Clique em Edit / Rename.
c. Digite o novo nome e pressione Enter.
d. O SmartSymbol é exibido com o novo nome.
Para copiar um SmartSymbol
a. Clique em SmartSymbol em SmartSymbol Manager para destacá-lo.
b. Clique em Edit / Copy.
c. Clique na pasta onde deseja que o novo SmartSymbol seja exibido.
d. Clique em Edit / Paste.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-78 Módulo 4 – Links de animação

O novo SmartSymbol é exibido. Se colocado na mesma pasta do original, ele será nomeado
como Cópia do <nome original>.

Para excluir um SmartSymbol


a. Clique em SmartSymbol para destacá-lo.
b. Clique em File / Delete.
A janela Confirm Symbol Delete é exibida.

Para recuperar um SmartSymbol excluído


a. Clique em uma instância órfã desse SmartSymbol na janela do aplicativo InTouch.

Obs.: Se um SmartSymbol excluído nunca foi aplicado em uma janela de aplicativo InTouch, ele
não pode ser recuperado.

b. Clique em Special / SmartSymbol / Recover SmartSymbol.


c. O SmartSymbol será gerado e exibido na janela SmartSymbol - Management Mode, com o
nome NewSymbol. Renomeie como apropriado.

Treinamento Wonderware
Seção 4 – Uso de SmartSymbols 4-79

Exportação da biblioteca SmartSymbol


Sua biblioteca SmartSymbol pode ser exportada para uso em outros aplicativos InTouch.
a. Acesse o SmartSymbol Manager.
b. Clique em File / Export.

c. Nomeie seu arquivo SmartSymbol exportado como desejado e posicione-o no diretório


apropriado.
d. Clique em Save. A biblioteca SmartSymbol exportada está agora disponível para ser
importada para qualquer aplicativo InTouch.

Importação da biblioteca SmartSymbol


e. Abra o aplicativo InTouch para o qual deseja importar a biblioteca SmartSymbols.
f. Certifique-se de que todas as janelas InTouch Application estão fechadas.
g. Clique em Special / SmartSymbol / Manage SmartSymbols.
h. Clique em File / Import.
i. Clique no arquivo .www que deseja importar e clique em Open.
Se algum SmartSymbol existir em seu aplicativo com o mesmo nome dos que estão sendo
importados, você pode escolher entre Ignorá-lo , Sobrescrevê-lo ou Renomeá-lo.

j. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-80 Módulo 4 – Links de animação

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 4 – Uso de SmartSymbols 4-81

Laboratório 4 – Uso de SmartSymbols


Introdução
O laboratório a seguir explica a criação e a manipulação de SmartSymbols. Você criará um novo
SmartSymbol, editará o SmartSymbol, gerenciará o SmartSymbol e outros.
No Módulo 2, um Símbolo foi gerado com a criação de um objeto gráfico para representar o objeto
físico da fábrica (uma válvula). No Módulo 3, um Tagname de Memória Discreto foi definido para
a válvula denominada DiscTag1 para simular a abertura e o fechamento da válvula. No Módulo 4,
foram usados links de animação para exibir graficamente a válvula nos status ativada ou
desativada, enquanto a válvula DiscTag1 mudava de ativada para desativada. Você também
copiou a válvula e atribuiu a DiscTag2 a ela. Agora precisa mudar os dois símbolos da válvula
para exibir um sensor. Ao invés de editar cada símbolo, no laboratório a seguir você mudará um
símbolo dentro de uma célula e dentro de um SmartSymbol e usará o novo SmartSymbol em sua
janela Links.

Objetivos
Ao final deste laboratório, você:
z Gerar um novo SmartSymbol
z Aplicar o novo SmartSymbol
z Editar o SmartSymbols e propagar mudanças
z Gerenciar SmartSymbols

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-82 Módulo 4 – Links de animação

Geração de SmartSymbol
Geração de um SmartSymbol
Neste laboratório, você começará a mudar o gráfico Valve1 existente dentro de um
SmartSymbol.
1. Abra a janela Links em seu aplicativo InTouch, se ainda não estiver aberto.
2. Clique em no símbolo Valve1 para selecioná-lo.
3. Mantenha a tecla Shift pressionada e clique no botão DiscTag1.

4. Clique no ícone Make Cell .


5. Clique com o botão direito do mouse na nova célula e selecione SmartSymbol / Generate
SmartSymbol.
6. O novo SmartSymbol será exibido na janela SmartSymbol - Management Mode, com o
nome de NewSymbol.
7. Clique em NewSymbol.
O campo Name se tornará editável:

8. Mude o nome para Valve.


9. Clique em Close para fechar a janela SmartSymbol - Management Mode .

Treinamento Wonderware
Laboratório 4 – Uso de SmartSymbols 4-83

O WindowMaker solicita que substitua a célula original pelo novo SmartSymbol:


10. Clique em Yes.

11. Valve1 em sua janela Links é agora um SmartSymbol, exibindo as alças de dimensionamento
de aberta quando selecionado.

Edição de SmartSymbols e propagação de mudanças


Agora você mudará o SmartSymbol Valve para exibir um Sensor.

Iniciar a edição do SmartSymbol


12. Feche a janela Links e abra a janela Scratch .
13. Clique com o botão direito do mouse em uma área em branco da janela.
14. Escolha SmartSymbol / Start SmartSymbol Edit.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-84 Módulo 4 – Links de animação

15. Clique com seu cursor em uma área em branco da janela para posicionar
temporariamente o SmartSymbol durante a edição.
16. Selecione o SmartSymbol Valve e clique em OK. O SmartSymbol Valve é exibido.

17. Clique no ícone Wizards .


18. Clique em Symbol Factory, selecione o Symbol Factory Wizard e clique em OK.

19. Clique com seu cursor logo acima do texto Valve 1.


20. Encontre Sensor1 dentro da Categoria Sensors.
Dica: com a categoria selecionada, digite SEN. A Categoria destacada irá para Sensors.

Treinamento Wonderware
Laboratório 4 – Uso de SmartSymbols 4-85

21. Clique em Options.

22. Clique na caixa de seleção Flip Horizontal e clique no botão +90 .


23. Clique em OK na janela Symbol Options e em OK na janela Symbol Factory.
O Sensor é exibido:

Obs.: É possível girar o Sensor após ele ser posicionado, desagrupando a célula e
escolhendo girar, ou clicando duas vezes com o mouse em Sensor e movendo-se para
Options. O último método girará o objeto dentro de sua dimensão original, o que pode não ser
o efeito desejado.

24. Selecione os dois objetos e clique no ícone Make Cell.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-86 Módulo 4 – Links de animação

Conclusão da edição do SmartSymbol


25. Clique com o botão direito do mouse na célula sobre SmartSymbol/End SmartSymbol Edit.

Propagação da edição
Uma lista de todas as janelas em seu aplicativo contendo o SmartSymbol editado é exibida.
Verifique se a edição deve ser propagada aos SmartSymbols nestas janelas.
Qualquer mudança nos Tagnames são também exibidas para verificação na coluna New Symbol
References. O valores da coluna Library Symbol References correspondem aos valores da
coluna New Symbol References, portanto nenhuma mudança foi feita.
26. Clique no botão Commit Edit.

27. Feche a janela Scratch. Salve se solicitado.


28. Abra a janela Links. Observe que Valve2 não foi modificada.

Agora é com você.


Por que Valve2 não exibiu o novo Sensor?
Dica: Consulte “Substituir” na página 4-67.

Treinamento Wonderware
Laboratório 4 – Uso de SmartSymbols 4-87

Gerenciamento de SmartSymbols
Nesta seção do laboratório, você:
z Visualizará os atributos SmartSymbol
z Organizará SmartSymbols
z Renomeará, copiará, excluirá e recuperará SmartSymbols
z Importará e exportará SmartSymbols
Visualização dos atributos SmartSymbol
29. Acesse o SmartSymbol Manager (Special / SmartSymbol / Manage SmartSymbol).
30. Clique em Valve SmartSymbol para destacá-lo.
31. Clique na guia Attribute List. Os atributos para o Valve SmartSymbol são exibidos:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-88 Módulo 4 – Links de animação

Organização de SmartSymbols
32. Clique na pasta InTouch Symbols para destacá-la (ainda dentro do SmartSymbol Manager).
33. Clique em File / New Folder.
34. Digite Valves e pressione Enter.
35. Arraste o símbolo Valve para a nova pasta Valves.

Treinamento Wonderware
Laboratório 4 – Uso de SmartSymbols 4-89

Renomear, copiar, excluir e recuperar SmartSymbols


Renomear um SmartSymbol
36. Clique no SmartSymbol Valve para destacá-lo.
37. Clique em Edit / Rename.
38. Digite o novo nome a seguir: Valve with Sensor.
39. Pressione Enter.
Valve é renomeado:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-90 Módulo 4 – Links de animação

Copiar um SmartSymbol
40. Clique no SmartSymbol Valve with Sensor para destacá-lo.
41. Clique em Edit / Copy.
42. Clique em Edit / Paste.
43. Renomeie a nova válvula como o seguinte: Valve without Sensor.
44. Pressione Enter.

Agora é com você, Edite o novo SmartSymbol Valve Without Sensor , removendo o Sensor.
Consulte “Edição de SmartSymbols e propagação de mudanças” na página 4-83 para ter uma
referência. Dica: Use Break Cell durante a edição.
Excluir um SmartSymbol
45. Acesse o SmartSymbol Manager.
46. Clique no SmartSymbol Valve with Sensor para destacá-lo.
47. Clique em File / Delete.
48. Clique em Yes na caixa de diálogo Confirm Symbol Delete .

Treinamento Wonderware
Laboratório 4 – Uso de SmartSymbols 4-91

Recuperação de um SmartSymbol excluído


49. Abra a janela Links em seu aplicativo InTouch.
50. Clique no gráfico Valve1 para colocá-lo em foco.
51. Clique em Special / SmartSymbol / Recover SmartSymbol.
Um SmartSymbol será gerado a partir da célula e será exibido na janela SmartSymbol -
Management Mode, com o nome New Symbol.
52. Renomeie o novo SmartSymbol como Valve with Sensor e pressione Enter.
53. Mova o Valve with Sensor para a pasta Valves.

Exportação de SmartSymbols.
54. Clique em File / Export do SmartSymbol Manager.
55. Salve sua biblioteca SmartSymbol como C:\Applications\MySmartSymbols.www —sua
biblioteca SmartSymbol está agora pronta para ser importada para qualquer aplicativo
InTouch.

Importação de SmartSymbols
56. Feche todas as janelas em seu aplicativo InTouch, salvando se necessário.
57. Clique em Special / SmartSymbol / Manage SmartSymbols.
58. Clique em File / Import.
59. Navegue para a pasta de localização fornecida por seu instrutor.
60. Se a janela Import Preferences for exibida, clique na caixa de seleção Rename imported
symbol.
61. Preencha o Append to symbol name da seguinte forma: _Instructor.
62. Clique em OK.
63. Revise os SmartSymbols importador no SmartSymbol Manager.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


4-92 Módulo 4 – Links de animação

– Deixado em branco intencionalmente –

Treinamento Wonderware
Módulo 5

InTouch QuickScripts
Seção 1 – Tipos de QuickScript 5-3
Seção 2 – Como trabalhar com o editor Script 5-13
Seção 3 – QuickScripts – Referência rápida 5-35
Laboratório 5–Uso do InTouch QuickScripts 5-39
5-2 Módulo 5 – InTouch QuickScripts

Objetivos do módulo
z Apresentar QuickScripts
z Apresentar os tipos QuickScript
z Oferecer exemplos de QuickScript
z Usar o editor de scripting para criar QuickScripts
z Criar uma ampla variedade de funções de sistema personalizadas e automatizadas
usando QuickScripts

Treinamento Wonderware
Seção 1 – Tipos de QuickScript 5-3

Seção 1 – Tipos de QuickScript

Objetivo da seção
z Explicar e definir os diversos tipos de InTouch QuickScript

Esta seção explicará e definirá os diversos tipos de InTouch QuickScript.

Introdução
QuickScript é o nome de uma linguagem e funcionalidade de scripting usada no ambiente
InTouch. A linguagem de scripting em si é muito semelhante às linguagens de PLC como IEC611-
31 e Texto Estruturado.
Os recursos do InTouch QuickScript Permitem executar comandos e operações lógicas com base
no atendimento de critérios especificados, como quando uma tecla é pressionada, uma janela
aberta ou um valor é modificado. Todos os InTouch QuickScripts são orientados a evento, como
uma mudança de dados, uma condição, um clique com o mouse ou um temporizador.
A ordem de processamento é específica para o aplicativo. Enquanto pode parecer que há uma
ordem inerente no modo que diversos scripts iniciados pelo mesmo evento são programados, não
há garantia de nenhuma ordem específica. Portanto, ao usar QuickScripts, você deve construir
qualquer dependência na ordem de processamento.

Tipo de Script Descrição


Aplicativo Scripts vinculados a todo um aplicativo
Janela Scripts vinculado a uma janela específica
Tecla Scripts vinculado a uma tecla ou combinação específica de teclas no
teclado
Ação Touch Scripts associados ao objeto vinculado a um link de animação
Touch Link - Touch Pushbutton - Action
Mudança de dados Scripts vinculados a um tagname e/ou tagname.field apenas
Condição Scripts vinculados a um tagname discreto ou expressão
ActiveX Event Scripts que executam eventos de controle ActiveX em Runtime
QuickFunctions Scripts criados que podem ser chamados de outros InTouch QuickScripts
ou de expressões de link de animação. QuickFunctions podem ser
síncronos ou assíncronos, enquanto todos os outros tipos são apenas
síncronos

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-4 Módulo 5 – InTouch QuickScripts

Scripts de aplicativo
Scripts de aplicativo são vinculados a todo o aplicativo. Eles podem ser usados para iniciar outros
aplicativos, criar simulações de processo, calcular variáveis, etc.
Há três tipos de Scripts de aplicativo

z On Startup: Executa uma vez quando o aplicativo é iniciado. Executa antes de qualquer
janela abrir ou que a inicialização de Runtime ocorra. Não é possível fazer referência a
métodos ActiveX, propriedades ou eventos em um script On Startup. As comunicações de
E/S são inicializadas após o script Application On Startup executar. As tags do tipo E/S ou
referências de tagname remotas não podem ter referência em um script On Startup.

z While Running: Executa repetidamente na freqüência especificada enquanto o aplicativo


estiver em execução. Quando um script While Running é selecionado, o campo Every
Msec torna-se ativo. O campo contém o número de milissegundos que devem ser
transcorridos antes do script executar. O script executará repetidamente na freqüência
especificada. Para executar o script imediatamente, crie um script On Startup idêntico.
Desde que a condição ou evento para o script While Running for atendida, o script
executará repetidamente na freqüência especificada.

z On Shutdown: Executa uma vez quando o aplicativo é fechado. As tags do tipo E/S e as
referências de tagname remotas não serão atualizadas em um script On Shutdown. Script
On Shutdown não pode ser usado para iniciar outros aplicativos.

Treinamento Wonderware
Seção 1 – Tipos de QuickScript 5-5

Scripts Janela
Scripts janela funcionam dentro de uma janela específica.

Há três tipos de Scripts de janela:

z On Show: Executa uma vez quando a janela é aberta inicialmente.

z While Showing: Executa repetidamente na freqüência especificada enquanto a janela


estiver em exibição. Quando um script While Showing é selecionado, o campo Every
Msec torna-se ativo. O campo contém o número de milissegundos que devem ser
transcorridos antes do script executar.
Para executar o script imediatamente, crie um script On Show idêntico. Desde que a
condição ou evento para o script While Showing for atendida, o script executará
repetidamente na freqüência especificada.

z On Hide: Executa uma vez quando a janela é ocultada.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-6 Módulo 5 – InTouch QuickScripts

Scripts de tecla
Scripts de tecla executam com uma tecla ou combinação de teclas específica no teclado Eles
podem ser usados para criar teclas globais para o aplicativo, como retornar à janela do menu
principal, desconectar o operador, etc.

Há três tipos de Scripts de tecla


z On Key Down: Executa uma vez quando a tecla é pressionada inicialmente.
z While Down: Executa repetidamente na freqüência especificada enquanto a tecla é
mantida pressionada. Quando um script While Down é selecionado, o campo Every
Msec fica ativo. O campo contém o número de milissegundos que devem ser
transcorridos antes do script executar.
Para executar o script imediatamente, crie um script On Key Down idêntico. Desde que
a condição ou evento para o script While Down for atendida, o script executará
repetidamente na freqüência especificada.
z On Key Up: Executa uma vez quando a tecla é liberada.

Obs.: Os equivalentes de tecla usados nas janelas ativas locais para scripts Touch Pushbutton -
Action suprimem qualquer Script de tecla com os mesmos equivalentes de tecla.

Treinamento Wonderware
Seção 1 – Tipos de QuickScript 5-7

Scripts Touch Action


Scripts Touch Action são semelhantes ao Scripts de tecla, exceto por serem associados a um
objeto vinculado a um Touch Link - Touch Pushbutton - Action (acessa o editor script através
da caixa de seleção de link de animação.) Eles são executados quando o operador clica ou
pressiona o objeto ou botão atribuído ao link.

Há treze tipos de links Touch Action Scripts .


Os Touch Action Scripts a seguir executam uma vez quando a tecla ou botão é inicialmente
pressionado:
z On Left Click/Key Down
z On Right Click
z On Center Click
O Touch Action Scripts a seguir executa repetidamente na freqüência especificada enquanto
a tecla ou botão for mantida pressionada. Quando ele é selecionado, o campo Every Msec
fica ativo. O campo contém o número de milissegundos que devem ser transcorridos antes do
script executar.
z While Left/Key Down
z While Right Down
z While Center Down
Os Touch Action Scripts a seguir executam uma vez quando a tecla ou botão é liberado:
z On Left/Key Up
z On Right Up
z On Center Up
Os Touch Action Scripts a seguir executam uma vez ao clicar duas vezes com o botão do
mouse. O recurso de equivalente em tecla desabilita quando eles são selecionados, uma vez
que não há equivalente no teclado para a ação clicar duas vezes com o botão do mouse.
z On Left Double Click
z On Right Double Click
z On Center Double Click

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-8 Módulo 5 – InTouch QuickScripts

Os seguintes Touch Action Scripts executam um vez quando o cursor passa sobre um objeto.
O script é atrasado com o campo After X msec. After X msec é o período de tempo que o
cursor deve ficar sobre o objeto antes do script executar. O recurso de equivalente na tecla é
desabilitado quando este tipo de condição é selecionado, uma vez que não há equivalente no
teclado para mover o cursor do mouse sobre um objeto.
z On Mouse Over

Obs.: Se um objeto ou botoeira de ação na janela ativa é atribuída à mesma tecla usada para um
Key Script, o link equivalente de tecla no teclado na janela ativa terá precedência sobre a
execução do Key Script.

Atribuir um equivalente em tecla ao script


O editor Key Script é diferente de outros editores QuickScript. Uma vez que você está criando
scripts que se aplicam a uma tecla, é necessário especificar a(s) tecla(s) que o operador
pressionará para executar o script.
Atribuir equivalentes de tecla a scripts é discutido em Módulo 4 Seção 2, “Animação de objetos.”

Scripts de troca de dados


Scripts de troca de dados são vinculados a um tagname e/ou tagname.field apenas

Eles são executados uma vez quando o valor de um tagname ou de um tagname.field muda com
um valor maior do que a zona morta do valor definida no Dicionário de Tagname.
Uma vez que Scripts de Troca de Dados são executados com base em uma mudança no valor de
dados, é necessário especificar um tagname ou tagname.field na caixa Tagname[.field].

Condition Scripts
Condition Scripts são vinculados a uma tag discreta ou uma expressão que seja igual a
Verdadeiro ou Falso. Este tipo de script é o mais usado. As expressões discretas com tagnames
analógicos também podem ser usadas.

Treinamento Wonderware
Seção 1 – Tipos de QuickScript 5-9

Uma vez que os Condition Scripts são executados com base no cumprimento de uma condição, é
necessário especificar a condição (uma tag discreta ou expressão) na caixa Condition. A
expressão resultaria em uma condição referente a uma tag ser VERDADEIRA ou FALSA.

Por exemplo:
TankLevel >= 75.
Quando o valor da TankLevel é maior ou igual a 75, o script executará.

Obs.: O valor para a condição deve fazer a transição para tornar-se verdadeira ou falsa antes
da execução do script. Por exemplo, se o valor inicial quando o WindowViewer é iniciado for
verdadeiro, o valor deve tornar-se falso e, então, verdadeiro novamente para que um script On
True execute.

Há quatro tipos de scripts que podem ser aplicados a uma condição:


z On False: Executa uma vez quando a condição faz a transição para falso.
z While False: Executa repetidamente quando a condição é falso. Freqüência de execução
com base no valor do campo Every Msec .
z On True: Executa uma vez quando a condição faz a transição para verdade.
z While True: Executa repetidamente quando a condição é verdade. Freqüência de
execução com base no valor do campo Every Msec .
Os scripts While True e While False começam a execução após o número de milissegundos
especificado for transcorrido. Para gerar a execução imediata, crie scripts duplicados On True e/
ou On False.
Todos os tipos de script podem ser aplicados a uma mesma condição.

Scripts ActiveX Event


A maioria dos controles ActiveX têm eventos associados a eles. Por exemplo, clicar, clicar duas
vezes com o mouse, pressionar o mouse e pressionar a tecla são eventos típicos usados em
muitos controles ActiveX. Scripts InTouch ActiveX Event suportam ações de eventos. É possível
associar um script de Evento ActiveX a cada evento. Executa eventos de controle ActiveX em
Runtime (WindowViewer)

Obs.: Implementação da funcionalidade ActiveX é detalhada no InTouch® HMI 9.5 Curso


avançado de desenvolvimento do aplicativo.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-10 Módulo 5 – InTouch QuickScripts

QuickFunctions
QuickFunctions são scripts que são chamados a partir de outros scripts e de expressões de link
de animação. O código é armazenado em um local, permitindo que todas as instâncias de script
sejam atualizadas com uma sessão de edição
Reutilizar QuickFunctions reduz a manutenção de seu aplicativo reduzindo a quantidade de
códigos duplicados que são copiados e colados continuamente para os scripts. O código
reutilizado é armazenado em um script e em um local, podendo assim atualizar todas as
instâncias de script com uma sessão de edição.
QuickFunctions podem ser definidos como assíncronos, de forma que, quando executados, eles
executarão em segundo plano do processo principal WindowViewer (Runtime). Esta
funcionalidade permite que o WindowViewer separe operações demoradas (como chamar um
banco de dados SQL) do fluxo de programa principal.
Quando uma operação que consome recursos precisa ser realizada, um QuickFunction
assíncrono oferece um método eficiente para todos os links de animação e outras funcionalidades
InTouch permanecerem ativas enquanto a operação é executada.
Caixas de expressão de link de animação são limitadas a 1023 caracteres. Entretanto, é possível
criar um QuickFunction mais complexo e chamá-lo de uma caixa de expressão de link de
animação.
Isto permite ao desenvolvedor usar a declaração CALL para chamar um script complexo que
contém uma declaração RETURN que retorna o resultado de volta para a expressão.
Por exemplo, quando diversos tagnames de 30 caracteres cada são adicionados (usando "&" e
":") , somente é possível usar 8 tagnames (mais espaços) na expressão. Entretanto, ao usar a
declaração CALL MYSCRIPT($Second), na expressão, é possível executar um QuickFunction
que pode conter centenas de tagnames com 30 caracteres. Este QuickFunction usará a
declaração RETURN para fornecer um valor de volta à expressão.

Obs.: Um tagname de "disparo" deve ser usado como um parâmetro para a QuickFunction para
forçar a atualização do link de animação. Por exemplo, usando o tagname $Second como o
parâmetro para o QuickFunction fará com que a expressão para o link de animação seja avaliada
toda vez que o $Second mude de valor. Isto significa que o QuickFunction é chamado a cada
segundo.

Depois de criar e salvar um QuickFunction, é possível chamá-lo imediatamente de qualquer outro


script ou expressão por seu nome.

O nome pode ter até 31 caracteres de comprimento. Espaços em branco e nomes duplicados não
podem ser usados. Este é o nome que outros QuickScripts ou expressões usarão ao chamar o
QuickFunction. Este nome será exibido também na caixa de diálogo Choose function quando
clicar nos botões All ou Quick no editor QuickScript.

Treinamento Wonderware
Seção 1 – Tipos de QuickScript 5-11

Os campos Arguments contêm cada nome de argumento para seu QuickScript.


Os tipos de dados válidos incluem o seguinte.

Tipos de dados Descrição


Integer Usado para passar uma variável inteira, tagname ou valores
constantes
Real Usado para passar uma variável real, tagname ou valores constantes
Discreto Usado para passar uma variável discreta, tagname ou valores
constantes
Message Usado para passar uma variável string, tagname ou valores
constantes de até 131 caracteres

Veja a seguir as palavras chaves reservadas que não devem ser usadas como nomes de
argumentos: Return, Call, Dim, As, Integer, Real, Discrete, Message.
Nomes de argumentos são variáveis locais que existem somente dentro do QuickFunction no qual
eles foram definidos. É possível usar até 16 argumentos por QuickFunction.
Os nomes de argumento podem ter até 31 caracteres de comprimento e espaços não podem ser
usados. Devem começar com um caractere alfa (A-Z). Nomes duplicados não podem ser usados.
Não use tagnames como nomes de argumento. Os tagnames prevalecem sobre nomes de
argumento iguais e seu QuickScript não executará corretamente.
Um nome de argumento não consome uma contagem de tag porque eles são tratados como
variáveis locais.
Argumentos QuickFunction
Parâmetros de Script são passados por valor. Expressões de argumento podem ser qualquer
expressão de script que retorne um valor do tipo dados inteiro, real, discreto ou mensagem. Todos
os valores de expressão de argumento são resolvidos chamando o script antes de executar o
QuickFunction.
Exemplos:
CALL Stuff (5.6, 237, "PI");
Nesta expressão, a constante real 5.6 é passada como argument1, a constante inteira 237 como
argumento 2 e a constante mensagem "PI" como argumento 3.
CALL Temp (IntegerTag);
IntegerTag é passada como valor de expressão de argumento.
CALL ValveOpen (Tag.MaxEU -5);
Valor calculado (Tag.MaxEU -5) é passado como um valor de expressão de argumento.
Correspondência entre os tipos de dados de argumento
Deve haver uma correspondência exata da esquerda para a direita entre os tipos de dados que
chamam a lista de argumentos da declaração do QuickFunction gravada e chamada.
Deve haver também um número exato de argumentos para corresponder ao número de
argumentos na lista de argumento QuickFunction armazenada.
Coerção é usada para valores Real type-cast para Integer, e Integer para Real. Esta habilidade de
modificar o tipo de um valor permite que qualquer argumento analógico seja passado para
qualquer outro tipo analógico.
Por exemplo, se passar um valor Real de 1.23 para um argumento Integer ele usará apenas o 1 e
o .23 será perdido. Da mesma forma, se passar um valor Inteiro de 1 para um argumento Real ele

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-12 Módulo 5 – InTouch QuickScripts

promoverá o 1 para 1.0. Entretanto, apesar deste recurso de coerção, recomendamos que faça
uma correspondência exata dos tipos de argumentos chamados com a lista QuickFunction.
Sintaxe válida QuickFunction
QuickFunctions retornam um valor. A sintaxe e a forma da declaração QuickFunction são as
seguintes:

CALLQuickFunctionName ( [arg1, ... arg16] );

onde:
CALL é a palavra chave requerida em todos os QuickScripts e expressão para chamar um
QuickFunction.
QuickFunctionName é um string de 1 a 31 caracteres que corresponde ao nome atribuído
ao QuickFunction armazenado.
( [arg1, ...arg16] ) são 0 a 16 expressões de argumento separadas por vírgula entre
parênteses.
Usar uma declaração de retorno
Um QuickFunction é um script que pode ser chamado de outro script (script chamado).
A seguir, um exemplo de um script que está chamando um QuickFunction:

RETURNRESULT = CALL MyFunction( StartHour, EndHour);

A declaração RETURN é usada por um QuickFunction para forçar um valor a ser retornado
chamando o script.
Quando RETURN é encontrada, a execução do QuickFunction finaliza imediatamente. Neste
ponto, o QuickFunction retorna um valor para o script que o chama. O tipo de dados retornado
pode ser discreto, inteiro, real ou mensagem.
No exemplo acima, a tag RETURNRESULT pode ser uma tag do tipo discreta, mensagem, inteira
ou real para receber o valor transferido.
No exemplo a seguir, se o tagname ConvertType for igual a 0, a expressão abs( (Max /
Maxprogress) * 100 ) é calculada e este tipo de dados de resultado real é retornado ao script que
chama.

IF ConvertType == 0 THEN
RETURN abs( (Max / Maxprogress) * 100 );
ELSE
RETURN 0;
ENDIF;

O tipo de dados do valor de retorno é determinado pelo contexto. Por exemplo:

RETURN AnalogTag;

Se o Tagname, AnalogTag, é definido como Memory Integer, a declaração RETURN enviará um


valor analógico de volta ao local que está chamando. Somente um valor pode ser retornado.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-13

Seção 2 – Como trabalhar com o editor Script

Objetivos da seção
z Apresentar o QuickScript Editor
z Identificar as diferentes funções script e suas palavras chaves

Esta seção descreve recursos e funções comuns do QuickScript Editor. Os recursos e as funções
que são exclusivos para um tipo de script em particular são descritos mais adiante nesta seção.

Abertura do QuickScript Editor


Abrir um QuickScript Editor para criar um novo script pode ser realizado do menu Special ou do
Application Explorer.
Do Application Explorer:

a. Clique com o botão direito do mouse no tipo de QuickScript e selecione Open ou New. Alguns
tipos de QuickScript não incluem o comando New no submenu.

Obs.: Os QuickScripts existentes são exibidos na visualização da hierarquia Application


Explorer sob seus respectivos ícones típicos QuickScript .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-14 Módulo 5 – InTouch QuickScripts

O InTouch QuickScript Editor exibe a mesma interface básica para todos os tipos de script:

Barra de ferramentas QuickScript

A barra de ferramentas QuickScript realiza as funções de edição básicas.

Ícones Descrição
Recortar o texto selecionado do script

Copiar o texto selecionado do script

Colar o texto dentro do script da área de transferência

Inserir uma tag do Dicionário Tagname

Inserir um nome de janela do aplicativo atual

Inserir um Controle ActiveX através do Navegador de Controle ActiveX

Imprimir o script

É possível aumentar o QuickScript Editor para a área para digitação de scripts. Arraste as bordas
do editor ou clique no botão Maximize para maximizar o editor na tela do monitor.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-15

Comandos QuickScript Editor comuns

Opções do menu Script

O menu Script contém os comandos de janelas comuns New, Save, Print e Exit. Além disso,
o comando Erase é usado para excluir totalmente o script.

Opções do menu Script

Undo: Sua última operação é revertida.


Select All: Todo o script é selecionado.
Cut: Selecionar o texto a ser removido. O texto recortado é excluído do script e copiado para a
área de transferência do Windows. É possível agora colar o texto recortado para outro local neste
script ou dentro de outro script.
Copy: Selecionar o texto a ser removido. O texto é copiado para a área de transferência do
Windows. É possível agora colar o texto copiado para outro local neste script ou dentro de outro
script.

Obs.: Quando o texto é recortado ou copiado, ele é automaticamente escrito na área de


transferência do Windows. Esta informação permanece na área de transferência até que o
comando recortar ou copiar subseqüente seja realizado.

Paste: O conteúdo da área de transferência do Windows é colado em seu script no local onde
está o cursor.
Clear: Todo texto no script é apagado. Entretanto, o script não é excluído de seu aplicativo. Se
selecionar este comando, cancele o editor de script e abra-o novamente: o script abrirá.
Para excluir completamente o script, é necessário usar o comando Script / Erase ou selecionar
todo o script.

Obs.: O comando Script / Erase está disponível para alguns tipos de QuickScript. O texto
excluído não é escrito na área de transferência do Windows.

Find: Ativa a caixa de diálogo Replace.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-16 Módulo 5 – InTouch QuickScripts

Uso da tela Script Editor

Botões de
equivalência e de
operador matemático
IF, THEN, ELSE

AND, OR, NOT

Botões de equivalência e de operador matemático


Botões de equivalência e operador matemático estão localizados na parte inferior do QuickScript
Editor. Os botões são usados para inserir rapidamente a palavra chave, função ou símbolo
exibidos em seu script na posição do cursor.
Tabular/Não tabular texto de Script
Posicione o cursor no início da linha a ser tabulada e pressione a tecla TAB. Para remover a
tabulação, mantenha pressionada a tecla shift e pressione a tecla TAB .
Opções do menu Insert

AS funções podem ser acessadas e inseridas selecionando o comando Insert / Functions no


menu Script Editor. Selecione o nome da categoria de função.
É possível também inserir Tagnames, Windows e controles ActiveX do menu Insert.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-17

Funções incorporadas do Script


O InTouch oferece diversas funções incorporadas que podem ser vinculadas a objetos ou a
botoeiras ou usados em scripts para realizar uma variedade de tarefas.
Por exemplo, reconhecer alarmes, ocultar janelas, mudar o tagname da tendência representada
por uma pena, etc. Estas funções estão acessíveis através do menu principal Insert/Functions
ou clicando nos diversos botões na seção Functions do Script Editor.
Uma vez selecionada uma função em sua respectiva caixa de diálogo, a função e seus
argumentos requeridos são automaticamente colados em seu script no local onde está o cursor.
Após a função ser colada em seu script, destaque o argumento para modificar e inserir o novo
valor. Cada função Script incorporada é explicada no Apêndice G. As funções estão listadas na
ordem dos botões de comando no script editor.

Os botões de comando Functions disponíveis incluem o seguinte:

Função Descrição
All A caixa de diálogo Choose function exibe todas as funções disponíveis
incluindo as funções para cada programa complementar instalado (Recipe
Manager, SPC Pro e SQL Access Manager).
String A caixa de diálogo Choose function é exibida incluindo todas as funções de
string disponíveis.
Math A caixa de diálogo Choose function é exibida incluindo todas as funções de
matemáticas disponíveis.
System A caixa de diálogo Choose function é exibida incluindo todas as funções de
sistema disponíveis. Por exemplo, as funções para iniciar e/ou ativar outro
aplicativo, ler e/ou escrever arquivo e informações de disco, etc.
Complementares A caixa de diálogo Choose function exibe todas as funções disponíveis para
cada programa complementar instalado (Recipe Manager, SPC Pro e SQL
Access Manager).
Diversos A caixa de diálogo Choose function é exibida incluindo todas as funções de
diversas disponíveis. Por exemplo, as funções de alarmes, tendência de
histórico, controles de janela, controles ActiveX, etc.
Quick A caixa de diálogo Choose function é exibida listando os nomes de todos os
QuickFunctions disponíveis a serem chamados pelo script atual.
Ajuda A caixa de diálogo Choose function to Obtain Help for é exibida listando todas
as funções. Clique na função para abrir seu tópico de Ajuda respectivo.

Obs.: Funções de script individuais são descritas na ordem de exibição do botão (script editor)
em Apêndice G, “Funções de script.”

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-18 Módulo 5 – InTouch QuickScripts

Inserção de uma função em um Script


a. Na área Functions do QuickScript Editor, clique no botão de função All.
A caixa de diálogo Choose function é exibida:

b. Clique em Next Page para consultar as funções adicionais.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-19

O restante das funções disponíveis é exibido:

Após selecionar a função, a caixa de diálogo fecha e a função é inserida em seu script na
posição do cursor.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-20 Módulo 5 – InTouch QuickScripts

c. Para acessar rapidamente o Tag Browser, clique duas vezes com o mouse em uma área em
branco na janela QuickScript.

Clique duas vezes


com o mouse para
ativar o Tag Browser

d. Para acessar uma definição de tagname específico, no Dicionário Tagname, insira o tagname
na janela QuickScript e clique duas vezes com o mouse nela.
Inserção de um campo Tagname Dot em um Script
a. Selecione Insert / Tagname: O Tag Browser é exibido no modo de seleção ilimitado.

Obs.: As tags definidas na última fonte de tag acessadas através do Tag Browser serão
exibidas. Para mudar uma fonte de tag, clique na seta Tag Source e selecione uma fonte de
tag diferente na lista. Clique no botão Define Tag Sources para adicionar ou remover uma
fonte de tag da lista Tag Source.

b. Selecione o tagname e clique na seta Dot Field.


c. Selecione o .field para usar o tagname na lista.
d. Clique em OK.
O tagname.field selecionado será inserido em seu QuickScript na posição do cursor.

Dica: Para inserir rapidamente um tagname .field, insira o tagname seguido de um ponto (.) e
clique duas vezes com o mouse à direita do ponto.
A caixa de diálogo Choose field name... abrirá Clique no .field que deseja usar. A caixa de
diálogo fechará e o .field selecionado será automaticamente inserido em seu QuickScript na
posição do cursor.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-21

Seleção de arquivos Dot do Tag Browser


O modo de seleção ilimitado permite a seleção do tagname .fields para a tag selecionada.
Quando uma tag e/ou seu campo Dot é selecionado, é automaticamente inserida no InTouch
QuickScript, no tagname de link de animação ou na caixa de expressão ou outro local de onde
acessou o Tag Browser. Os tagnames definidos em uma fonte de tag local ou remota podem ser
exibidos e selecionados neste modo.
O modo de seleção ilimitado é acessado clicando duas vezes com o mouse em uma área em
branco em uma janela InTouch QuickScript, tagname de link de animação ou caixa expressão ou
uma caixa New Name em branco na caixa de diálogo Substitute Tagnames.
Ele permite também selecionar tags de fontes de tag definidas, ex.: Industrial Application Server.

Seleção de um campo Dot


a. Clique em Special / Scripts / Windows Scripts.
b. Clique duas vezes com o mouse em uma área em branco.
c. Clique na seta Dot Field para abrir a lista de .fields que podem ser associados com o tipo de
tag selecionado. Por padrão, <none> será exibido inicialmente para todos os tipos de
tagnames.
d. Clique no .field na lista para acrescentar a tag selecionada.
Os métodos principais que são exibidos no Tag Browser no modo de seleção ilimitado inclui:
z Clique duas vezes com o mouse no tagname do link de animação tagname ou na caixa
de entrada de expressão.
z Clique duas vezes com o mouse no controle ActiveX ou no tagname Assistente ou na
caixa de entrada de expressão.
z Clique duas vezes com o mouse em uma área em branco em qualquer janela InTouch
QuickScript.
z No editor InTouch QuickScript, selecione o comando Tagname no menu Insert.
z Pressione as teclas ALT + N no editor InTouch QuickScript.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-22 Módulo 5 – InTouch QuickScripts

z Clique duas vezes com o mouse em uma caixa New Name em branco na caixa de
diálogo Substitute Tagnames .
z Clique duas vezes com o mouse na caixa de entrada Tagname.FieldName na caixa de
diálogo Acesso SQL Bind List Configuration.
A barra de status do Tag Browser oferece o status dos seguintes itens para a fonte de tag exibida
no momento:
z O número total de itens no aplicativo
z O nome do item selecionado no momento
z Tagname .field selecionado, se houver
z O Access Name associado à fonte de tag

Obs.: Campos Dot serão implementados em Module 6, “Alarms.”

Localização ou substituição dentro de um Script


a. Selecione Edit / Find.
A caixa de diálogo Replace é exibida:

b. Insira o item a ser localizado (ou substituído) e clique em Find Next.


c. Insira o novo item na caixa Replace with para substituir o tagname antigo e clique em
Replace ou Replace All.
d. A opção Match case localiza as instâncias específicas de letras maiúsculas ou minúsculas.
e. Clique em Cancel quando terminar.

Dica: Se deseja apenas substituir algumas instâncias de um item, clique em Find Next. O
InTouch começará a buscar seu script para o item antigo. Quando o item antigo é localizado, ele
será destacado. Clique em Replace para substituir pelo item novo ou clique em Find Next para
ignorá-lo e continuar a localização. Para substituir todas as ocorrências de um item específico,
clique em Replace All a qualquer momento durante a localização.

Inserção de um nome de janela em um Script

a. Selecione Insert / Window ou clique no ícone Insert Window .


A caixa de diálogo Window Name to Insert exibe os nomes de todas as janelas.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-23

b. Clique no nome da janela desejada. A caixa de diálogo fecha e o nome da janela é


automaticamente inserido em seu script na posição do cursor.
Validação de um Script
a. Clique em Validate para verificar se sua sintaxe de script é precisa. Isto pode ser feito a
qualquer momento.
A validação é realizada automaticamente ao clicar em OK ou Save. Se o sistema encontrar
erros quando validar um script, uma caixa de mensagem de erro correspondente abrirá. Se
nenhuma mensagem for exibida, o script está aceito.
Como salvar um Script
a. Clique em Save para salvar o primeiro script se vários scripts tiverem que ser configurados.
b. Clique em Script / New para escrever um novo script.
Scripts Action, Application e Window não são compatíveis com esta função.
Restauração de um Script
a. Se mudar um script e decidir limpar suas mudanças e restaurar o script original, clique no
botão Restore .
Um script não pode ser restaurado uma vez que ele tenha sido salvo Scripts Application e
Window não são compatíveis com esta função.
Como sair do editor de Script
É possível sair de todos os editores de script clicando em OK ou clivando no botão X no lado
superior direito da barra de legenda.
z Em alguns editores, selecionar Script / Exit fecha o editor script.
z Clicar em OK ou Script / Exit fará com que o editor script feche e o script será validade e
salvo a menos que um erro seja encontrado.
z Clicar em X fará com que o editor de script feche. Qualquer mudança feita será
descartada. Nenhuma validação ocorrerá.
Especificação de uma freqüência de execução Script
Nas caixas While Running/Showing/Down Every 0 Milliseconds, insira o número de
milissegundos que devem ser transcorridos antes do script ser executado. Ao criar um script
Application While Running, scripts Window While Showing, scripts Condition While On True/On
False ou scripts Key e Touch Pushbutton Action While Down, é necessário especificar a
freqüência (em milissegundos) com que serão executados.

Obs.: O WindowViewer fará todas as tentativas possíveis para executar estes tipos de scripts tão
rápido quanto o tempo especificado. Entretanto, o desempenho não pode ser garantido. Além
disso, os scripts não podem nunca executar mais rápido do que o ajuste Tick Interval
especificado nas propriedades WindowViewer.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-24 Módulo 5 – InTouch QuickScripts

IF-THEN-ELSE e comparações
A declaração IF-THEN-ELSE é usada para executar condicionalmente diversas instruções com
base no estado de uma expressão.
Os seguintes operadores de comparação são usados para configurar as condições na declaração
IF-THEN-ELSE.
<Less than
>Greater than
<=Less than ou Equal to
>=Greater than ou Equal to
==Equivalency ("é igual a")
<>Not Equal to
Abaixo há alguns exemplos de scripts complexos usando operadores de comparação.

Obs.: Cada IF deve ter um ENDIF correspondente e um ponto e vírgula deve ser inserido no final
de cada linha de declaração.

Declaração IF-THEN sem cláusula ELSE


IF a <> 0 THEN
a = a + 100;
ENDIF;

Declaração IF-THEN-ELSE com uma cláusula ELSE


IF temp > 500 THEN
Disc = 1;
Real = 43.7;
ELSE
Disc = 0;
Real = 93.4;
ENDIF;

Declaração IF-THEN-ELSE com uma cláusula ELSE IF e sem cláusula ELSE


IF temp > 500 THEN
Disc = Disc * 10;
ELSE
IF temp > 250 THEN
x = y / z;
a = abc + def;
ENDIF;
ENDIF;

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-25

Declaração IF-THEN-ELSE com uma cláusula ELSE IF e uma cláusula ELSE


IF temp > 500 THEN
Disc = Disc - 10;
ELSE
IF temp < 250 THEN
Disc = Disc + 10;
ELSE
Disc = Disc + 50;
Real = 100;
ENDIF;
ENDIF;

Declaração IF-THEN-ELSE com várias cláusulas ELSE IF e uma cláusula ELSE


IF temp > 100 THEN
temphihi = 1
Disc = 50;
ELSE
IF temp > 80 THEN
temphi = 1;
ELSE
IF temp < 10 THEN
templo = 1;
ELSE
IF temp < 30 THEN
templolo = 1;
ELSE
tempok = l;
ENDIF;
ENDIF;
ENDIF;
ENDIF;

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-26 Módulo 5 – InTouch QuickScripts

Declaração IF-THEN-ELSE que testa Condition 1 ou Condition 2


IF (pump1 < 50.0) OR (pump2 < 50.0) THEN
alarm1 = 1;
ELSE
alarm1 = 0;
ENDIF;

Declaração IF-THEN-ELSE que testa Condition 1 e Condition 2


IF (pump1 < 50.0) AND (pump2 < 50.0) THEN
alarm2 = 1;
ELSE
alarm2 = 0;
ENDIF;

Declaração IF-THEN-ELSE que testa equivalência:


IF a > 50 THEN
IF b == 100 THEN
c = 0;
ENDIF;
ENDIF;

Observações – Funções de cálculo


As funções de cálculo são usadas em tipos de tag inteiro ou real.
Nas funções de cálculo, o ResultNumericTags e InputNumericTags podem ser Real ou Integer
e intercambiáveis livremente.
Lembre-se, entretanto, que retornar um resultado não inteiro de uma função para um tagname
Integer resultará em truncar o resultado, ex. a porção à direita do ponto decimal será perdida (não
arredondada).

Observações – Funções de sistema


As funções de sistema são usadas para realizar funções como ativar outro aplicativo Windows,
copiar, excluir ou mover arquivos e reter informações com relação ao seu aplicativo InTouch.
As funções de sistema lêem e escrevem dados de três tipos de arquivo: Informação do Arquivo,
informação de Aplicativo e informação de Sistema .

Observações – Funções WW I/O


As funções relacionadas DDE não devem ser usadas como uma substituição das comunicações
InTouch DDE normais. Sempre que possível, você deve criar uma tag do tipo E/S e enviar os
dados ou obter os dados de um aplicativo externo.
As funções WW DDE têm por objetivo ser compatíveis com aplicativos que não podem se
comunicar usando os Alertas DDE compatíveis com InTouch. Por exemplo, alguns aplicativos são
compatíveis apenas com DDE Executes ou Pokes.
As funções WWExecute(), WWPoke() e WWRequest() usam as mesmas funções Windows
como o Microsoft Visual Basic (DDEML).
Uma única função faz na verdade diversas coisas. Por exemplo, um WWPoke() realizará um DDE
Initiate, um DDE Poke e um DDE Terminate tudo em uma função. Isto torna as funções WW DDE
menos passíveis de erro mas também menos eficientes no processamento de muitas mensagens
DDE. Como uma orientação geral para usar estas funções, evite:

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-27

z Fazer malha destas funções (chamá-las repetidamente).


z Chamar diversas funções DDE na seqüência e no mesmo script.
z Usá-las para chamar tarefas longas e outro aplicativo DDE.
Se o comando DDE executa uma tarefa longa em outro aplicativo, ele pode usar até todo o tempo
de processador disponível. Ainda assim, se ocorrer dificuldade de comunicação, nenhuma perda
de dados ocorre. Se o servidor de E/S não conseguir enviar as mensagens para o InTouch, ele
continuará tentando.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-28 Módulo 5 – InTouch QuickScripts

Importação de QuickScripts
Importar QuickScripts de um aplicativo InTouch para outro pode economizar tempo de
desenvolvimento. Isto permite reutilizar seu QuickScripts criados anteriormente. Para mover
QuickScripts de um aplicativo InTouch para outro, você deve usar o comando File / Import .
a. Feche todas as janelas em seu aplicativo atual.
b. Clique em File / Import.
A caixa de diálogo Import from directory é exibida.

c. Selecione o diretório (pasta) do aplicativo que contém o QuickScripts a ser importado.


d. Clique em OK. A caixa de diálogo Application Data Import Options é exibida:
e. Selecione Condition Scripts.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-29

f. Clique em Select.
A caixa de diálogo Select a Condition Script é exibida:

g. Selecione os QuickScripts a serem importados e clique em OK para fechar a caixa de diálogo.


h. Clique em Import. O sistema começará automaticamente para importar os QuickScripts
selecionados para seu aplicativo atual.

Obs.: Placeholders (como ?d: no exemplo acima) são discutidos no “Conversão de Tagnames
Placeholder” na página 5-30.

Importação de Scripts ActiveX Event


Scripts ActiveX Event são usados para fazer algo acontecer como resultado de um evento de
ActiveX Control. Por exemplo, clicar, clicar duas vezes com o mouse, pressionar o mouse e
pressionar a tecla são eventos típicos usados em muitos controles ActiveX.
Scripts InTouch ActiveX Event são fornecidos para dar suporte às ações de evento . É possível
associar um script de ActiveX Event a cada evento. Executa eventos de controle ActiveX em
Runtime (WindowViewer)
É possível usar funções InTouch QuickScript para lidar com eventos de controle ActiveX, chamar
métodos de controle de chamada e propriedades de controle. É possível executar métodos
ActiveX através de funções InTouch QuickScript. É possível associar um ActiveX Event com um
script ActiveX Event que executa quando o evento ocorre.
Em Runtime, os tagnames e QuickScripts definidos no WindowMaker controlam o comportamento
de seus controles ActiveX.
Quando scripts ActiveX Event são importados de um aplicativo para outro, todos os scripts
ActiveX Event são importados.
Além disso, para que um script ActiveX Event importado funcione corretamente no novo
aplicativo, o mesmo controle ActiveX e o mesmo evento para o qual o script foi criado
originalmente devem também ser usados no novo aplicativo.
Se a janela que contém um controle ActiveX é fechada, seus scripts ActiveX Event ou qualquer
outro InTouch QuickScripts que contenha funções de script associados com o controle ActiveX
não executarão corretamente.

Obs.: Scripts de controles ActiveX e de evento são apresentados no Apêndice D deste manual e
discutidos em detalhes na aula InTouch Avançado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-30 Módulo 5 – InTouch QuickScripts

Conversão de Tagnames Placeholder


Quando um QuickScript é importado dentro de um novo aplicativo, todos os tagnames com
referência no QuickScript são importados com ele, mas eles não são adicionados ao seu
Dicionário Tagname. Ao invés disto, eles são automaticamente convertidos em tagnames
placeholder .
Você deve converter os tagnames placeholder a fim de usá-los. Eles não estão definidos no
momento no Dicionário Tagname do aplicativo, será solicitado que define cada um deles.
Quando os tagnames em um QuickScript importado são convertidos em tagnames placeholder,
três caracteres de índice são adicionados ao começo de cada tagname. Por exemplo, quando um
tagname discreto é importado, o tagname é prefixado com os seguintes três caracteres: ?d:.
Quando um tagname de 30, 31 ou de 32 caracteres de comprimento é importado, os três
caracteres de indexação ainda serão adicionados ao início de cada tagname. Entretanto, a
inclusão destes três caracteres não truncarão o comprimento de seu tagname existente. Por
exemplo, para os tagnames de placeholder somente um tagname de 32 caracteres é aumento
para 35 caracteres.
Estes três espaços adicionais são alocados apenas para tagnames placeholder. Este aumento do
comprimento do tagname não é compatível com os tagnames padrões.

Script importado que contém


placeholders

Placeholders
conversíveis

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-31

Quando selecionar um script para ser editado e clicar em Convert, a caixa de diálogo
Convert é exibida:

Será solicitado que defina qualquer tag que não esteja em seu dicionário tagname no
momento.

Obs.: A conversão de tagname é demonstrada no seguinte laboratório.

Impressão do editor de script

Um ícone de Impressão está disponível no editor de script para impressão do script atual. É
necessário que tenha uma impressora conectada à sua rede. A função imprimir imprimirá todas
as condições de scripts atribuídas.

Impressão de Scripts
Todos os scripts em cada categoria InTouch QuickScript podem ser impressos.
a. No WindowMaker, clique em File / Print.
A caixa de diálogo WindowMaker Printout é exibida:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-32 Módulo 5 – InTouch QuickScripts

Selecione quais entradas de banco de dados, janelas e/ou scripts serão impressos.

b. Para imprimir scripts de janela, selecione Windows e, a seguir, Window Scripts.


c. Selecione All na área Which Windows? para imprimir os scripts de todas as janelas no
aplicativo.

d. Selecione a opção Selected para imprimir o script de uma janela específica.


A caixa de diálogo Windows to Print é exibida:

e. Selecione as janelas cujo script deseja imprimir e clique em OK.

Obs.: Se selecionar uma janela que não tem um script vinculado a ele, o seguinte cabeçalho
será impresso no relatório: Window Scripts for Window Name: none.

f. Para imprimir todos os scripts para um tipo QuickScript, selecione o tipo de QuickScript e
clique em OK.
g. Após escolher todas as seleções de impressão, clique em Next.

Treinamento Wonderware
Seção 2 – Como trabalhar com o editor Script 5-33

h. A janela Save Application Data to File é exibida:

i. Selecione uma saída para a impressora ou para o arquivo de texto.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-34 Módulo 5 – InTouch QuickScripts

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 3 – QuickScripts – Referência rápida 5-35

Seção 3 – QuickScripts – Referência rápida

Introdução
Neste guia, a funcionalidade básica de cada tipo de QuickScript que pode ser criado é resumida.

QuickScripts

Tipo de Script Descrição


Aplicativo Scripts vinculados a todo um aplicativo
Janela Scripts vinculado a uma janela específica
Tecla Scripts vinculado a uma tecla ou combinação específica de teclas no
teclado
Ação Touch Scripts associados ao objeto vinculado a um link de animação
Touch Link - Touch Pushbutton - Action
Mudança de dados Scripts vinculados a um tagname e/ou tagname.field apenas
Condição Scripts vinculados a um tagname discreto ou expressão
ActiveX Event Scripts que executam eventos de controle ActiveX em Runtime
QuickFunctions Scripts criados que podem ser chamados de outros InTouch QuickScripts
ou de expressões de link de animação. QuickFunctions podem ser
síncronos ou assíncronos, enquanto todos os outros tipos são apenas
síncronos

Scripts de aplicativo
Os scripts de aplicativo são vinculados a todo o aplicativo. Eles podem ser usados para iniciar
outros aplicativos, criar simulações de processo, calcular variáveis, etc.

Tipo de Script Descrição


On Startup Executa uma vez quando o aplicativo é iniciado.
While Running Executa repetidamente na freqüência especificada enquanto o aplicativo
estiver em execução.
On Shutdown Executa uma vez quando o aplicativo é fechado.

Scripts de janela
Os scripts dejanela funcionam dentro de uma janela específica.

Tipo de Script Descrição


On Show Executa uma vez quando a janela é aberta inicialmente.
While Showing Executa repetidamente na freqüência especificada enquanto a janela
estiver em exibição.
On Hide Executa uma vez quando a janela é ocultada.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-36 Módulo 5 – InTouch QuickScripts

Scripts Touch Action


Os scripts Touch Action são semelhantes ao Key Scripts, exceto por eles serem associados a um
objeto vinculado a um Touch Link - Touch Pushbutton - Action. O editor de script é acessado
através da caixa de diálogo de seleção de link de animação. Eles são executados quando o
operador clica ou pressiona o objeto ou botão atribuído ao link.

Tipo de Script Descrição


On Left Click/Key Down Executar uma vez quando a tecla ou o botão é pressionado inicialmente
While Left/Key Down Executar repetidamente na freqüência especificada enquanto a tecla ou
o botão é mantido pressionado.
On Left/Key Up Executar uma vez quando a tecla ou o botão é liberado.
On Left Double Click Executar quando o botão do mouse é clicado duas vezes
On Right Click Executar uma vez quando a tecla ou o botão é pressionado inicialmente
While Right Down Executar repetidamente na freqüência especificada enquanto a tecla ou
o botão é mantido pressionado.
On Right Up Executar uma vez quando a tecla ou o botão é liberado.
On Right Double Click Executar quando o botão do mouse é clicado duas vezes
On Center Click Executar uma vez quando a tecla ou o botão é pressionado inicialmente
While Center Down Executar repetidamente na freqüência especificada enquanto a tecla ou
o botão é mantido pressionado.
On Center Up Executar uma vez quando a tecla ou o botão é liberado.
On Center Double Click Executar quando o botão do mouse é clicado duas vezes
On Mouse Over Executar o script uma vez quando o cursor passar sobre um objeto

Scripts de troca de dados


Scripts de troca de dados são vinculados a um tagname e/ou tagname.field apenas Eles são
executados uma vez quando o valor de um tagname ou de um tagname.field muda com um valor
maior do que o valor deadband definido no Dicionário Tagname.

Scripts de condição
Condition Scripts são vinculados a uma tag discreta ou uma expressão que seja igual a
Verdadeiro ou Falso. Este tipo de script é o tipo de script mais usado. Expressões discretas que
contenham tagnames analógicos também podem ser usadas.

Tipo de Script Descrição


On False Executa uma vez quando a condição faz a transição para falso.
While False Executa repetidamente quando a condição é falso.
On True Executa uma vez quando a condição faz a transição para verdade.
While True Executa repetidamente quando a condição é verdade.

Scripts ActiveX Event


A maioria dos controles ActiveX têm eventos associados a eles. Por exemplo, clicar, clicar duas
vezes com o mouse, pressionar o mouse e pressionar a tecla são eventos típicos usados em
muitos controles ActiveX. Scripts InTouch ActiveX Event suportam ações de eventos. É possível
associar um script ActiveX Event a cada evento. Executa eventos de controle ActiveX em
Runtime (WindowViewer).

Treinamento Wonderware
Seção 3 – QuickScripts – Referência rápida 5-37

QuickFunctions
QuickFunctions são scripts que podem ser escritos ou chamados de outros scripts ou expressões.
Eles são armazenados no aplicativo no qual foram criados. Chamar QuickFunctions de outros
scripts ou expressões permite criar um script uma vez e reutilizá-lo. Tipos de dados válidos
QuickFunction são os seguintes.

Data Type Descrição


Integer Usado para passar uma variável inteira, tagname ou valores constantes
Real Usado para passar uma variável real, tagname ou valores constantes
Discrete Usado para passar uma variável discreta, tagname ou valores constantes
Message Usado para passar uma variável string, tagname ou valores constantes de
até 131 caracteres

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-38 Módulo 5 – InTouch QuickScripts

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-39

Laboratório 5 – Uso do InTouch QuickScripts


Introdução
Neste laboratório, você criará uma ampla variedade de funções de sistema personalizados e
automatizados usando script InTouch.

Objetivos
Ao final deste laboratório, você deverá ter uma compreensão de como importar um script básico,
do processo de conversão de tag, de animação de botoeira e de como escrever scripts
personalizados. Você também deverá ter uma compreensão sobre como os scripts podem afetar
um aplicativo.
Para isto, as seguintes tarefas devem ser realizadas com sucesso:
z Importar a janela Hopper
z Converter as tags de janela Hopper
z Animar as botoeiras da janela Hopper
z Criar scripts de condição
z Criar script GATE CONTROL Window
z Usar funções QuickScript
z Escrever um script de relatório personalizado

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-40 Módulo 5 – InTouch QuickScripts

Importação da janela Hopper


1. Importe a janela Hopper usando o comando File / Import.
2. Selecione o diretório apropriado. Seu instrutor fornecerá o local do arquivo. Quando o
diretório é selecionado, a caixa de diálogo Windows to Import é exibida.

3. Selecione a janela Hopper.


4. Clique em OK e, em seguida, em Import.
A janela Hopper é exibida no Application Explorer:

5. Clique duas vezes com o botão do mouse na janela Hopper.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-41

A janela Hopper é exibida no WindowMaker:

As seguintes informações descrevem os gráficos na janela Hopper.


z O gráfico hopper tem 419 pixels de altura.
z O indicador azul (acima à direita) é um slider de valor que posiciona valores de 0-100 na
tag HopperSetPoint quando ele é movido para cima e para baixo ao lado do hopper.
z Uma tela de valor com um link de localização vertical exibe o valor atual do
HopperSetpoint.
z O indicador vermelho (abaixo à direita) tem um link de localização vertical no indicador e
na tela de valor. Eles são atribuídos ao tag HopperLevel.
z O hopper tem um polígono na frente com um link de preenchimento percentual atribuído
para preencher 0-100% quando a tag HopperLevel aumenta ou diminui (0-100).

z Os rodízios de transportador ( , ) têm links atribuídos a $Second e a tag discreta


de memória Conveyor_on. Eles serão exibidos para girar quando Conveyor_on for 1.
z O material de preenchimento é vinculado de forma muito semelhante aos rodízios do
transportador.
z A botoeira Conveyor_on Toggle totalmente vinculada nos permite ajustar e reinicializar
na tag Conveyor_on.
z Botões Gate Control, Calculator e Report.
Os scripts de botões e outros elementos de janela habilitarão mais controle sobre os
gráficos existentes, como aumentar o nível de hopper com um clique, disparar a abertura
e o fechamento do gate de hopper, etc.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-42 Módulo 5 – InTouch QuickScripts

Conversão de tags da janela Hopper


6. Pressione a tecla F2 para selecionar todos os objetos.

7. Clique em Special / Substitute Tags.


8. A caixa de diálogo Substitute Tagnames… é exibida. As tags importadas são consideradas
Placeholders pelo InTouch e contêm os valores placeholder no início de tagnames.

9. Clique em Convert.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-43

10. Clique em Local.

11. Os valores Placeholder de tags são removidos. Clique em OK.

12. Uma vez que as tags não existem ainda, o InTouch solicitará que as defina. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-44 Módulo 5 – InTouch QuickScripts

13. Defina cada tag da seguinte maneira. Clique em Save, seguido por Close após ajustar cada
atributo de tag. A definição da tag Conveyor_on será semelhante à figura a seguir:

Tag Tipo Valor inicial Valor mín Valor máximo


Conveyor_on Memory Discrete Desativado N/D N/D
Gate Memory Discrete Desativado N/D N/D
GateCount Inteiro de memória 0 0 100
HopperLevel Real de memória 0 0 100
HopperSetpoint Real de memória 0 0 100

Após todas as tags serem definidas, a caixa de diálogo Substitute Tags é reexibida.
14. Clique em OK para sair da caixa de diálogo e salve a configuração da tag.

Animação das botoeiras da janela Hopper


15. Clique duas vezes com o mouse no botão HopperLevel = 0; .

A caixa de diálogo Animation Selection é exibida.


16. Selecione o link de animação Touchlinks - Touch Pushbutton - Action. Touch -> Action
Script Editor é exibida.
17. Certifique-se que Condition Type = On Left Click/Key Down esteja selecionado. Este script
fornece uma ação após o botão ser pressionado.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-45

18. Configure o Action Script como segue:

19. Clique no botão Validate para verificar qualquer erro.


20. Clique em OK para sair do editor de script e salvar o script.

21. Clique em OK para fechar a caixa de diálogo Animation Selection.


22. Clique duas vezes com o mouse no botão HopperLevel + 10.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-46 Módulo 5 – InTouch QuickScripts

A caixa de diálogo Animation Selection é exibida.


23. Selecione o link de animação Touchlinks - Touch Pushbutton - Action. O editor Touch ->
Action Script é exibido.
24. Use Edit / Clear para remover o script anterior.

25. Insira o script exibido na figura a seguir.


26. Clique em Validate.

Use para adicionar o tagname

Use símbolos
matemáticos
Use os botões IF,
THEN, ELSE e
ENDIF

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-47

27. Selecione o tipo de condição: While Left/Key Down.


28. Insira o script exibido na figura a seguir.

29. Pressione Validate após cada script.


30. Clique em OK para sair do editor Touch -> Action Script.
31. Clique em OK para sair da caixa de diálogo Animation Links Selection .
32. Alterne para Runtime.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-48 Módulo 5 – InTouch QuickScripts

33. Clique no botão HopperLevel + 10 .


O nível deve aumentar em 10 e o indicador vermelho e a tela de texto deve mudar.
34. Clique no botão HopperLevel = 0 .
O botão deve reinicializar o nível de hopper como 0.

35. Retorne ao modo Development.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-49

Criação de scripts de condição


Para direcionar e animar o preenchimento do Hopper, scripts de condição são necessários para
mudar o valor do Hopper_Level e para controlar quando este script operará.
O primeiro script de condição aumenta a tag HopperLevel em 1 a cada décimo de segundo (100
milissegundos) em que a tag Conveyor_on é TRUE.
36. Expanda a lista Scripts clicando no sinal + em frente a Scripts.
37. Clique com o botão direito do mouse em Scripts / Condition e selecione New.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-50 Módulo 5 – InTouch QuickScripts

O editor Condition Scripts é exibido.


38. Nomeie o novo Condition Conveyor_on.
39. Configure o Condition Script como segue:

40. Clique em Validate.


41. Clique em OK para salvar seu Condition Script.
42. Clique em OK para sair da caixa de diálogo Animation Links Selection .

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-51

43. Alterne para Runtime e clique no botão Conveyer_On Toggle para testar o script.
Quando o botão Conveyor_On Toggle é pressionado, a imagem do transportador anima-se
e o nível de preenchimento muda. Use o botão HopperLevel = 0; para reinicializar o nível de
preenchimento do transportador.

O transportador precisa ser acionado automaticamente quando o valor HopperLevel é menor


que HopperSetpoint, depois desliga quando o valor HopperLevel é igual ou superior a
HopperSetpoint.
Um conjunto de scripts de condição On True e On False para a Condição:
HopperLevel < HopperSetpoint controla o estado Ativado/Desativado do transportador.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-52 Módulo 5 – InTouch QuickScripts

44. Crie novos Scripts de Condição com os tipos On True e On False como exibido nas figuras a
seguir. Clique em Validate após cada um.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-53

Agora, quando o Transportador estiver executando, o HopperLevel aumenta, mas excederá o


nível de 100.

Excede 100

45. Crie ou modifique um script de condição para evitar que a tag HopperLevel aumente além de
100.
Observe que há diversas soluções possíveis. Após concluir o script, seu instrutor fornecerá a
resposta ideal.

Dica: Modifique um script existente ao invés de criar um script de condição novo.

46. Alterne para Runtime e teste o script.


O transportador deve parar quando o HopperLevel alcançar 100.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-54 Módulo 5 – InTouch QuickScripts

Criação do script GATE CONTROL Window


A janela Hopper inclui um botão indicado GATE CONTROL. Quando o botão é clicado, ele alterna
a tag Gate True / False, mas nada mais acontece neste momento.
O gráfico gate na parte inferior do hopper tem um link de localização horizontal atribuído à tag
inteira de memória, GateCount.
Quando o GateCount é igual a 0 (zero), o gate é exibido para ser fechado.
Quando o GateCount é igual a 30, o gate é exibido para ser aberto.
Precisamos criar um script que aumenta o GateCount até 30 quando Gate é TRUE, e Reduz
GateCount para 0 (zero) quando Gate é FALSE.
Somente podemos visualizar o hopper quando a janela Hopper está aberta, então precisamos
inserir um script de janela While Showing.
47. Expanda o ícone Windows com o Application Explorer.
48. Clique com o botão direito do mouse Hopper e selecione Window Scripts.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-55

49. Insira o script exibido na figura a seguir.

50. Valide o script.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-56 Módulo 5 – InTouch QuickScripts

51. Continue a edição do script exibido na figura a seguir para um segundo tipo de condição.

52. Clique em Validate, seguido por OK para fechar o editor Window Script.
53. Alterne para Runtime e teste o script. Quando a janela é aberta, todos os níveis e valores
devem ser ajustados como 0.
54. Clique no botão Gate Control .
O gráfico gate deve ser exibido para o slide aberto e fechado.
A HopperLevel não diminui quando o gate é aberto.
55. Alterne para o modo Development.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-57

56. Escreva um script para fazer o valor HopperLevel diminuir para 0 e ficar nesse valor quando
o gate é aberto.
Há diversas soluções possíveis. Após concluir o script, seu instrutor fornecerá a resposta
ideal.

Dica: Não baseie o script na tag GateCount.

A figura a seguir fornece uma dica da solução ideal.

57. Alterne para Runtime e teste o script.


z O transportador deve parar quando o HopperLevel alcançar 100.
z Quando o gate é aberto, o nível deve diminuir.
z Quando o gate é deixado aberto, HopperLevel diminui para 0 e o gate deve fechar
automaticamente.
z Fechar o gate antes do HopperLevel atingir 0 deve interromper a redução do valor do
nível.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-58 Módulo 5 – InTouch QuickScripts

Uso das funções QuickScript


O InTouch tem a habilidade de trabalhar com outros programas e para verificar se eles estão
executando ou não.
O script a seguir usa a função InfoAppActive QuickScript em um script para verificar se o
programa Calculator está executando. Se não estiver, a função StartApp iniciará. Se estiver, a
função ActivateApp trará o programa para o primeiro plano.
58. Selecione o botão Calculator na janela Hopper e crie um Touch Action Script como exibido
na figura a seguir:

59. Valide o script e alterne para Runtime.

Treinamento Wonderware
Laboratório 5 – Uso do InTouch QuickScripts 5-59

60. Clique no botão Calculator. Se o Windows Calculator não estiver executando, ela aparecerá
na tela. Se estiver executando, mas não no primeiro plano, ela é exibida no primeiro plano.

61. Feche a janela Calculator e alterne para o modo Development.

Escrever um script de relatório personalizado


Gostaríamos de ver um relatório do status HopperLevel quando o botão REPORT é clicado.
Este relatório precisa conter:
z A Data e Hora em que o botão foi clicado
z O status do transportador e do gate
z O HopperLevel e HopperSetpoint atuais

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


5-60 Módulo 5 – InTouch QuickScripts

62. Insira ou verifique o script ACTION a seguir para o botão rotulado REPORT.
DIM ConveyorStatus AS MESSAGE;
IF Conveyor_on == 1 THEN
ConveyorStatus = "Conveyor Running";
ELSE
ConveyorStatus = "Conveyor Stopped";
ENDIF;

DIM GateStatus AS MESSAGE;


IF Gate == 1 THEN
GateStatus = "Gate is Open";
ELSE
GateStatus = "Gate is Closed";
ENDIF;

DIM ReportHeader AS MESSAGE;


ReportHeader = "HopperLevel report for " + $DateString + ", " + $TimeString;

DIM ReportLine1 AS MESSAGE;


ReportLine1 = Text(HopperLevel, "HopperLevel is currently #");

DIM ReportLine2 AS MESSAGE;


ReportLine2 = Text(HopperSetpoint, "HopperSetpoint is currently #");

FileWriteMessage( "C:\HopperReport.txt", -1, ReportHeader, 1);


FileWriteMessage( "C:\HopperReport.txt", -1, ConveyorStatus, 1);
FileWriteMessage( "C:\HopperReport.txt", -1, GateStatus, 1);
FileWriteMessage( "C:\HopperReport.txt", -1, ReportLine1, 1);
FileWriteMessage( "C:\HopperReport.txt", -1, ReportLine2, 1);
FileWriteMessage( "C:\HopperReport.txt", -1, " ", 1);

63. Alterne para Runtime e clique no botão Report.


64. Abra o arquivo HopperReport do local especificado usando o Notepad.

65. Feche o arquivo e alterne para o modo Development.

Treinamento Wonderware
Módulo 6

Alarmes
Seção 1 – Alarmes e eventos 6-3
Seção 2 – Objeto de alarme distribuído 6-23
Laboratório 6–Criação de alarmes e eventos 6-39
6-2 Módulo 6 – Alarmes

Objetivos do módulo
z Apresentar os diferentes tipos de alarme e de evento
z Discutir o reconhecimento de alarmes e como os alarmes podem ser inibidos
z Adicionar a funcionalidade alarme ao aplicativo

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-3

Seção 1 – Alarmes e eventos

Objetivos da seção
z Explicar e definir Alarmes e Eventos
z Identificar os diferentes tipos de alarme e de eventos e adicionar a funcionalidade
alarme ao aplicativo

Esta seção explica e define os diferentes tipos de alarmes e de eventos e como adicionar a
funcionalidade de alarme aos aplicativos.

Introdução
O InTouch tem dois tipos de comunicações para informar os operadores sobre a atividade do
processo: Alarmes e eventos.
Alarmes representam advertências de condições de processo que podem causar problemas e
requerer uma resposta do operador.
Um alarme típico é disparado quando um valor de processo excede um limite definido pelo
usuário, como um valor analógico excedendo um limite alto. Isto dispara um estado de alarme não
conhecido que pode ser usado para notificar o operador sobre um problema. Uma vez que o
operador reconhece o alarme, o sistema retorna um estado reconhecido.
O InTouch pode ser configurado para requerer que um alarme seja reconhecido mesmo se a
condição que causa o alarme tenha passado. Isto garante que um operador esteja ciente dos
eventos que causaram um estado de alarme temporário que retornou ao normal.
Eventos representam mensagens de status de sistema normal e não requerem uma resposta do
operador. Um evento típico é disparado quando uma determinada condição do sistema ocorre,
como um operador conectar-se ao InTouch. Se configurado para isto, o InTouch pode armazenar
um evento no banco de dados de alarme e imprimí-lo em uma impressora.
Qualquer tag pode ser configurada para fazer a monitoração de evento durante a definição da tag
no Dicionário Tagname. Quando definir um tagname para fazer monitoração do evento, uma
mensagem de evento é armazenada no sistema toda vez que o valor da tag muda. A mensagem
de evento armazena como o valor mudou, se a mudança foi iniciada pelo operador, E/S, scripts
ou pelo sistema.

Conceitos de alarme
Há vários termos e conceitos que geralmente se aplicam a alarmes, independente de um sistema
em particular no qual eles são usados ou como eles são implementados.
Alarms: Em geral, um alarme é um tipo específico de condição – em particular um alarme é uma
condição anormal.
A intenção de um alarme é sinalizar que algo está errado ou que um estágio em particular do
processamento foi atingido. Por exemplo, um alarme pode indicar que uma caldeira excedeu o
limite de temperatura seguro.
Priority: Um nível de prioridade associado ao alarme para indicar a severidade da situação ou da
condição.
No caso do limite de temperatura da caldeira, isto pode ser muito grave, requerendo atenção
imediata para proteger a vida e a propriedade. Por outro lado, em outras situações (menos
extremas) a severidade pode ser mínima.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-4 Módulo 6 – Alarmes

A severidade de um alarme geralmente depende de circunstâncias – a aplicação de fábrica, a


natureza do equipamento, segurança, disponibilidade de sistemas backup, custos potenciais de
danos ou de tempo parado, etc.
Sub-states: Uma condição de alarme pode também ter sub-condições, neste caso denominadas
de alarme de estado múltiplo.
Por exemplo, um alarme analógico geralmente tem diversos limites, com Alto e Baixo limitando a
faixa de operação normal e HiHi e LoLo identificando os desvios extremos do normal.
O nível de temperatura da caldeira mencionado acima pode estar na condição de alarme por
causa de qualquer um destes sub-estados. Ele pode também transitar por quaisquer dois sub-
estados ao mesmo tempo em que continua na condição de alarme geral.
Events: Um evento é definido como uma ocorrência detectável, que pode ou não estar associada
a um alarme.
Uma transição para dentro ou fora de um estado de alarme constitui um tipo de evento. Um
evento pode também identificar uma ação do operador, uma mudança na configuração do
sistema ou algum tipo de erro de sistema.
É importante distinguir entre uma condição de alarme e um evento. Uma condição pode persistir
por minutos, horas, dias ou semanas. Um evento é momentâneo; ele ocorre e acaba
imediatamente. Um alarme é uma condição; uma notificação de alarme é um evento.
Acknowledgment: Um dos objetivos principais de um alarme é alertar alguém sobre uma
condição.
A pessoa ou sistema deve então reconhecer o alarme, indicando que ele foi visto.
Reconhecimento (AcK) é diferente do tópico de tomar uma ação corretiva, que pode ou não
acontecer imediatamente. Ele também é diferente da questão sobre a condição de alarme
retornar ao normal – o que pode acontecer por conta própria, mesmo sem uma intervenção
externa.
Reconhecimento simplesmente indica que alguém observou uma ocorrência de alarme. Um
alarme de alta ou média prioridade requer reconhecimento, enquanto que um alarme de
prioridade muito baixa não requer.
Embora a condição que gerou o alarme pode desaparecer (por exemplo, uma elevação muito alta
de temperatura e então ela abaixa novamente), o próprio alarme não é considerado "resolvido"
até que ele seja reconhecido.
Groups: Alarmes podem ser organizados em grupos para facilitar rastreamento e gestão. Estes
grupos podem representar áreas diferentes da fábrica, equipamentos, responsabilidade do
operador ou uma funcionalidade específica. Os grupos podem também ser organizados em
hierarquia de grupos parentes e subgrupos.
Areas: Fábricas são geralmente organizadas em áreas, representando uma localização física,
responsabilidade do operador, fases do processo, tipos de equipamento, etc. Como os grupos, as
áreas podem ser hierárquicas – divididas em áreas principais e sub-áreas.
Entretanto, áreas devem ser mencionadas separadamente dos grupos, porque algumas fábricas
fazem uma distinção entre os dois.

Obs.: O Sistema de Alarme Distribuído não oferece suporte explícito para Áreas. Entretanto,
Grupos de alarme podem ser usados para dividir os alarmes em grupos que correspondem às
Áreas.

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-5

Tipos de alarmes
O InTouch classifica alarmes em diversas categorias gerais com base em suas características.
Estas categorias são conhecidas como Classe e Tipo.
O Sistema de Alarme Distribuído categoriza todos os alarmes em cinco condições gerais:
Discreta, Desvio, Taxa de mudança, SPC e Valor.
A tabela abaixo resume a condição de alarme para os dois sistemas.

Condição de alarme Classe distribuída Tipo distribuído


Discreta DSC DSC
Desvio – Grave DEV MAJDEV
Desvio – Advertência DEV MINDEV
Taxa de mudança ROC ROC
SPC SPC SPC
Valor – LoLo VALUE LOLO
Valor – baixo VALUE LO
Valor – Alto VALUE HI
Valor – HiHi VALUE HIHI

Cada alarme pode ser associado a uma tag InTouch. Dependendo do tipo de tag, é possível
definir uma ou mais classes ou tipos de alarme para ela.
Condições de alarme são definidas dentro do Dicionário Tagname.

Tipos de evento
O InTouch também classifica eventos em diversas categorias gerais com base em suas
características. Estas categorias são conhecidas como Tipos de Eventos.
A tabela abaixo resume a classificação de eventos.

Evento Condição
ACK Alarme foi reconhecido.
ALM Ocorreu um alarme.
EVT Um evento de alarme ocorreu.
RTN Tagname retornou de um estado de alarme para um estado normal.
SYS Um evento de sistema ocorreu.
USER Mudou o $operador.
E/S O valor tagname foi violado a partir de um cliente DDE.
LGC Um QuickScript modificou o valor tagname.
OPR O operador modificou o valor de tag usando o Value Input.

Os primeiros seis eventos listados são configurados automaticamente quando uma


armazenagem de evento é habilitada. Os três restantes devem ser definidos pelos usuários para
cada tagname no Dicionário Tagname.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-6 Módulo 6 – Alarmes

Configuração do alarme tagname


O In Touch é compatível com a definição e configuração de alarme para cada tag definida no
Dicionário Tagname. Por padrão, todas as tags têm os alarmes desabilitados.
O conceito básico é que qualquer tag pode ser configurada como compatível com alarme,
especificando o tipo de s alarme e os limites selecionados pelo usuário. Para tal tag, quando o
valor muda, a lógica de alarme é chamada.
Esta lógica de alarme é uma sub-rotina InTouch que verifica o tipo de alarme, compara o novo
valor aos limites indicados e determina se a tag está em uma condição compatível com alarme.
Qualquer transição de estado é comunicada ao Sistema de Alarme Distribuído.
Há Dois tipos básicos de alarme (ou classes) definidas no InTouch. Eles são subdivididos em
diversos subtipos de alarme adicionais.
Discrete: Um alarme discreto corresponde a uma tag discreta. É possível configurar se o estado
de alarme corresponde ao estado VERDADE ou ao estado FALSO de uma tag discreta e a
prioridade de alarme associada.
A caixa de diálogo de configuração para uma tag discreta é a seguinte.

Selecione
SelecioneDetails
Details&&
Alarms
Alarmspara
paraexibir
exibiraa
configuração
configuraçãode
de
alarme
alarme

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-7

A caixa de diálogo de configuração para uma tag analógica é a seguinte.

Analog: Um alarme analógico corresponde a uma tag inteira ou real (ponto flutuante). Dentro do
tipo analógico há diversas classes de alarme.
z Value: O valor atual é comparado a um ou mais limites. Se o valor exceder o limite, o
estado de alarme é declarado. É possível configurar individualmente valores e prioridades
para limite "LoLo", limite "Lo", limite "Hi" e limite "HiHi'" e indicar se cada limite deve ou
não ser usado. A Faixa de Banda de Valor estabelece quanto o valor deve mudar antes
que seja removido do alarme.
z Deviation: O valor atual é comparado ao valor meta e o valor absoluto da diferença é
comparado a um ou mais limites, expressos como um percentual da faixa do valor
tagname – ou seja, a diferença total entre os valores permitidos configurados máximo e
mínimo. É possível configurar individualmente valores e prioridades para limite "Desvio de
Alarme" e "Desvio Grave" e indicar se cada limite deve ou não ser usado.
Valores podem também ser configurados para uma "Faixa de Banda de Desvio," também
expressa como um percentual da faixa da tag. Isto controle o percentual que o valor de
tag deve cair antes que seja removido do alarme.
z Rate-of-Change: O valor atual e o valor anterior são usados neste cálculo, juntamente
com o tempo atual e o tempo da atualização anterior. Se o valor absoluto da taxa de
mudança excede o limite, o estado de alarme é declarado. É possível configurar o valor e
a prioridade para o limite ROC e se o limite deve ou não ser usado.
O limite é expresso como um percentual da faixa do valor de tag, que pode ser por segundo, por
minuto, ou por hora.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-8 Módulo 6 – Alarmes

Prioridades de alarme
Cada alarme configurado no InTouch tem um valor de prioridade associado a ele. Este valor
representa a severidade de um alarme e pode variar de 1 a 999 sendo que 1 é o mais severo.
Ao criar faixas de alarme usando estas prioridades e atribuindo alarmes a cada uma, é possível
filtrar facilmente alarmes críticos dos não-críticos. É possível também criar link de animação,
scripts de reconhecimento e visualização e impressão com filtro tudo baseado na faixa de
prioridade.
Por exemplo, se uma fábrica de processo determinou que ela precisa de quatro níveis de
severidade, ela pode estabelecer faixas como descritas abaixo.

Severidade do alarme Faixa de prioridade


Crítico 1 – 249
Grave 250 – 499
Advertência 500 – 749
Informativo 750 – 999

Quando os engenheiros da fábrica criam as tags InTouch e as condições de alarme, cada alarme
são atribuídos a um destes níveis de severidade escolhendo um número de prioridade dentro da
faixa. Quando as faixas são configuradas, os operadores da fábrica podem exibir e imprimir
facilmente somente determinados níveis de severidade.

Grupos de alarme
A cada alarme InTouch é atribuído um Grupo de Alarme lógico. Cada Grupo de Alarme pode ser
definido pelo usuário, deve ter um nome exclusivo e pode ser organizado em hierarquias de até
32 níveis de detalhamento. Os grupos oferecem um modo de categorizar alarmes com base em
uma organização, layout de fábrica ou qualquer outra métrica. Grupo de Alarme são úteis para
filtrar telas de alarme, Impressoras de alarme e scripts de reconhecimento.
Cada tag é associado a um Grupo de Alarme. Se não associar um Grupo de Alarme a uma tag, o
InTouch o associa automaticamente com o grupo raiz, $System por padrão. Qualquer Grupo de
Alarme pode ter tags e outros nomes de Grupo de Alarme associados a ele.
Grupo de Alarme são organizados em uma estrutura de árvore hierárquica com o grupo raiz,
$System, no alto da árvore. Todos os Grupos de Alarme definidos automaticamente tornam-se
descendentes do grupo raiz.
Esta árvore pode ter até 32 níveis. Cada Grupo de Alarme pode ter um máximo de 32 subgrupos.
Cada subgrupo pode ter uma máximo de 32 subgrupos e assim por diante, até que o máximo de
32 níveis seja atingido.

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-9

Esta ilustração exibe apenas Grupos de Alarme, não tagnames dentro de cada grupo. Este
conceito de árvore é semelhante à estrutura de diretório do Windows Explorer, onde um diretório
pode conter outros sub-diretórios que são semelhantes a grupos e nomes de arquivos que são
semelhantes a tagnames.

Nomes de Grupos de Alarme são limitados a 31 caracteres e devem começar com um caractere
alfanumérico A-Z ou a-z. Ao mesmo tempo, o nome do Grupo não pode ter espaços no string. Por
exemplo, um nome válido é "AlarmGroup#1-23" enquanto que um exemplo de um nome inválido
é "Alarm Group # 1 - 23".
O Sistema de Alarme Distribuído usa também estes grupos como base da lista Grupos de Alarme.

Obs.: Enquanto que os Grupos de Alarme não contam como tags com a licença InTouch, eles
contam como tags no banco de dados. Portanto, o número total de Grupos de Alarme mais os
tagnames reais não podem exceder 61.402. Além disso, grupos não podem ser criados se o
WindowViewer estiver executando.

Advertência: Números grandes de grupos de alarme (centenas ou milhares) podem causar


problemas de desempenho. Para mais informações, consulte o Guia Implantação de Alarme.

Criação de um Grupo de Alarme


a. Clique em Special / Alarm Groups no menu principal WindowMaker.
A caixa de diálogo Alarm Groups é exibida:

Os botões Modify e Delete não estão disponíveis até que um Grupo de Alarme seja definido.
O Grupo de Alarme $System não pode ser modificado ou excluído.

Obs.: Durante a definição de tagnames no Dicionário Tagname, é possível criar Grupos de


Alarme e associá-los a qualquer tag.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-10 Módulo 6 – Alarmes

b. Clique em Add.
A caixa de diálogo Add Alarm Group é exibida:

c. Na caixa Group Name, insira o nome para um novo Grupo de Alarme. Já que este é o
primeiro Grupo de Alarme criado, ele é automaticamente atribuído ao Grupo Parente
$System.
Após criar um Grupo de Alarme, ele pode ser usado como um Grupo Parente
d. Clique em OK.
A caixa de diálogo Alarm Groups é exibida novamente:

e. Selecione o primeiro Grupo de Alarme criado e clique em Add para criar um segundo grupo.
O Grupo de Alarme que foi selecionado é agora o Grupo Parente do novo grupo de alarme.

f. Na caixa Comment, insira um comentário para um novo Grupo de Alarme.


g. Clique em OK.

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-11

A caixa de diálogo Alarm Groups é exibida novamente mostrando sua hierarquia de Grupo
de Alarme :

h. Clique em Close.

Modificação de um Grupo de Alarme


a. Selecione Special / Alarm Groups.
A caixa de diálogo Alarm Group é exibida:

Obs.: É possível também modificar Grupos de Alarme enquanto define as tags no Dicionário
Tagname.

b. Selecione o Grupo de Alarme a ser modificado na lista e clique em Modify.

A caixa de diálogo Modify Alarm Group é exibida:

c. Clique em Parent Group para mudar o grupo parente do Grupo de Alarme.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-12 Módulo 6 – Alarmes

A caixa de diálogo Alarm Groups é exibida:

d. Selecione $System como o novo grupo parente.


Clique em Close.
e. A caixa de diálogo Modify Alarm Group é exibida, mostrando o novo grupo parente:

f. Faça qualquer mudança necessária (se houver) no Comentário.


g. Clique em OK.
A nova hierarquia de Grupo de Alarme é exibida:

h. Clique em Close.

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-13

Exclusão de um Grupo de Alarme


a. Selecione Special / Alarm Groups.
A caixa de diálogo Alarm Group é exibida:
b. Selecione o Grupo de Alarme na lista para exclusão.

c. Clique em Delete.

d. Clique em Yes para confirmar a exclusão.

Obs.: É possível também excluir Grupos de Alarme enquanto define as tags no Dicionário
Tagname. Os Grupos de Alarme podem ser excluídos independente de qualquer tagname em
uso no grupo a ser excluído. Qualquer tag no grupo excluído migrará para o grupo parente do
Grupo de Alarme .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-14 Módulo 6 – Alarmes

Modelos de reconhecimento de alarme


Quando um item vai de um estado Normal para um estado de alarme, uma nova instância deste
alarme é gerada. Se o alarme é um alarme de estado diverso, qualquer mudança em um novo
sub-estado durante o estado de alarme é tratado como uma transição da mesma instância de
alarme.
A duração de uma instância de alarme termina quando o alarme retorna a Normal – uma
transição subseqüente ao estado de alarme gera uma nova instância de alarme .

O Sistema de Alarme Distribuído InTouch rastreia cada instância de um alarme: quando ele entra
pela primeira vez no estado de alarme, quando ele faz a transição para o sub-estado, quando
retorna a Normal, se está esperando por um Reconhecimento e quando é Reconhecido.

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-15

Alarmes como condições: O reconhecimento é feito para a instância do alarme. Uma instância
de alarme começa esperando por um ACK quando ele entra pela primeira vez no estado de
alarme. Se ele é ACKed e subseqüentemente faz a transição para um novo subestado de alarme
(Por exemplo de “Hi” para HiHi”), ele começa a esperar outro ACK. quando o ACK é recebido,
ele é aceito e aplica-se a todas as transições do alarme que ocorreu até então. O alarme é
considerado ACKed quando a instância mais recente foi ACKed.
Alarmes como eventos: O reconhecimento é feito para a instância de um alarme e deve ser para
a transição mais recente para um estado de alarme ou sub-estado. Uma instância de alarme
começa esperando por um ACK quando ele entra pela primeira vez no estado de alarme. Se ele
é ACKed e subseqüentemente faz a transição para um novo sub-estado de alarme, ele começa a
esperar por outro ACK. A cada transição subseqüente é atribuído um número sequencial e o
ACK deve ter anexado a ele o número sequencial da transição para a qual ele está respondendo.
O ACK é aceito somente se ele for a transição mais recente.
Um ACK rejeitado pode ser armazenado para fins de diagnóstico, mas não é rastreado no
sistema. Se aceito, ele aplica-se a todas as transações do alarme que ocorreram até então. O
alarme é considerado ACKed quando a instância mais recente foi ACKed. O modelo orientado
ao evento garante que se um alarme muda entre estados diferentes, o ACK corresponda à
informação atualizada. Nos sistemas com pequenos períodos de latência, ele pode parecer com
alarmes orientados à condição – mas em outros ambientes, como na Internet, os recursos deste
modelo podem se tornar muito importantes.
Alarmes de resumo expandidos: O reconhecimento é feito para cada transição do alarme. A
entrada inicial em um estado de alarme deve ser ACKed e o retorno ao estado normal deve
também ser ACKed separadamente. Qualquer transição para um novo sub-estado de alarme é
tratado como uma nova ocorrência e deve ser ACKed e RTN também deve ser ACKed. As
transições de sub-estado são tratadas como pertecentes a "RTN, "começando com a primeria
entrada em um estado com alarme quando o item era previamente normal. Se o item retorna
ao normal e subseqüentemente entra no estado de alarme novamente, um novo grupo RTN é
criado. Cada transição deve ser reconhecida individualmente e de forma explícita; e o alarme é
considerado reconhecimento somente quando o item retornou ao normal e todas as transições
nos grupos RTN pendentes foram reconhecidas.

Obs.: Aqui o termo resumo significa "aguardando reconhecimento." Este modelo de alarme
pode também ser conhecido como alarmes de retorno de chamada.

Para resumir, para alarmes orientados à condição, um reconhecimento conta contra todas as
entradas em um estado de alarme até o momento do reconhecimento. Para alarmes orientados
ao evento (como em OPC) um reconhecimento é aceito somente se ele se referir à mais recente
ativação de evento.
Para alarmes Resumo Expandido, todos os eventos – para ativar, desativar e sub-estados
diferentes – devem ser reconhecido antes que o alarme geral seja considerado reconhecido.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-16 Módulo 6 – Alarmes

Alarmes de resumo expandidos


Quando um alarme ocorre, ele gera um registro no objeto de tela de alarme exibindo que uma
condição de alarme ocorreu com o registro de data e hora do alarme. Este registro não sai da tela
até que um operador tenha reconhecido o alarme e retornar ao estado normal (RTN) ocorra. Se
retornar ao estado normal ocorrer antes do alarme ser reconhecido, dois registros serão exibidos
no objeto alarme.
Por exemplo, se a temperatura de uma caldeira excede o estado de limite alto, disparando assim
um alarme, mas retorna à faixa de temperatura normal antes de operador reconhecer o estado
de alarme um registro será gerado exibindo o estado de alarme e um registro adicional será
gerado mostrando que o estado de alarme não foi reconhecido.
Um reconhecimento é feito apenas para uma transição em particular, seja para um estado de
alarme, um sub-estado ou o retorno ao normal. Cada transição de um estado normal identifica o
começo de um novo grupo RTN. Todas as transições em um grupo RTN devem ser reconhecidas
individualmente antes do grupo RTN geral ser considerado reconhecido.

Uso de alarmes de resumo expandido


Quando definir um tagname e selecionar Expanded Summary como o Modelo ACK ele requer que
o operador reconheça que um alarme ocorreu mesmo se o estado que dispara o alarme retornou
ao normal.
O reconhecimento de um estado de alarme mudará a cor da entrada de alarme mas não muda o
registro de hora exibido. Alarmes somente serão removidos da tela quando eles forem
reconhecidos e o alarme retornar para o estado normal.

Obs.: Quando definir uma tag com o modelo ACK Expanded Summary, a opção RTN Implies
Ack na caixa de diálogo Alarm Properties não se aplica à tag.

Controles de alarme de visibilidade


Algumas vezes é necessário ou desejável Desligar alguns alarmes sem de fato remover as
configurações de alarme de um item.
O InTouch é compatível com três tipos básicos de controle de visibilidade de alarme:
desabilitação, inibição e supressão. São descritos como um modelo de alarme de 3 estágios.
z Alarm stimulus: O valor ou status de um item que pode ter alarme é rastreado.
z Alarm state: O item que pode ter alarme é comparado aos limites e às condições para
determinar se está em um estado de alarme. As transições de estado são rastreadas e
comunicadas.
z Alarm annunciation: Relatórios e atualizações do estado de alarme são exibidos e/ou
armazenados através de um ou mais clientes de alarme.

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-17

Com o modelo exibido na figura anterior em mente, os controles de visibilidade a seguir são
manipulados no Fornecedor de Alarme.
z Alarm Disablement: Um alarme pode ser desabilitado pelo ajuste de um flag que
identifica-o como desabilitado. Nenhuma outra mudança na configuração do alarme é
envolvida.
Enquanto um alarme é desabilitado, qualquer verificação pode ou não continuar dependendo das
condições que colocariam o item em um estado de alarme. Porém enquanto a desabilitação tiver
efeito estas condições não podem colocar o item no estado de alarme.
Essencialmente, o item é um estado normal forçado. A desabilitação interrompe a conexão
entre o estímulo do alarme e o estado de alarme.
Uma vez que o alarme não ir para o estado de alarme, enquanto um alarme estiver desabilitado,
nenhuma entrada é feita no histórico para esse alarme.
z Alarm Inhibition: Um alarme pode ser inibido identificando uma tag que o identifique
como inibido . Esta tag é denominada tag inibidora. Nenhuma outra mudança na
configuração do alarme é envolvida.
Enquanto a tag inibidora for FALSO (ou zero), o alarme é manuseado normalmente; mas
enquanto a tag inibidora for VERDADE (ou diferente de zero), o item não pode ter alarme.
Em essência, ele é tratado da mesma maneira que um alarme desabilitado. O alarme é inibido
ativamente
A inibição do alarme é um processo de dois estágios.
1. Atribuir uma tag inibidora.
2. Uma mudança de estado de uma tag inibidora de FALSO a VERDADE ou vice-versa.
Assim como na desabilitação, a inibição interrompe a conexão entre o estímulo do alarme e o
estado de alarme.
z Alarm Suppression: Com o modelo de alarme em mente, temos a habilidade de
interromper a conexão entre o estado de alarme e o anúncio do alarme. O alarme ainda
ocorre e é armazenado/registrado, mas não está visível na Tela de alarme.
Este controle de visibilidade é conhecido como Supressão de Alarme. Supressão de
Alarme é discutida em detalhe na página 6-29 deste manual.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-18 Módulo 6 – Alarmes

Configuração de uma inibição de alarme


a. Abra o Dicionário Tagname (Special / Tagname Dictionary).
b. Selecione uma tag existente.

c. Clique em OK.
d. Selecione a opção Details & Alarms .

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-19

e. Clique no botão Ellipsis na coluna Alarm Inhibitor de uma das linhas Valor de alarme
(LoLo, Baixo, Alto, HiHi).

A inibição de alarme pode basear-se em uma tag que não seja de mensagem. Aqui, temos
uma tag do tipo Memória discreta. Quando seu valor torna-se verdadeiro, dispara a inibição.
f. Selecione a tag e clique em OK.
O Dicionário Tagname é exibido com a nova tag de inibição preenchida em:

Inibidor
Inibidorde
dealarme
alarmepara
para
LoLo
LoLo

g. Clique em Save, seguido por Close.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-20 Módulo 6 – Alarmes

Desabilitação de alarmes
a. A visualização Alarms do Dicionário Tagname pode ser usada para acessar um campo
.alarm enabled dot da tag. Este campo ponto pode desabilitar o alarme de uma tag individual
ou de um grupo de alarme.

Obs.: A Desabilitação de alarmes de um Grupo de Alarme desabilita TODOS os alarmes no


grupo.

Obs.: Campos ponto adicionais estão disponíveis de uma configuração de alarme. Para uma
lista completa dos campos ponto consulte o Guia de Referência InTouch.

Configuração do sistema de alarme


É possível configurar diversos parâmetros de um sistema de alarme como habilitar ou não
eventos, reconhecimento ou não de alarmes quando eles retornam ao normal, etc.
A caixa de diálogo Configuration comporta-se como qualquer folha de propriedade padrão
Windows na qual nenhum ajuste é registrado até que você clique em OK. Se clicar em Cancel,
toda entrada é ignorada e a caixa de diálogo fecha.

Propriedades gerais de alarme/evento


a. Selecione Special / Configure / Alarms do menu principal WindowViewer.
A caixa de diálogo Alarm Properties é exibida:

Opções de configuração:
Alarm Buffer Size: O número de eventos de alarme mantidos na memória do WindowViewer.
Este número representa o número máximo de alarmes que o nó pode armazenar para o resumo
ou para consultas de histórico.

Obs.: Somente eventos de alarme na memória podem ser exibidos em objetos de exibição de
alarme. Se os alarmes não estão sendo usados, este valor pode ser ajustado para 1 para
conservar a memória. Se ajustar este valor muito alto, isto pode retardar o desempenho de seu
sistema. Para o Sistema de Alarme Distribuído, o valor padrão de 500 é recomendado.

RTN implies ACK: Reconhece automaticamente tags de alarme que retornam ao estado
"normal" (RTN). Não selecione esta opção se deseja que o operador reconheça um alarme após

Treinamento Wonderware
Seção 1 – Alarmes e eventos 6-21

o retorno ao normal. (RTN Implies ACK não se aplica a tags com o modelo ACK Expanded
Summary.)
Events Enabled: Habilita a armazenagem de evento de todas as mudanças de dados da tag que
são iniciadas pelo operador, E/S, QuickScripts ou pelo sistema. (Somente tagnames com Log
Events selecionado serão afetadas.)
Alarm Enable Retentive: Estado da variável .AlarmEnabled a ser retido quando o
WindowViewer é fechado e reiniciado.
Retain ACK Comment as Alarm Comment: Comentários personalizados sobrescrevem os
comentários de alarme. Caso contrário, os comentários de alarme do Dicionário Tagname serão
usados.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-22 Módulo 6 – Alarmes

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-23

Seção 2 – Objeto de alarme distribuído

Objetivo da seção
z Apresentar e configurar o controle de alarme distribuído

O objeto de alarme distribuído exibe alarmes gerados localmente e remotamente. Os objetos de


exibição desta tela incluem: barras de rolagem incorporadas, colunas de exibição dimensionáveis,
seleção múltipla de alarmes, barra de status de atualização, barra de status de consulta, menu
com o botão direito do mouse sensível ao contexto e cores de tela de alarme baseadas na
prioridade do alarme .

Introdução
O InTouch permite modificar a aparência da tela do alarme (incluindo as informações que são
exibidas), as cores usadas para diversas condições de alarme e o Grupo de Alarme e os níveis
de prioridade de alarme exibidos.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-24 Módulo 6 – Alarmes

Criação de uma tela de alarme distribuído

a. Clique na ferramenta Wizard no ícone Wizard/ActiveX Toolbar .


b. A caixa de diálogo Wizard Selection é exibida:

c. Selecione Alarm Displays.


d. Selecione Dist. Alarm Display Control.
e. Clique em OK. A caixa de diálogo Wizard Selection fecha e sua janela é reexibida com o
cursor no modo "colar".
f. Clique em qualquer local da janela ativa para colar o controle Alarm Display .

Você já pode configurar a tela.

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-25

Recursos do visualizador de alarme


Barras de rolagem
A tela de alarme distribuído tem barras de rolagem horizontal e vertical incorporadas que
permitem mover-se através dos alarmes listados. É possível configurar a exibição destas barras
de rolagem.
Colunas de exibição dimensionáveis
A tela de alarme distribuído usa uma grade para fixar as mensagens de alarme. Esta grade
permite o dimensionamento dinâmico das larguras de coluna simplesmente selecionando uma
coluna e arrastando-a para ajustar a largura da coluna. Esta funcionalidade está disponível
somente durante Runtime. É possível configurar se a grade pode ou não ser usada para
dimensionar as colunas
As mudanças de coluna de grade não são salvas; portanto, se fizer mudanças na coluna da grade
e fechar a janela com a tela de alarme, as colunas da grade voltarão à largura padrão quando
abrir novamente janela.
Clique duas vezes com o mouse na linha da grade vertical para auto-dimensionar a colunas.
Multiple Selection: A grade é compatível com a seleção de um ou diversos alarmes em uma
caixa de listagem. Os alarmes selecionados podem ser reconhecido usando a função
almAckSelect() QuickScript descrita posteriormente neste capítulo. Quando configurar a tela de
alarme distribuído, é possível também definir o comportamento de seleção para permitir alternar a
seleção (item a item), ou seleção múltipla (mantendo pressionada a tecla CTRL ou SHIFT
juntamente com o clique do mouse para selecionar alarmes múltiplos). É possível desabilitar a
seleção Runtime.
Alarm Message Colors: Configura até seis cores diferentes para cada mensagem de alarme
exibida, com base na prioridade de um alarme e se ele é reconhecido ou não.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-26 Módulo 6 – Alarmes

Update Status Bar: A tela de alarme distribuído inclui uma barra de status que contém três
indicadores: Status message, Current Alarm Query e Progress Bar. Estes indicadores
fornecem as características gerais do estado atual de uma consulta de exibição e detalhes sobre
a supressão disponível no Objeto de Alarme Distribuído.
O painel direito da barra de status fica vermelho quando congelar está aplicado e o painel
esquerdo da barra de status é vermelho quando a supressão está aplicada A palavra
suppression é exibida no painel esquerdo quando a supressão está aplicada.
É possível desativar a exibição da barra de status em Runtime.

Recurso Descrição
Mensagem de status A mensagem de status no canto esquerdo da barra de status oferece
uma descrição mais detalhada do status da consulta atual.
Barra de progresso A barra de progresso atualizada no canto direito da barra de status
oferece uma indicação visual do progresso da consulta atual.
Consulta de alarme A Consulta de Alarme oferece uma indicação visual da consulta de
alarme atual.

Obs.: Se novos alarmes são recebidos enquanto a exibição é congelada, as palavras “New
Alarm (s)” são exibidas na barra de status.

Mensagem de status Estado/indicador Barra de progresso


Nenhum Nenhuma consulta Nenhum
Atualização incompleta Consulta incompleta Azul/Verde
Atualização correta Consulta concluída Azul sólido
Supressão Nome da consulta Azul sólido
Congelar Nome da consulta Vermelho
Novo alarme Nome da consulta Vermelho/Azul (depende do
status de congelar).

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-27

Right-Click Menu: O objeto Distributed Alarm Display é compatível com menus acessados por
clique através do botão direito do mouse para rápido acesso aos comandos que podem ser
aplicados ao objeto de exibição e/ou um ou mais alarmes selecionados, Grupos de Alarme, Tags
e prioridades contidas na exibição de Runtime.
Por padrão, o menu clique com o botão direito do mouse é desabilitado. Ele pode ser habilitado
ajustado o valor apropriado nas folhas de Propriedades. Além disso, as funções script podem ser
chamadas para executar qualquer coisa que pode ser feita com o menu do botão direito do
mouse.
a. Para habilitar a funcionalidade de clicar com o botão direito do mouse em Runtime, enquanto
estiver em Desenvolvimento, clique com o botão direito do mouse em Distributed Alarm
Display e selecione Properties.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-28 Módulo 6 – Alarmes

A caixa de diálogo Alarm Configuration é exibida:


b. Selecione a guia General.
c. Selecione a opção Show Context Sensitive Menu .

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-29

Com a funcionalidade clicar com o botão direito do mouse em Runtime agora habilitada, diversos
níveis adicionais de funcionalidade podem ser usados.
z Ack Selected: Quando o operador clica com o botão direito do mouse na tela e aponta
para Ack Selected durante Runtime, ele reconhece rapidamente o alarme selecionado.
z Ack Others: Quando o operador clica com o botão direito do mouse na tela e aponta para
Ack Others, um submenu é exibido com os comandos de reconhecimento. Durante
Runtime, ele reconhece rapidamente todos os alarmes na tela ou apenas os visíveis,
grupos, tagnames e prioridades selecionados clicando com o botão direito do mouse.

z Suppress Selected: Quando o operador clica com o botão direito do mouse na tela e
aponta para Suppress Selected durante Runtime, ele suprime o alarme selecionado.
z Suppress Others: Quando o operador clica com o botão direito do mouse na tela e
aponta para Suppress Others, um submenu é exibido contendo os comandos de
supressão. Durante o Runtime, o operador pode suprimir rapidamente todos os alarmes
na tela ou apenas os alarmes visíveis, grupos selecionados, tagnames selecionados e
prioridades selecionadas usando esta funcionalidade.

z Query Favorites: Quando você clica com o botão direito do mouse na tela e aponta para
Query Favorites, a caixa de diálogo Alarm Query é exibida.
z Stats: Posiciona a caixa de diálogo Alarm Statistics .
z Suppression: Posiciona a caixa de diálogo Alarm Suppression.
z Freeze: Congela a exibição atual.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-30 Módulo 6 – Alarmes

Orientação de tela de controle do Alarme Viewer


O controle Alarm Viewer usa o mesmo mecanismo dos assistentes de controle Window. Este
mecanismo requer que a seguinte orientação seja observada ao usar objetos como a Tela de
Alarme Distribuído.
Use a Orientação a seguir:
z Cada tela deve ter um identificador diferente de forma que as funções QuickScript
associadas saibam qual tela modificar. Este identificador inserido como Display Name na
caixa de diálogo Alarm Configuration, deve ser exclusivo para cada tela.
z Telas não devem sobrepor outros objetos InTouch como controles de janela e objetos
gráficos. É possível verificar facilmente isto clicando na tela de alarme distribuído no
WindowMaker e verificar as "alças de dimensionamento" da tela. As alças de
dimensionamento não devem tocar outros objetos gráficos na tela.
z Telas não devem ser usadas com parcimônia. O posicionamento de diversas exibições na
tela pode resultar na redução do desempenho do sistema.
Quando possível, limite o número de exibições em sua tela e chame mais telas adicionais
contendo exibições.

Obs.: Telas de alarme adicionais estão disponíveis como Objetos de Alarme ActiveX.

Opções de configuração de tela de alarme


A caixa de diálogo Alarm Configuration tem três campos de guia que contêm as opções para
configuração General, Message e Color.

Obs.: A caixa de diálogo Configuration comporta-se como qualquer caixa de diálogo padrão
Windows, pois nenhum ajuste é registrado até que você clique em OK. As opções são verificadas
para as entradas corretas, entretanto, quando alternar de uma folha de propriedade (guia) para
outra, se uma verificação de entrada falha, a folha de propriedade contendo a entrada com falha é
trazida novamente para foco e a caixa de mensagem é exibida indicando o erro. Se clicar em
Cancel, toda entrada é ignorada e a caixa de diálogo fecha.

a. Clique duas vezes com o mouse na tela de alarme distribuído.

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-31

A caixa de diálogo Alarm Configuration é exibida com a guia General selecionada:

Opções de configuração:
Display Name: Insira o nome de uma tela de alarme. O nome deve ser exclusivo para cada tela
de alarme usada.

Obs.: O nome que digitar aqui será usado em todo o sistema para consulta deste objeto para
execução de tarefas como reconhecimento de alarme e consultas.

New Alarms Appear At: Local em que deseja que os novos alarmes sejam abertos dentro do
controle.
z Top of List: Exibe o alarme mais recente na parte superior da lista.
z Bottom of List: Exibe o alarme mais recente na parte inferior da lista.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-32 Módulo 6 – Alarmes

Ajustes de propriedades

Propriedade Descrição
Show Titles Exibe a barra de título da mensagem de alarme
Allow Runtime Grid Changes Permite ao usuário mudar os ajustes de coluna em Runtime
Perform Query on Startup Inicia automaticamente a atualização da tela usando as
propriedades de consulta padrões, se selecionadas. Caso
contrário, execute um almDefQuery ou almQuery.
Use Default Ack Comment Se marcada e um string for inserido, quando um usuário
reconhece (ACKs) um alarme sem inserir um comentário, o string
de mensagem associado será usado como comentário padrão
Show Message Exibe a mensagem inserida na caixa de seleção quando
selecionada. Esta é a mensagem exibida dentro do DAO quando
não há alarmes a serem exibidos.
Show Status Bar Exibe a barra de status
Allow Runtime Alarm Selection Permite ao usuário selecionar os alarmes em Runtime
Show Context Sensitive Menu Habilita a ativação de um menu pop-up com clique com o botão
direito do mouse e usa o comando Ack padrão
Auto-Scroll to New Alarms Se o usuário rolar a lista do início, ela automaticamente salta para
o novo alarme
Use Extended Alarm Selection Permite que alarmes múltiplos sejam selecionados ao manter
pressionada a tecla Ctrl ou Shift juntamente com o mouse
Show Vert Scrollbar Exibe a barra de rolagem vertical no objeto de tela de alarme
Show Horz Scrollbar Exibe a barra de rolagem horizontal no objeto de tela de alarme

Propriedades de consulta padrão

Obs.: As Propriedades de consulta padrão estão ativas se selecionar a opção Perform Query
on Startup ou se a função almDefQuery QuickScript for executada.

Propriedade Descrição
From Priority Prioridade de alarme mínima padrão.
To Priority Prioridade de alarme máxima padrão. Para mais informações, consulte "Prioridades
de alarmes" deste capítulo.
Alarm State Estado de alarme padrão para consulta (All, UnAck, Ack).
Query Type Ajusta o tipo de exibição como Resumo ou Histórico.
Alarm query Ajusta a consulta de Alarme inicial. Este campo aceita apenas texto; não aceita tags.
A sintaxe válida para estas listas inclui:
\\Node\InTouch!Group
Caminho completo para Alarm Group
\InTouch!Group
Caminho completo para Alarm Group local
\InTouch!Group!Tag
Caminho completo para Alarm Group local e Tag
GroupList
Entrada do Gerenciador de Nome Distribuído

Obs.: Para realizar consultas diversas, separe cada consulta com um espaço. Diversos Alarm
Providers são configurados como parte do curso Desenvolvimento Avançado de Aplicativos.

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-33

Formato de mensagem de alarme distribuído


As informações exibidas em um objeto de exibição de alarme distribuído são configuráveis.
a. Selecione a guia Message.

Obs.: Se você clicar com o botão direito do mouse na caixa de texto em qualquer caixa de
diálogo de configuração de alarme, um menu será exibido mostrando os comandos que podem
ser aplicados ao texto selecionado.

A área de visualização (na parte de baixo da caixa de diálogo) exibe um exemplo da mensagem
de alarme configurada atualmente.
Este exemplo mostrará a mensagem usando a fonte selecionada mas não a cor.
Opções de configuração:
Date Format: Os formatos disponíveis incluindo os seguintes.

Seleção Tela Seleção Tela


DD MMM 28 Fev MM/DD 02/28
DD MMM AAAA 28 Fev 2002 MM/DD/AA 02/28/02
DD/MM 28/02 MMM DD Fev 28
DD/MM/AA 28/02/02 MMM DD AAAA Fev 28 2002
AA/MM/DD 02/02/28 AAAA/MM/DD 2002/02/28

Time Format: Os valores deste campo são usados como um modelo para especificar o formato
de hora. Por exemplo, para especificar hora como 10:24:30 AM use HH:MM:SS AP.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-34 Módulo 6 – Alarmes

Os caracteres do gabarito incluem o seguinte:

AP Selecione o formato AM/PM. Por exemplo, três horas da tarde é


exibido como 3:00 PM. Uma hora sem esta designação fica padrão
como 24 horas no formato militar. Por exemplo, três horas da tarde é
exibido como 15:00.
HH Exibe a hora em que alarme/evento ocorreu.
MM Exibe o minuto em que o alarme/evento ocorreu.
SS Exibe o segundo em que o alarme/evento ocorreu.
SSS Exibe o milissegundo em que o alarme/evento ocorreu.

Displayed Time: Tipo de exibição com base no status do alarme. Os formatos disponíveis
incluindo os seguintes.

LCT Última Hora Modificada – ou seja, o registro de data/hora da


mais recente mudança de status de uma instância de alarme:
ocorrência do alarme, mudança do sub-estado, retorno ao
normal ou reconhecimento .
LCT But OAT on ACK Última Hora Modificada mas Hora do Alarme Original do ACK
– ou seja, LCT será usada quando o alarme é UNACKed,
depois OAT será usada após o alarme ser ACKed.
OAT Hora do Alarme Original – ou seja, o registro de data/hora da
ocorrência do alarme.

Sort Order: Área: Ordem na qual deseja que os alarmes sejam classificados no objeto de alarme
(LCT e OAT).
Selecione Display Font: Mudança de fonte, estilo e tamanho usado na exibição do alarme.

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-35

Column Management: Personaliza a ordem da coluna e suas respectivas larguras. Exibe a caixa
de diálogo Column Details .
Marque Column Names de acordo com o que deseja exibir. Use as setas Up e Down para mudar
a ordem na qual serão exibidos.
Clique no botão Edit para exibir a caixa de diálogo onde o nome e o tamanho da coluna
destacada podem ser personalizados.

Date: Exibe a data.


Time: Exibe a hora.
State (UnAck,Ack): Exibe o estado do alarme.
Class (VALUE.DEV. ROC..): Exibe a categoria do alarme.
Type (HIHI,LO,MAJDEV,…): Exibe o tipo de alarme.
Priority: Exibe a prioridade de alarme.
Name: Exibe o alarme/tagname.
Name: Exibe o nome do Grupo de Alarme.
Provider: Exibe o nome de um fornecedor de alarme.
Value: Exibe o valor de um tagname quando o alarme ocorreu.

Obs.: O valor deve ser grande o bastante para fornecer o nível de precisão desejado (32
caracteres no máximo).

Limit: Exibe o valor limite de alarme do tagname.

Obs.: O tamanho deste campo deve ser grande o bastante para fornecer o nível de precisão
desejado (32 caracteres no máximo).

Operator: Exibe a identificação do operador conectado associada à condição de alarme.


Comment: Exibe os comentários do tagname. Estes comentários foram inseridos na caixa Alarm
Comment quando alarme do tagname foi definido no banco de dados.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-36 Módulo 6 – Alarmes

Propriedades de cor de tela de alarme distribuído


a. Selecione a guia Color.

Área General: Cada caixa de cor abre a Paleta InTouch. Selecione a cor que deseja usar na
paleta para cada uma das opções a seguir:

Opção Descrição
Window Ajusta a cor do fundo da tela.
Grid Ajusta a cor da grade da tela.
Selection Back Ajusta a cor de fundo do texto destacado.
Texto de seleção Ajusta a cor de fundo do texto.
Title Bar Back Ajusta a cor de fundo da barra de título (visível somente se a
opção Show Titles estiver habilitada).
Title Bar Text Ajusta a cor da barra de texto (visível somente se a opção
Show Titles estiver habilitada).
Alarm Return Ajusta a cor de alarmes retornados (alarme que foram
retornados ao normal sem serem reconhecidos).
Event Ajusta a cor dos alarmes de Evento.

Alarm Priority: Insira os valores limites de uma tela de alarme.


UnAck Alarm e Ack Alarm: Cada caixa de cor abre a Paleta InTouch. Selecione a cor na
paleta que deseja usar para cada limite ultrapassado.

Treinamento Wonderware
Seção 2 – Objeto de alarme distribuído 6-37

Reconhecimento de alarmes
É possível reconhecer os alarmes usando a função Ack em uma ação ou QuickScript chave, ou
usando o menu com clique com o botão direito do mouse sensível ao contexto no Objeto de
Alarme Distribuído. A função Ack monitora e/ou controla o status de reconhecimento de alarme de
todos os tipos de alarmes locais .
Criar um botão 3-D ou qualquer outro objeto para o qual uma ação ou chave QuickScript pode ser
vinculada.
Em seguida, insira qualquer uma das declarações a seguir para o QuickScript Action Script.

Declaração Descrição
Ack $System; Reconhece todos os alarmes locais no sistema.
Ack Group Name; Reconhece todos os alarmes locais em um Grupo
de Alarme específico.
Ack Tagname; Reconhece os alarmes de um tagname específico.
$System.Ack=1; Reconhece todos os alarmes locais no sistema.
Group Name.Ack=1; Reconhece todos os alarmes locais em um Grupo
de Alarme específico.
Tagname.Ack=1; Reconhece os alarmes de um tagname específico.
Tagname.AckDev=1; Reconhece o alarme de desvio de um tagname
específico.
Tagname.AckROC=1; Reconhece o alarme da taxa de mudança de um
tagname específico.
Tagname.AckValue=1; Reconhece o alarme de valor de um tagname
específico.

Funções de QuickScript de reconhecimento de alarme


O Sistema de Alarme Distribuído é capaz de reconhecer qualquer alarme que possa ser
consultado (somente exibição de resumo). Para fornecer esta capacidade, o Sistema de Alarme
Distribuído inclui funções de reconhecimento de alarme QuickScript. Estas funções
complementam o campo .Ack dot que o sistema de alarme InTouch usa para reconhecer os
alarmes locais e os Grupos de Alarme .
Funções de ALM QuickScript individuais são listadas no Apêndice G, “Funções de script” deste
manual.

Anexar comentários a uma função de alarme Ack


Cada reconhecimento de alarme deve ter um comentário anexado a ele. O operador ao
reconhecer o alarme pode usar este comentário para adicionar informação sobre o alarme. O
InTouch pode armazenar estes alarmes no banco de dados de alarme e imprimí-los.
O Sistema de Alarme Distribuído usa a caixa Alarm Comment da definição de alarme da tag no
banco de dados para enviar estes comentários aos subsistemas de armazenagem e de
impressão.
Escolha entre permitir que o sistema use a caixa Alarm Comment da tag para comentários ACK
ou não. Se usar a caixa Alarm Comment da tag para manter comentários ACK, qualquer
comentário neste campo será sobrescrito durante o Runtime (Isto não afeta o Dicionário de
Dados Tagname).
a. Clique em Special / Configure / Alarms.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-38 Módulo 6 – Alarmes

A caixa de diálogo Alarm Properties é exibida:

b. Selecione Retain ACK Comment as Alarm Comment se deseja usar diversas funções
almAck() para personalizar comentários. Caso contrário, os comentários de alarme do
Dicionário Tagname serão usados.
c. Clique em OK.

Dica: Se você clicar com o botão direito do mouse na caixa de texto em qualquer caixa de diálogo
de configuração de alarme, um menu será exibido mostrando os comandos que podem ser
aplicados ao texto selecionado.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-39

Laboratório 6 – Criação de alarmes e eventos


Introdução
Neste laboratório, você criará e configurará janelas de alarme designadas a fim de habilitar o
reconhecimento dos alarmes e o estabelecimento de eventos.

Objetivos
Ao final deste laboratório, você:
z Importará a janela Alarms
z Configurará a janela Alarms
z Converterá as tags de janela Alarms
z Configurará alarmes para tags
z Definirá o botão Acknowledge
z Criará uma tag inibidora
z Criará um chave inibidora
z Configurará campos de alarme Dot
z Configurará anúncio de alarme
z Criará eventos

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-40 Módulo 6 – Alarmes

Laboratório 6a – Reconhecimento de alarme

Importação da janela Alarms


1. Feche WindowViewer.
2. Feche qualquer janela aberta no WindowMaker.
3. Selecione File / Import do menu principal WindowMaker e wwimport (usado em laboratórios
anteriores).

4. Selecione a janela Alarms.


5. Clique OK.
6. Clique em Import.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-41

A janela Alarms agora é exibida no Application Explorer:

Configuração da janela Alarms


7. Abra a janela Alarms

8. Clique na ferramenta Wizard no ícone Wizard/ActiveX Toolbar .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-42 Módulo 6 – Alarmes

9. A caixa de diálogo Wizard Selection é exibida:

10. Selecione Alarm Displays.


11. Selecione Dist. Alarm Display Control.
12. Clique em OK.
A caixa de diálogo Wizard Selection fecha e sua janela é reexibida com o cursor no modo

"colar" .

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-43

13. Posicione e dimensione o controle Alarm Display na janela.

14. Pressione a tecla F2


15. Selecione Special / Substitute Tags.
16. Clique em Convert.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-44 Módulo 6 – Alarmes

A caixa de diálogo Convert é exibida:

17. Clique em Local.

18. Clique em OK.

Configuração de alarmes para tags


19. Selecione IntTag do dicionário Tagname.
20. Selecione a opção Details & Alarms .
21. Configure o alarme como exibido na figura a seguir e clique em Save.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-45

22. Selecione RealTag do dicionário Tagname.


23. Configure o alarme como exibido na figura a seguir.
24. Clique em Save, seguido por Close.

25. Alterne para Runtime.


26. Teste a tela de alarme movendo o slider RealTag para cima e o slider IntTag para baixo. A
tela de alarme deve atualizar a cada movimento dos sliders.
27. Alterne para o modo Development.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-46 Módulo 6 – Alarmes

Definição do botão Acknowledge


28. Clique duas vezes com o mouse no botão Acknowledge e selecione Touch Pushbuttons -
Action.

29. Apague qualquer script anterior.


30. Configure o editor Action Script com o script exibido na figura anterior.
31. Valide o script.
O script reconhece o objeto de Alarme com o botão Acknowledge através da atribuição da
função almAckSelect ao Objeto de Alarme Distribuído.

Obs.: O valor do argumento AlarmObject para todas as funções almAck é derivado da


propriedade name da configuração do Objeto de alarme. Modifique o script para
corresponder ao nome de exibição de seu objeto de alarme.

32. Clique em OK e em OK novamente.


33. Alterne para Runtime e inicie um alarme para RealTag e IntTag.
34. Selecione um dos alarmes.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-47

35. Clique no botão Acknowledge. A cor do alarme mudará indicando que ele foi reconhecido.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-48 Módulo 6 – Alarmes

Laboratório 6b – Inibição de alarme

Criação de uma tag inibidora


Uma inibição é usada para desabilitar uma propriedade específica de um alarme.
36. Abra o Dicionário Tagname e clique em New.

37. Crie uma InhibitTag como uma Memory Discrete.


38. Clique em Save.
39. Clique em Select.
40. Selecione RealTag no Tagname Dictionary.
41. Clique em OK.
42. Selecione a opção Details & Alarms .

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-49

43. Clique no botão Ellipsis para HiHi Alarm Inhibitor.

44. Destaque InhibitTag com o Tagname Dictionary e clique em OK.


45. Clique em Save, seguido por Close.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-50 Módulo 6 – Alarmes

Criação de uma chave inibidora

46. Selecione o ícone da barra de ferramentas Wizard Hat .

47. Selecione Switches.


48. Selecione Knob Switch.
49. Clique duas vezes com o mouse em Knob Switch na caixa de diálogo Wizard Selection e
posicione-a no aplicativo.
50. Clique duas vezes com o mouse em Knob Switch em seu aplicativo.
A caixa de diálogo Discrete Switch Wizard é exibida

51. Clique duas vezes com o mouse no campo Tagname e selecione InhibitTag do Tagname
Dictionary.
52. Clique em OK e em OK novamente.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-51

53. Alterne para Runtime.

54. Clique em Knob Switch para colocá-lo na posição On.


55. Mova o slider RealTag para o topo. A tela de alarme exibe somente o Alarme HI. O alarme
HiHi foi inibido de forma que apenas o estado de alarme Hi é exibido.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-52 Módulo 6 – Alarmes

56. Repita a etapa anterior com a chave posicionada em Off . O alarme HiHi agora é exibido.

57. Alterne para o modo Development.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-53

Laboratório 6c – Campos de alarme Dot

Configuração de campos de alarme Dot


58. Clique duas vezes com o mouse no símbolo # da campo $System.Alarm.

59. Atribua um link de animação Value Display - Discrete . A caixa de diálogo Output Discrete
Expression é exibida.

60. Clique duas vezes com o mouse no campo de texto Expression (Apague qualquer
Expressão anterior, se houver.) A caixa de diálogo Select Tag é exibida:

61. Role para baixo na lista de Tagname para selecionar o Tagname $System.
62. Abra a lista drop-down Dot Field.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-54 Módulo 6 – Alarmes

A caixa de diálogo contendo todos os dotfields é exibida.


63. Selecione Alarm. A caixa de diálogo Select Tag deve agora estar semelhante à figura a
seguir.
64. Clique em OK. O dotfield, .Alarm, está agora associado ao $System.
65. Ajuste On Message como Yes e Off Message como No.

66. Clique no botão OK superior.


67. Clique duas vezes com o mouse no símbolo # adjacente a $System.Ack na janela InTouch
Alarms.
68. Selecione o link de animação Touch Links/User Inputs - Discrete.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-55

69. Apague qualquer tagname e ajuste anteriores.

70. Clique duas vezes com o mouse no campo Tagname.


A caixa de diálogo Select Tag é exibida:

71. Selecione a tag $System.


72. Abra a lista drop-down Dot Field e selecione Ack.
73. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-56 Módulo 6 – Alarmes

74. Complete a configuração do objeto Animation Link para corresponder à figura a seguir:

75. Clique em OK para salvar e fechar a seleção do link de animação.


76. Use as etapas anteriores para configurar o objeto de exibição de texto RealTag.HiLimit com
o link Touch Link/User Input – Analog.

77. Use as etapas anteriores para configurar o objeto de exibição de texto RealTag.HiStatus com
o link Value Display-Discrete.

78. Clique em OK.


79. Alterne para Runtime - observe as mudanças nos dotfields.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-57

80. Modifique RealTag.HiLimit com um valor a sua escolha.

81. Alterne para o modo Development.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-58 Módulo 6 – Alarmes

Laboratório 6d – Anúncio de alarme

Configuração de anúncio de alarme


82. Clique com o botão direito do mouse em Windows e selecione New do submenu.
83. Configure a janela com as propriedades exibidas na figura a seguir:

84. Clique em OK.


85. Use a figura a seguir como guia para adicionar o texto e os objetos de botão a seguir.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-59

86. Defina o link Blink a seguir para o texto Attention:

87. Crie um novo script de condição em que a condição On True tem a janela aberta quando uma
tag vai para alarme.

88. Valide o script e clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-60 Módulo 6 – Alarmes

89. Insira o script Touch Pushbutton - Action a seguir para o botão Acknowledge Alarms.
O script Touch Pushbutton Action para o botão Acknowledge Alarms reconhecerá
TODOS os alarmes, ajuste a tag $NewAlarm como 0 e oculte a janela Alarm Acknowledge .

90. Valide o script e clique em OK.


91. Clique em OK para fechar a janela Animation Links.
92. Salve e feche a janela Alarm Acknowledge. Certifique-se de que a janela Alarms ainda está
aberta.
93. Alterne para Runtime.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-61

94. Mova os sliders. A janela Alarm Acknowledge deve agora abrir quando as tags vão para
alarme. A caixa de texto Attention deve piscar.
95. Clique no botão Acknowledge Alarms. A janela deve fechar e os alarmes atuais devem
mudar para o status ACK.

96. Retorne para Development.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-62 Módulo 6 – Alarmes

Monitoração de evento

Criação de eventos
97. Clique duas vezes com o mouse no objeto Alarm.
98. Mude Query Type para Historical na área Default Query Properties .

99. Clique em OK.


As linhas do objeto Alarm são preenchidas com os alarmes em Runtime.

Treinamento Wonderware
Laboratório 6 – Criação de alarmes e eventos 6-63

100.Clique duas vezes com o mouse no botão DiscTag1 para rever o script Touch Pushbuttons
- Action.

101.Clique em OK e em OK novamente.
102.Abra o Tagname Dictionary.
103.Certifique-se de que a opção Log Events para DiscTag1 esteja marcada e Priority seja 998.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


6-64 Módulo 6 – Alarmes

104.Alterne para Runtime e clique no botão DiscTag1 Toggle para exibir eventos.
Estes alarmes aparecerão na parte inferior da tela Alarm Object.

Treinamento Wonderware
Módulo 7

Tendência de histórico em tempo real


Seção 1 – Tendências em tempo real 7-3
Laboratório 7–Configuração de tendências em tempo real 7-7
Seção 2 – Tendências de histórico 7-11
Laboratório 8–Configuração de tendências de histórico 7-27
7-2 Módulo 7 – Tendência de histórico em tempo real

Objetivos do módulo
z Visualizar dados de usuário em tempo real
z Recuperar dados de arquivos de histórico

Treinamento Wonderware
Seção 1 – Tendências em tempo real 7-3

Seção 1 – Tendências em tempo real

Objetivo da seção
z Visualizar dados de usuário em tempo real usando tendências de em tempo real

O InTouch oferece dois tipos de objetos de exibição de tendência: Histórico e tempo real Os dois
objetos de tendência podem ser configurados para exibir representações gráficas de tags
diversas em um período de tempo.

Introdução
Tendências de em tempo real permitem a representação gráfica de até quatro penas (valores de
dados). Tendências de histórico permitem fazer a representação gráfica de até oito. Os dois tipos
de tendência são criados usando ferramentas especiais no WindowMaker. Um assistente de
tendência de 16 penas opcional está disponível.
O InTouch fornece também controle total de configuração de tendência. Por exemplo, é possível
especificar o intervalo de tempo, faixa de valor, resolução de grade, localização de registro de
tempo, localização de registros de valor, número de penas e em atributos de cores.
O InTouch suporta também um sistema de histórico distribuído que permite Recuperar dados de
histórico de qualquer arquivo de armazenagem de histórico InTouch, mesmo aqueles distribuídos
em uma rede.

Criação de uma tendência em tempo real


Um objeto de tendência é como qualquer outro objeto desenhado no WindowMaker. Ele pode ser
movido arrastando-o com o mouse ou redimensionado arrastando uma das alças de
dimensionamento do objeto.

a. Selecione a ferramenta Real-time Trend na barra de ferramentas Drawing.


b. Clique e arraste a janela para posicionar o objeto.

Em Runtime, os dados são escritos na tendência da direita para a esquerda. Não é limite
para o número de tendências que podem ser colocadas em uma janela.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-4 Módulo 7 – Tendência de histórico em tempo real

Opções de configuração
A primeira vez que um objeto de tendência em tempo real é colado dentro de uma janela, os
ajustes de configuração padrão do sistema são usados. Uma vez que uma tendência em tempo
real é configurada, a próxima tendência criada, terá, por padrão, os mesmos ajustes.
a. Clique duas vezes com o mouse no objeto de tendência.
A caixa de diálogo Real Time Trend Configuration é exibida:

Obs.: Todas as entradas feitas na caixa de diálogo Real Time Trend Configuration são
independentes do tamanho da tendência e não podem ser modificadas em Runtime.

Time Span: Insira a duração de tempo a ser exibido horizontalmente (eixo x) em uma tendência.
Selecione a opção Sec, Min ou Hr .
Sample-Interval: Insira a freqüência na qual a expressão de tendência será avaliada e a carta
atualizada. Depois selecione a opção Msec, Sec, Min ou Hr .
Color: Clique em Chart Color e selecione a cor de fundo.
Border Color: Selecione um cor de borda da tendência. Repita o processo para todas as
seleções.
Área Time Divisions - Number of Major Div: Insira o número das divisões com mais tempo para
a tendência. Depois selecione uma cor para as linhas de divisão.
O número das principais divisões de tempo deve ser um múltiplo par do número de Minor Div/
Major Div.
Área Time Divisions - Minor Div/Major Div: Insira o número das divisões de tempo menores a
serem visíveis dentro de cada divisão de tempo maior. Depois, selecione uma cor para as linhas
de divisão.
Área Time Divisions - Top Labels: Exibe os rótulos na parte superior da tendência.
Área Time Divisions- Bottom Labels: Exibe os rótulos na parte inferior da tendência.

Treinamento Wonderware
Seção 1 – Tendências em tempo real 7-5

As tendências podem ter rótulos na parte superior e inferior ou não ter nenhum rótulo.
Ao usar rótulos de tempo, insira o número de rótulos de tempo por linha de divisão principal na
caixa Major Div/Time Label do grupo Time Divisions.
Área Time Divisions - Colors: Selecione uma cor para as linhas de divisão de tempo principais.
Área Value Divisions: Os ajustes nesta área são configurados da mesma forma dos ajustes na
área Time Divisions , exceto pelas divisões de valor secundárias e principais ajuste a faixa do
valor vertical (eixo y) para a tendência. Esta Faixa usa Unidades de Medida e é a mesma para
todas as tags de tendência.
Para Exibir pontos decimais das divisões de valor secundária e principal em Runtime, eles devem
ser formatados nesta área da caixa de diálogo Real Time Trend Configuration . Por exemplo,
0,00 a 100,00.
Min Value: Deve ser configurado para o valor Mínimo de uma tag tendenciada.
Max Value: Deve ser configurado para o valor Máximo de uma tag tendenciada.
Expression: Insira a tag ou expressão para qual cada Pen fará a tendência.
Até quatro penas podem ser visíveis em uma tendência. As penas podem ser usadas para exibir
qualquer tagname local que contém um ou mais tagnames locais. (Tags de tipo de mensagem
não podem ser armazenados ou tendenciados.) A habilidade de tendenciar expressões é útil na
criação de exibições personalizadas para exibir tagnames com faixas amplamente diferentes.
Color: Selecione a cor de cada pena que imprimirá cada tag na tendência.
Width: Largura em pixels de cada traço. Selecionar uma largura de pena maior do que 1 reduz
significativamente o desempenho na atualização e impressão de tendência .
Botão Select Display Font: Exibe a caixa de diálogo Font . Selecione a fonte, o estilo e a
dimensão a ser usados quando imprimir a tendência.
Only update when in memory: Atualiza sua tendência somente quando ela é exibida na janela
ativa.
Se esta opção não é selecionada, a tendência será atualizada constantemente, mesmo se não
estiver em uma janela aberta. Isto pode resultar em um desempenho ligeiramente mais lento do
sistema.

Otimização do desempenho de tendência em tempo real


z Ajuste a largura da pena em 1.
z Certifique-se de que nenhum outro objeto esteja colocado sobre a tendência em tempo
real.
z Reduza o número de amostras coletadas.
Por exemplo, se Time Span é ajustado para 30 minutos e Sample Interval é ajustado como 2
segundos, o número de amostras coletadas durante os 30 minutos serão calculados como:
30* 60/2 = 900
Se Time Span é ajustado para 30 minutos e Sample Interval é ajustado como 5 segundos, o
número de amostras coletadas durante os 30 minutos será calculado como:
30* 60/5 = 360

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-6 Módulo 7 – Tendência de histórico em tempo real

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 7 – Configuração de tendências em tempo real 7-7

Laboratório 7 – Configuração de tendências


em tempo real
Introdução
Neste laboratório, você criará e configurará penas para exibir os dados do usuário usando
Tendências em Tempo Real.

Objetivos
Ao final deste laboratório, você:
z Importará e Converterá a Janela Real Time Trend
z Configurará uma tendência em tempo real

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-8 Módulo 7 – Tendência de histórico em tempo real

Importação e conversão da janela Real Time Trend


Esta tarefa começa com a importação de uma janela e conversão de uma tag. Etapas detalhadas
para estas operações estão contidas nos laboratórios anteriores.
1. Feche todas as janelas WindowMaker, desligue o WindowViewer e importe a janela Real
Time Trend do diretório wwimport .

2. Abra a janela Real Time Trend.


3. Pressione F2 para selecionar todos os objetos na janela.
4. Substituta e converta as tags como Local.

5. Selecione a ferramenta Real-time Trend na barra de ferramentas Drawing.


6. Adicione o objeto Real-Time Trend ao painel cinza da janela Real Time Trend.

Treinamento Wonderware
Laboratório 7 – Configuração de tendências em tempo real 7-9

7. Redimensione o objeto Real-Time Trend para ocupar a maioria do painel. A janela Real Time
Trend deve agora estar semelhante à figura:

Configuração de uma tendência em tempo real


8. Clique duas vezes com o mouse na tendência para exibir a caixa de diálogo Real Time Trend
Configuration.
9. Ajuste o Time/Time Span para 30 Sec.
10. Ajuste o Sample/Interval para 1 Sec.
11. Ajuste o valor Value Divisions/Max para 1000.
12. Clique duas vezes com o mouse no campo Expression para Pen 1 e selecione RealTag.
13. Clique duas vezes com o mouse no campo Expression para Pen 2 e selecione IntTag.
14. Para as penas 3 e 4, insira o seguinte:
Pen 3: $Second*10
Pen 4: DiscTag1*250
15. Ajuste cada valor Pen Width como 2.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-10 Módulo 7 – Tendência de histórico em tempo real

A caixa de diálogo Real Time Trend Configuration deve agora ser semelhante à figura:

16. Clique em OK e alterne para Runtime.


17. Mova os sliders para cima e para baixo e clique no botão DiscTag1 para obter colocar valores
dentro da tendência. Você verá que as linhas tracejadas refletem os movimentos do slider.
(Pode ser necessário reconhecer os alarmes).

18. Retornar para o Development.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-11

Seção 2 – Tendências de histórico

Objetivos da seção
z Introduzir e explicar as tendências de histórico InTouch
z Explicar as opções de configuração de tendência de histórico

Esta seção apresentará e explicará as tendência de histórico do InTouch e explicará as opções de


configuração de tendência de histórico.

Introdução
Tendências de histórico oferecem fotos de dados de uma hora e data no passado. Elas não são
dinâmicas. Diferente das tendências de em tempo real, tendência de histórico somente são
atualizadas quando são instruídas a fazê-lo, mesmo através da execução de um QuickScript ou
uma ação pelo operador (ex.clicar um botão). Até oito tags (penas) podem ser tendenciadas de
uma vez sem limite do número de tendências exibido. Você tem total flexibilidade no projeto de
interface para sua tendência. Scooters podem ser Criados e que o operador desliza sobre a
tendência para acessar uma variedade de dados com base na localização atual do scooter.
Por exemplo, quando o operador posiciona o scooter sobre uma área na tendência que tem
dados visíveis, o tempo e os valores na localização para todos os pontos de dados sendo
tendenciados são retornados.
É possível também criar botões para aplicar ou remover zoom entre os scooters ou para os
dados, como do valor máximo para mínimo. Desvio médio e padrão podem ser exibidos para um
gráfico completo ou para a área entre os scooters.
Tendências de histórico também podem ser roladas para qualquer quantidade de tempo. Escalas
personalizadas podem ser criadas e vinculadas ao tagname .MinEU e .MaxEU .fields para exibir
as Unidades de Medida mínima e máxima. O sistema de histórico distribuído estende as
capacidades de recuperação das tendências de histórico para incluir bancos de dados de
armazenagem remotos. O sistema permite que informações de bancos de dados de
armazenagem de histórico diversos sejam exibidas em uma única tendência.

Obs.: Você deve selecionar a opção Log Data para cada tag no Dicionário Tagname para que
elas sejam tendenciadas.

Além de suas capacidades de tendenciamento, o InTouch inclui o HistData Utility, projetado para
trabalhar com os arquivos de armazenagem de histórico InTouch. O utilitário HistData converte
arquivos de armazenagem de histórico encriptado (.LGH) para arquivos de variáveis separados
por vírgula (.CSV) para uso em planilha eletrônica ou ambientes de edição de texto como o
Microsoft Excel.

Armazenamento de tagnames no arquivo de armazenagem de histórico


No WindowViewer, os valores de tags armazenadas são escritos no arquivo de armazenagem de
histórico cada vez que elas mudam mais do que o ajuste Log Deadband especificado e, por
padrão, uma vez por hora independente de mudança. Para um valor de tag ser escrito no arquivo
de armazenagem de histórico, ele deve ser configurado para ser armazenado no Dicionário
Tagname.
Para tags do tipo inteiro e real (ponto flutuante), é possível ajustar Log Deadband em suas
respectivas caixas de diálogo de detalhe. Log Deadband controla quantas Unidades de Medida
um valor de tag deve mudar antes dele ser armazenado no disco.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-12 Módulo 7 – Tendência de histórico em tempo real

Armazenamento de uma tag


Para armazenar tags, Historical logging deve ser habilitado. Se uma tag é mudada de
armazenada para não armazenada, os dados já armazenados para a tag não ficarão disponíveis.
Entretanto, se a armazenagem de uma tag for reabilitada, os dados ficam disponíveis mas
exibirão um intervalos em branco em um traço de tendência.
Qualquer mudança no WindowMaker para armazenar enquanto o WindowViewer está em
execução é ignorada até que o WindowViewer seja reiniciado.
a. Clique em Special / Tagname Dictionary. A caixa de diálogo Tagname Dictionary é exibida:
b. Abra a definição de tag desejada e selecione a opção Log Data .

c. Clique em Close.

Obs.: As Unidades de Medida Min/Max são muito importantes para exibir dados de tendência de
histórico. A tendência de histórico exibe de 0-100% da escala EU.

Configuração da armazenagem de histórico


Para que as tags configuradas com a opção Log Data sejam escritas no arquivo de
armazenagem de histórico, a função de armazenagem global deve estar habilitada.
a. Clique em Special / Configure / Historical Logging.
A caixa de diálogo Historical Logging Properties é exibida:

b. Selecione a opção Enable Historical Logging para habilitar a armazenagem de tag global.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-13

c. Na caixa Keep Log Files for, insira o número de dias (anterior a hoje) do arquivos de
armazenagem serem mantidos no disco.

Obs.: O InTouch criará e salvará dois arquivos de armazenagem de histórico por dia (24 horas).
Portanto, considerar o espaço do disco ao configurar este valor. Se seu disco rígido não tem
espaço livre suficiente para salvar esse arquivo, a armazenagem parará. É necessário liberar
espaço no disco e reiniciar. A armazenagem pode ser iniciada e interrompida em Runtime
vinculando a tag interna $HistoricalLogging ao botão ou QuickScript ou usando o Comando
Restart Historical Logging no WindowViewer.

Por exemplo, se inserir 10 e hoje é o dia 12 do mês, os arquivos de armazenagem para os dias 2
a 12 (10 dias mais hoje) serão salvos no disco. O arquivo do dia 1o. será automaticamente
excluído. Se inserir um zero, os arquivos de armazenagem serão mantidos indefinidamente.
Store Log Files in Application Directory: Salva o arquivo de armazenagem de histórico em um
diretório do aplicativo.
Store Log Files in specific Directory: Salva os arquivos em outro diretório. Insira o caminho
completo do diretório que deseja usar.
Esta entrada deve ser um caminho DOS ou UNC como C:\histlog.
Por padrão, arquivos de armazenagem de histórico são nomeados da seguinte maneira:
YYMMDD00.LGH e YYMMDD00.IDX
onde: YY corresponde ao ano em que o arquivo foi criado
MM corresponde ao mês em que o arquivo foi criado (01-12)
DD corresponde ao dia em que o arquivo foi criado (01-31)
00 representa horas; sempre exibe zeros (independente de quando os arquivos de
armazenagem foram criados).
Por exemplo, se os arquivos foram criados em 28 de dezembro de 2005, eles seriam nomeados
da seguinte maneira:
05122800.LGH e 05122800.IDX

Obs.: Esta versão do InTouch é compatível com os arquivos de armazenagem com extensões
.LGH e .IDX. As versões anteriores do InTouch usavam a extensão .LOG para arquivos de
armazenagem.

Name of Logging Node: Insira o nome do nó de rede para o no que será armazenado no
arquivo de armazenagem de histórico.
Default % of page to print on: Insira a taxa de percentual para o tamanho da página para a
tendência.
Example: Se usar 50 como o percentual, quando imprimir uma tendência de histórico, ela
preencherá metade da página (na vertical e na horizontal). Uma cópia impressa deste tamanho
precisará aproximadamente de um quarto do tempo para preparar do que uma cópia impressa de
página inteira.
Max consecutive time to spend printing: Insira o número de milissegundos (fatia de tempo do
processador) que o módulo de impressão de tendência de histórico gastará consecutivamente
imprimindo.
Time to wait between printing: Insira o número de milissegundos que o módulo de impressão
de tendência de histórico esperará entre as cópias impressas.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-14 Módulo 7 – Tendência de histórico em tempo real

Always use colors when printing: Quando usar uma impressora colorida ou plotter.
Select Printer Font: Acessa a caixa de diálogo Font do Windows.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-15

Uso de assistentes de tendência de histórico


O seletor de tendência InTouch Wizard oferece um modo rápido e fácil de criar uma tendência de
histórico. Assistentes de tendência permitem configurar uma tendência de histórico com diversos
recursos, como scooters e zoom, em apenas alguns cliques do mouse.
Um objeto de tendência é como qualquer outro objeto desenhado no WindowMaker. Ele pode ser
movido arrastando-o com o mouse ou redimensionado arrastando uma das alças de
dimensionamento do objeto. É possível posicionar diversas tendências em uma janela.

Obs.: A configuração do assistente Hist Trend w/Scooters and Scale é semelhante ao objeto
na barra Draw Objects.

a. Clique no ícone da barra de ferramentas Wizard .


A caixa de diálogo Wizard Selection é exibida:

b. Selecione Trends.

Obs.: Os assistentes 16-Pen Trend e 16-Pen Trend Scooter não serão exibidos se não forem
instalados durante a instalação original do InTouch.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-16 Módulo 7 – Tendência de histórico em tempo real

c. Posicione o assistente Hist Trend with Scooters and Scale na janela InTouch.

d. Clique duas vezes com o mouse no assistente de tendência.


A caixa de diálogo Historical Trend Chart Wizard é exibida:

Sugestão: O assistente inserirá automaticamente os ajustes de configuração. Os ajustes


configurados para um assistente de tendência de histórico são os mesmos configurados
quando um objeto de tendência de histórico é desenhado usando a ferramenta de tendência
WindowMaker na barra de ferramentas Drawing.
e. Clique em Suggest.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-17

O assistente de tendência cria e preenche duas tags:

Values…: Esta opção permite personalizar as divisões de eixo vertical, o formato e a faixa.
f. Clique no botão Values… no assistente Historical Trend Chart .
A caixa de diálogo Value Format (Vertical Axis) é exibida:

g. Clique em OK para salvar suas mudanças.


Times…: Esta opção permite personalizar as divisões de eixo horizontal, o intervalo de tempo
e o formato de tempo.
h. Clique no botão Times… no assistente Historical Trend Chart .
A caixa de diálogo Time Format (Horizontal Axis) é exibida:

i. Clique em OK para salvar suas mudanças.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-18 Módulo 7 – Tendência de histórico em tempo real

Pens…: Esta opção permite ao usuário selecionar quais valores e cores cada pena imprimirá.
j. Clique no botão Pens… no assistente Historical Trend Chart .
A caixa de diálogo Trend Pens é exibida:

k. Clique duas vezes com o mouse no campo Tags to trend.


Uma caixa de diálogo Select Tag é exibida, mostrando apenas as tags que têm Log Data
habilitado no Dicionário Tagname:

l. Configure a primeira pena para imprimir o valor do tagname IntTag.


m. Configure a segunda pena para imprimir o valor do tagname RealTag.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-19

Allow Runtime Changes: A seleção desta opção ajusta a tendência de histórico para que
seja sensível ao toque no WindowViewer e o operador poderá mudar os recursos como as
atribuições da pena ou a data e hora de início.
n. Certifique-se de que Allow Runtime Changes esteja selecionado no Historical Trend Chart
Wizard e clique em OK.
o. Alterne para Runtime.
p. Clique com o mouse no objeto de tendência no WindowViewer.
A caixa de diálogo Historical Trend Setup é exibida:

q. Chart Start: Insira a data e a hora de início para o gráfico.


r. Display Mode: Selecione um dos três modos como descrito nos exemplos a seguir.
z Min/Max Historical Trend: Este modo exibe as tendências ou mudanças no
percentual das escalas de Unidades de Medida como uma linha vertical sobre o
intervalo de tempo, com ênfase no fluxo de tempo e na taxa de mudança e não na
quantidade de mudança.
z Average/Scatter Historical Trend: Este modo exibe o valor médio do ponto durante
os intervalos de tempo.
z Average/Bar Chart Historical Trend: Este modo exibe o valor médio do ponto
durante os intervalos de tempo na forma da barra.

Obs.: Este modo de exibição da tendência afeta o desempenho. Além disso, ele é o
comprimento das linhas desenhadas para gerar a tendência: quanto mais longas as linhas,
mais tempo leva para gerá-las. A largura da linha também é um fator de desempenho. Linhas
mais largas precisam de mais tempo para serem desenhadas. Tendências Min/Max ou
Average/Scatter são geralmente muito mais rápidas de gerar do que Average/Bar Chart.

s. Chart Length: Insira o comprimento horizontal (eixo x) de tempo a ser exibido na tendência e
selecione o aumento de tempo de acordo com o comprimento.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-20 Módulo 7 – Tendência de histórico em tempo real

Se inserir um 1 e selecionar Hrs, a tendência terá 1 hora de comprimento.


t. Chart Range: Insira a escala de percentual das unidades de medida que a tendência terá
que aplicar/remover zoom (eixo vertical y) para ser exibida na tendência.
As unidades de faixa são um percentual da escala de Unidade de Medida.
Estes valores devem ser de 0 a 100.
u. Pen#: Clique dentro campo em branco para selecionar a tag.
O Tag Browser é exibido no modo de seleção filtrado.

Somente as tags que estão definidas com a opção Log Data selecionada serão exibidas para
a fonte de tag selecionada.
Clique duas vezes com o mouse no tagname que a pena selecionada imprimirá na tendência
ou selecione o tagname e clique em OK.
A caixa de diálogo Historical Trend Setup reaparece exibindo o tagname selecionado
próximo ao botão Pen# que foi clicado originalmente.
É possível abrir a lista drop-down Filter para visualizar os filtros que podem ser usados para
preencher o Tag Browser. A primeira entrada desta lista é <none>, o que significa que
nenhum filtro está sendo usado. Somente as tags que estão definidas com a opção Log Data
selecionada serão exibidas para a fonte de tag selecionada.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-21

Assistentes de tendência de histórico adicionais


Adicionar zoom e funções de movimento ou controles de pena à sua tendência de histórico com
um assistente Trend Zoom / Pan Panel ou Trend Pen Legend. Para que estes componentes
trabalhem juntos, o mesmo tagname Hist Trend deve ser usado por todos os assistentes.
Trend Zoom / Pan Panel: Posicione e configure Trend Zoom / Pan Panel usando as mesmas
etapas destacas na seção Hist Trend with Scooters and Scale .
a. Posicione um assistente Trend Zoom / Pan Panel em sua janela InTouch e configure-a
usando o botão Suggest.

Obs.: O diagrama acima explica a funcionalidade do botão Zoom Bar e Scroll Bar quando o
assistente Historical Trend não é configurado para atualizar automaticamente.

Use os scooters na parte inferior do assistente Hist Trend with Scooters and Scale para
identificar uma área específica. Depois, clique no botão Zoom In para aplicar zoom em uma
área específica.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-22 Módulo 7 – Tendência de histórico em tempo real

Trend Pen Legend: Exibe o tagname e os valores nos Scooters para uma pena. Por padrão, o
valor de uma pena no ponto mais à esquerda da Tendência de Histórico é exibida à esquerda,
enquanto o valor da pena no ponto mais à direita é exibido no lado direito da Legenda Trend Pen.
Entretanto, é possível usar os scooters na parte inferior do assistente de Historical Trend para
exibir o valor de uma pena em um tempo específico.
b. Posicione duas Legendas Trend Pen na sua janela InTouch. Configure a primeira para o
Número da pena IntTag (e a cor da Pena de Tendência), e a segunda para o Número de Pena
RealTag (e cor).

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-23

HistData Wizard: Salva os dados de histórico para um arquivo CSV.


c. Posicione um assistente HistData em sua janela InTouch e configure usando o botão
Suggest.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-24 Módulo 7 – Tendência de histórico em tempo real

Campos dot de tendência de histórico


Para uma determinada tag de tendência de histórico há muitos .field que somente se aplicam às
tendências de histórico.

.Field Descrição
.ChartLength Leitura/Escrita de um .field tagname inteiro usado para controlar a duração de
tempo exibida em um gráfico de tendência de histórico. .ChartLength exibe o
comprimento do gráfico em segundos.
.ChartStart Leitura/Escrita de um .field tagname inteiro usado para controlar o tempo de
início e/ou para rolar a tendência de histórico correspondente. .ChartStart
exibe o número de segundos passados desde 12:00 h, 1/1/70.
.DisplayMode Leitura/Escrita de um .field tagname analógico usado para determinar o
método a ser usado na exibição de valores na tendência.
.MaxRange, Leitura/Escrita de um .fields tagname real usado para representar o percentual
.MinRange da faixa de Unidade de Medida da tagname que deve ser exibida para cada
tagname que está sendo tendenciado. Os limites para .MaxRange e
.MinRange são de 0 a 100 e .MinRange deve sempre ser menos do que
.MaxRange. Se um valor menor do que 0 ou superior a 100 é atribuído a
algum destes campos, o valor será fixado em 0 ou 100. Se .MinRange for
superior ou igual a .MaxRange, a tendência não exibirá nenhum dado.
.Pen1 - .Pen8 Leitura/Escrita de um .fields tagnames do tipo TagID usado para controlar o
tagname sendo tendenciado historicamente para cada pena. Um tagname
TagID pode apenas ser equiparado a outro tagname TagID. Ele não pode ser
combinado com nenhum outro tipo de tagname a menos que a extensão
.TagID seja adicionada ao outro tagname. .TagID não pode ser usado para
tagnames de fornecedor de histórico remoto.
.ScooterLockLeft Leitura/Escrita de campo discreto. Quando o valor deste campo é
VERDADEIRO, o scooter DIREITO não pode mover-se para a esquerda da
posição do scooter da esquerda. (0=FALSO, 1=VERDADEIRO).
.ScooterLockRight Leitura/Escrita de campo discreto. Quando o valor deste campo é VERDADE,
o scooter ESQUERDO não pode mover-se para a direita da posição do
scooter da direita. (0=FALSO, 1=VERDADE).
.ScooterPosLeft Leitura/Escrita de campo real que representa a posição do scooter esquerdo
(faixa 0,0 a 1,0).
.ScooterPosRight Leitura/Escrita de campo real que representa a posição do scooter direito
(faixa 0,0 a 1,0).
.TagID Leitura/Escrita de um .field do tagname TagID juntamente com a Tendência de
Histórico .Pen1 - .Pen8. Tagnames TagID monitoram e/ou controlam o
tagname que está sendo tendenciado pela pena.
.UpdateCount .Field inteiro somente leitura é incrementado quando uma recuperação está
completa para a tendência.
.UpdateInProgress .field discreto somente leitura que exibe o status da retenção de dados de
histórico (0=nenhuma recuperação em andamento, 1=recuperação em
andamento).
.UpdateTrend Leitura/escrita de .field de tagname discreto que pode ser ajustado para 1 para
fazer com que uma Tendência de histórico seja atualizada usando todos os
valores atuais

Funções QuickScript de histórico


Há diversas funções internas usadas para especificar a tag a ser tendenciada pela pena, exibir o
valor na localização de um scooter, rolar a tendência de acordo com um percentual, etc. Estas
funções estão descritas no Apêndice G deste manual.

Treinamento Wonderware
Seção 2 – Tendências de histórico 7-25

Utilitário HistData
O utilitário HistData oferece acesso aos arquivos de dados de histórico criados pelo InTouch. Ele
é usado para mover dados de histórico selecionados para um programa solicitante, como o
Microsoft Excel.
HistData permite visualizar imediatamente dados de histórico ou criar um arquivo para acesso
posterior. O acesso pode ser obtido através de funções de macro em um programa solicitante ou
de dentro do InTouch.
O programa HistData deve ser iniciado e reduzido a um ícone antes de iniciar qualquer programa
que o utilizará.

Obs.: O utilitário HistData não pode ser usado com as referências de tagname remotas, por
exemplo, DBS:TAG (AccessName:Item).

Banco de dados HistData


O programa HistData contém suas próprias E/S. Os itens são usados para especificar o período
de início, duração e intervalo de amostragem e assim por diante, para que os dados de histórico
sejam acessados. A seguir veja as listas de itens definidos no programa HistData.

.Field Descrição Descrição


DATADIR Mensagem Caminho do diretório contendo os arquivos de dados de histórico
(ex. C:\InTouch\App).
DBDIR Mensagem Caminho do diretório contendo o Dicionário Tagname InTouch
(ex. C:\InTouch\App).
STARTDATE Mensagem Data de início de amostra de dados no formato MM/DD/AA.
STARTTIME Mensagem Hora de início da amostra de dados no formato HH:MM:SS
usando relógio de 24 horas
DURATION Mensagem A duração de tempo para o retorno dos dados. DURATION pode
ser expressa em semanas, dias, horas, minutos e segundos. Os
caracteres a seguir são válidos: w (semana), d (dia), h (hora), m
(minuto), s (segundo). Valores fracionados também são
permitidos (ex.: 5s para 500 milissegundos). Para solicitar uma
amostra única, ajuste DURATION como 0 (zero).
INTERVAL Mensagem A duração de tempo entre amostras. INTERVAL pode ser
expresso em semanas, dias, horas, minutos e segundos (ex.1w
representa 1 semana). Valores fracionados também são
permitidos (ex. 25s representa 6 horas). (Os caracteres válidos
são os mesmos da DURATION.)

Obs.: A duração de tempo máxima permitida para DURATION


e INTERVAL é 6 semanas. Isto aplica-se a todos os tipos, dias,
segundos solicitados, etc. Por exemplo, se usar dias, 42 é o
máximo (7 dias x 6 semanas = 42).

FILENAME Mensagem Caminho completo do arquivo onde escrever os dados


solicitados (ex. C:\INTOUCH\HDFILE.CSV).
WRITEFILE Inteiro Quando ajustado em 1, HistData escreverá os dados no arquivo
especificado pelo nome de item FILENAME . Quando a
atualização do arquivo está completa, WRITEFILE é
automaticamente reinicializado como 0 (zero).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-26 Módulo 7 – Tendência de histórico em tempo real

.Field Descrição Descrição


ERROR Mensagem Um string contendo uma descrição do último erro. Será "None"
quando STATUS é 1 e conterá um string de mensagem de erro
quando STATUS é 0 (zero).
TAGS1, TAGS2,... Mensagem O string TAGS pode ter 131 caracteres no WindowViewer e 255
caracteres em Excel. O string pode ser acrescentado para
solicitações mais longas pela adição de itens de tagname
nomeados "Tags1," "Tags2", etc. Se um tagname precisa de um
texto de tagname adicional incluído nele, um mais (+) é inserido
no final string.
Por exemplo:
TAGS="$Date,ProdLevel,ProdTemp,+"
TAGS1=“ReactLevel,Temp,GasLevel,+”
TAGS2="MotorStatus"

Obs.: Tagnames duplicados não são permitidos e o


comprimento máximo de cada string de tag é de 512
bytes.

PRINTTAGNAMES Discreta O padrão deste item é 1 e faz com que HistData imprima os
tagnames na primeira linha do arquivo de saída acima da coluna
de valores associada. Se os tagnames não devem ser
impressos, o valor deste item deve ser mudado para 0 (zero).
DATA Mensagem Este item é usado para manter os dados solicitados no programa
HistData no formato de variável separada por vírgula. Ele é
usado por outros aplicativos para RECOMENDAR ou
SOLICITAR dados através de DDE.
STATUS Discreta Exibe o status da última operação. 1 indica sucesso e 0 (zero)
indica que um erro ocorreu.
Tendência de Histórico e Horário de Verão
O sistema de histórico InTouch considera fusos horários
automaticamente. Para informações sobre considerações de
Horário de Verão, consulte a área de Suporte InTouch do website
Wonderware.
SENDDATA Inteiro Quando ajustado como 1, HistData atualizará o item DATA com
os dados solicitados. Quando a atualização está completa,
SENDDATA é automaticamente reinicializado como 0 (zero).

Obs.: Se receber uma mensagem de erro dizendo que


solicitou muitos dados ao usar SENDDATA, encurte
DURATION ou reduza o número de tagnames que está
solicitando. Duplicar tagnames não é permitido e o
comprimento máximo de cada string de tag é 512 bytes.

Obs.: Para sistemas legados, certifique-se da total precisão de configuração de tempo


consultando o InTouch Tech Note #144, Como o Fuso Horário e o Horário de Verão Afetam o
Armazenamento de Histórico InTouch, incluído no Apêndice E, “Notas técnicas relacionadas ao
InTouch.”

Treinamento Wonderware
Laboratório 8 – Configuração de tendências de histórico 7-27

Laboratório 8 – Configuração de tendências


de histórico
Introdução
Neste laboratório, você criará e configurará uma Tendência de Histórico para Recuperar
informações sobre duas tags existentes, RealTag e IntTag.

Objetivo
Ao término deste laboratório, você deverá um amplo conhecimento da criação e configuração das
Tendências de Histórico InTouch .
Para isto, as seguintes tarefas devem ser concluídas com sucesso:
z Criar uma janela de tendência de histórico
z Configurar o assistente de tendência
z Definir o painel de zoom/Pan de tendência
z Definir a legenda da pena de tendência
z Definir o assistente HistData
z Definir os sliders

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-28 Módulo 7 – Tendência de histórico em tempo real

Criação de uma janela de tendência de histórico


1. Crie uma nova janela com os atributos exibidos na figura a seguir:

2. Clique em OK.
3. Pressione as teclas Ctrl+T para abrir o Dicionário Tagname.
4. Confirme que a opção Log Data está habilitada para IntTag.
5. Clique em Save.

6. Use o botão >> para rolar para baixo para RealTag.


7. Confirme que a opção Log Data está habilitada para RealTag.
8. Clique em Save, seguido por Close.

Obs.: A armazenagem de histórico não pode ser realizada em uma Tag Message.

9. Clique em Special / Configure / Historical Logging.

Treinamento Wonderware
Laboratório 8 – Configuração de tendências de histórico 7-29

A janela Historical Logging Properties é exibida:

10. Clique na caixa de seleção Enable Historical Logging .


11. Clique em OK.
12. Encerre o WindowViewer se ele estiver em execução. NÃO REINICIE O WINDOWVIEWER!
13. Crie uma janela semelhante à janela abaixo usando os assistentes Hist Trend w/Scooter
and Scales, Trend Zoom/Pan Panel, Trend Pen Legend e HistData. Inclua também dois
Sliders.
Dica: Copie e cole os sliders da janela RealTime Trend criados anteriormente.

Sliders

Tendência de
histórico com
Scooter e Escalas

Trend Zoom /
Pan Panel:

Legendas da Assistente
pena de HistData
tendência

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-30 Módulo 7 – Tendência de histórico em tempo real

Configuração do assistente de tendência


14. Clique duas vezes com o mouse na tendência.
A caixa de diálogo Historical Trend Chart Wizard é exibida:

15. Clique em Suggest para inserir tagnames.


Os nomes sugeridos são exibidos automaticamente. Tenha em mente que todos os
assistentes de Trends usados em sua janela devem agora estar associados à tag HistTrend.
16. Clique no botão Pens. A caixa de diálogo Trend Pens é exibida:

17. Clique duas vezes com o mouse no campo Pen 1.

Treinamento Wonderware
Laboratório 8 – Configuração de tendências de histórico 7-31

A janela Select Tag é exibida:

18. Selecione IntTag e clique em OK.


19. Repita as duas etapas anteriores para o campo Pen 2 e selecione RealTag.
20. Clique em OK.
21. Clique em OK novamente para sair da caixa de diálogo Historical Trend Chart Wizard.

Definição do painel de zoom/Pan de tendência


22. Clique duas vezes com o mouse em Trend Zoom/Pan Panel. A caixa de diálogo Trend
Panel Wizard é exibida:

23. Clique no botão Suggest para inserir os tagnames corretos. Certifique-se de que o tagname
HistTrend seja usado.
24. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-32 Módulo 7 – Tendência de histórico em tempo real

Definição da legenda da pena de tendência


25. Clique duas vezes com o mouse no primeiro objeto Trend Pen Legend. Este objeto exibirá
a tag IntTag. O assistente Trend Legend Wizard é exibido da seguinte maneira:

26. Clique em Suggest para inserir os tagnames corretos. Novamente, certifique-se de que o
tagname HistTrend seja usado.
27. No grupo Color, use verde para Trend Pen.
28. Verifique se 1 está inserido na caixa Pen Number.
29. Deixe todas as outras entradas com seus padrões.
30. Clique em OK.
31. Clique duas vezes com o mouse na segunda Trend Pen Legend (para a tag RealTag).
32. Clique em Suggest.
33. Insira um Trend Pen Color Red e um Pen Number 2.
34. Clique em OK.

Treinamento Wonderware
Laboratório 8 – Configuração de tendências de histórico 7-33

Definição do assistente HistData


35. Clique duas vezes com o mouse no assistente HistData e depois clique em Suggest para
inserir a tag HistTrend.
36. Insira 50 para o número de registros a serem escritos por arquivo CSV.
37. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-34 Módulo 7 – Tendência de histórico em tempo real

Definição dos sliders


Se não copiou os dois sliders da janela Real Time Trend, configure-os usando as etapas
destacas a seguir.
38. Clique duas vezes com o mouse no slider superior. Este slider será usado para a tag IntTag.

39. Configure a caixa de diálogo Slider Wizard com os atributos a seguir.


TagnameIntTag
Slide Face / Label IntTag
Fill color Green
Slide Range / Maximum 1000
Decimal Places 0
Deixe os outros ajustes padrões.
40. Clique em OK.
41. Repita este processo para o segundo slider usando:
TagnameRealTag
Slide Face / Label RealTag
Fill color Red
Slide Range / Maximum 1000
Decimal Places 0
42. Alterne para Runtime.

Treinamento Wonderware
Laboratório 8 – Configuração de tendências de histórico 7-35

Uma caixa de mensagem será exibida perguntando se deseja iniciar o programa HistData:

43. Clique em Yes.

Atualizar o
tempo atual

44. Mova os sliders para cima e para baixo para mudar os valores e escrevê-los no arquivo de
Armazenagem de Histórico.
45. Clique no botão Update to Current Time para atualizar a tendência com os dados mais
recentes.
46. Mova os scooters e clique nos botões Zoom para aplicar ou remover zoom.
47. Clique no botão “Save to File” para realizar a extração HistData. As informações extraídas
podem ser visualizadas no formato de planilha eletrônica no arquivo .csv indicado por
“Filename” no assistente HistData Panel.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


7-36 Módulo 7 – Tendência de histórico em tempo real

– Deixado em branco intencionalmente –

Treinamento Wonderware
Módulo 8

Comunicação de E/S
Seção 1 – Protocolos de comunicação de E/S 8-3
Seção 2 – Servidores de E/S Wonderware 8-13
Laboratório 9–Configuração de comunicação de E/S 8-19
Seção 3 – Localização de falhas de E/S 8-25
8-2 Módulo 8 – Comunicação de E/S

Objetivos do módulo
z Explicar protocolos de comunicação de E/S
z Estabelecer comunicação com drivers de comunicação e estar apto a configurar e
localizar falhas em Servidores de E/S

Treinamento Wonderware
Seção 1 – Protocolos de comunicação de E/S 8-3

Seção 1 – Protocolos de comunicação de E/S

Objetivos da seção
z Explicar protocolos de comunicação de E/S
z Explicar e configurar um Nome de Acesso InTouch

Esta seção explica os protocolos de comunicação de E/S e demonstra como configurar um nome
de acesso InTouch.

Troca de dados dinâmica (DDE)


Troca de Dados Dinâmica (DDE) é um protocolo de comunicação desenvolvido pela Microsoft
para permitir que aplicativos no ambiente Windows enviem/recebam dados e instruções para/de
um do outro. Ele implementa um relacionamento cliente-servidor entre dois aplicativos em
execução simultânea.
O aplicativo servidor fornece os dados e aceita solicitações de qualquer outro aplicativo
interessado nestes dados. Aplicativos solicitantes são chamados clientes. Alguns aplicativos
como o InTouch e o Microsoft Excel podem ser simultaneamente cliente e servidor.

Obs.: NetDDE um protocolo mais antigo usado para comunicação em rede para fontes
Wonderware e não Wonderware, é compatível com Windows XP e Windows 2000, mas não com
o Windows 2003 Server. A comunicação com fontes Wonderware é recomendada usando
SuiteLink.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-4 Módulo 8 – Comunicação de E/S

Wonderware SuiteLink
O Wonderware SuiteLink usa um protocolo de base TCP/IP. O SuiteLink é projetado
especificamente para atender as necessidades industriais, como integridade de dados, alto
throughput e diagnósticos mais fáceis. Este protocolo padrão é compatível para Windows 2000,
Windows 2003 Server e Windows XP.
SuiteLink não é uma substituição para o DDE. Wonderware recomenda que DDE seja usado
para comunicação com cliente interno e SuiteLink para comunicação em rede.
Cada conexão entre um cliente e um servidor depende da situação de sua rede.
O SuiteLink fornece os benefícios a seguir:
z Altos volumes de dados consistentes podem ser mantidos entre aplicativos,
independente dos aplicativos estarem em um único nó ou distribuídos em um grande
número de nós.
z Qualidade de Tempo de Valor (VTQ) coloca um registro de data e hora e um indicador de
qualidade em todos os valores de dados fornecidos para clientes VTQ.
z Diagnósticos extensos de throughput de dados, carregamento de servidor, consumo de
recurso de computador e transporte de rede se tornam acessíveis através do monitor de
desempenho do sistema operacional Microsoft Windows NT® . Este recurso é crítico para
o esquema e a manutenção de redes industriais distribuídas.
z O protocolo de transporte de rede é o TCP/IP usando a interface padrão Winsock da
Microsoft. Para usar o Protocolo de Comunicação SuiteLink, as condições a seguir devem
ser satisfeitas.
z O Microsoft TCP/IP deve estar configurado e funcionando corretamente.
z É necessário usar nomes de computador (Node Names) de não mais do que 15
caracteres.
Para mais informações sobre a instalação e configuração do Microsoft TCP/IP,
consulte sua documentação do sistema operacional Microsoft Windows.
z O Wonderware SuiteLink deve estar executando com um serviço. Se por algum
motivo o SuiteLink foi interrompido, será necessário iniciá-lo novamente. (SuiteLink é
instalado automaticamente como um Componente Comum quando instalar seu
InTouch. Ele é configurado para iniciar automaticamente como um Serviço Windows).

Treinamento Wonderware
Seção 1 – Protocolos de comunicação de E/S 8-5

Endereçamento de E/S InTouch


O InTouch identifica um elemento de dados em um programa Servidor de E/S usando uma
convenção de nome de três partes que inclui nome do aplicativo, nome de tópico e nome de item.
Para obter dados de outro aplicativo, o programa cliente (InTouch) abre um canal para o programa
servidor para especificar estes três itens.
Para que o InTouch adquira um valor de dados de outro aplicativo, ele deve conhecer o nome do
aplicativo que fornece o valor de dados, o nome do tópico dentro do aplicativo que contém o valor
de dado e o nome do item específico dentro do tópico. Além disso, o InTouch precisa saber o tipo
de dados: discreto, inteiro, real (ponto flutuante) ou mensagem (string).
Esta informação determina o tipo de E/S para o tagname quando ele é definido no banco de
dados InTouch. Quando o WindowViewer está executando, ele realizará automaticamente todas
as ações requeridas para obter e manter o valor deste item.
Por exemplo, no caso do Excel, o nome do aplicativo é "Excel," o nome de tópico é o nome da
planilha específica que contém os dados e o nome de item é a identificação da célula na planilha
eletrônica de/para a qual o dado deve ser lido/escrito.
Quando outro aplicativo Windows solicita um valor de dados do InTouch, ele também deve saber
os três itens de endereços de E/S.
A seguir, veja uma descrição da convenção de endereço de E/S para o InTouch.
z VIEW (application name) identifica o programa InTouch em Runtime que contém o
elemento de dados.
z TAGNAME (nome topic) é a palavra sempre usada ao ler/escrever um tagname no
banco de dados InTouch.
z ActualTagname (nome de item) é o tagname real definido para o item no Dicionário
InTouch Tagname.
Por exemplo, para acessar um valor de dado no InTouch do Excel (executando no mesmo
nó), uma fórmula de Referência Remota DDE seria inserida na célula dentro da qual o
valor de dado deve ser escrito:
=VIEW|TAGNAME!'ActualTagname'

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-6 Módulo 8 – Comunicação de E/S

Nomes de acesso InTouch


Ao criar tags do tipo E/S ou referências de tagname remoto, elas devem ser associadas a um
Nome de Acesso. Nomes de Acesso contém as informações que são usadas para a comunicação
com outras fontes de dados de E/S incluindo o nome de nó, nome do aplicativo e o nome de
tópico.

Criação de um Nome de Acesso

Obs.: Todos os ajustes de Servidor de E/S a seguir são específicos para o ambiente de
treinamento das instalações Wonderware. Seu instrutor fornecerá as informações de
configuração apropriadas.

Obs.: O nome de Acesso configurado nas etapas a seguir é usado no laboratório subseqüente.

a. Expanda Configure com o Application Explorer.

b. Clique com o botão direito do mouse em Access Names e selecione Open.

Obs.: Nomes de Acesso também podem ser criados durante a definição de uma tag do tipo E/S
no dicionário Tagname.

A caixa de diálogo Access Names é exibida:

c. Clique em Add.

Treinamento Wonderware
Seção 1 – Protocolos de comunicação de E/S 8-7

A caixa de diálogo Add Access Names é exibida:

d. Access Name: Inserir um Nome de Acesso


(Para simplicar, use o mesmo nome que usará para o nome de tópico.).
InTouch usa Nomes de Acesso como referência para dados de E/S em tempo real . Cada
Nome de Acesso equivale a um endereço de E/S, que pode conter um Nó, Aplicativo e
Tópico. Em um aplicativo distribuído, as referências de E/S podem ser ajustadas como
endereços globais para o Servidor de rede de E/S ou endereços locais para um Servidor de
E/S local.
e. Node Name: Usado quando os dados são de um Servidor de E/S remota em uma rede.
f. Application Name: Inserir o nome real do programa para o programa Servidor de E/S do qual
o valor de dado será adquirido. Se o valor está vindo de um Servidor de E/S Modbus
Wonderware, MODBUS é usado. Não insira a parte da extensão .exe do nome do programa.
g. Topic Name: Insira o nome de tópico para acesso. O Topic Name é um subgrupo específico
de aplicação dos elementos de dados.
No caso de dados que vêm de um programa Servidor de E/S Wonderware, o nome de tópico
deve ser exatamente o mesmo nome definido no servidor de E/S.
h. Which Protocol to use: Selecione DDE (interno) ou SuiteLink (rede).
i. Quando alertar o servidor:
Advise all items: Selecione se o programa servidor deve pesquisar todos os dados, mesmo
que estejam em janelas visíveis ou não, com alarme, armazenados, tendenciados ou usados
em um script. Selecionar esta opção afetará o desempenho e não é recomendado.
Advise only active items: Selecione se o programa servidor deve pesquisar somente pontos
em janelas visíveis e pontos que estão com alarme, armazenados, tendenciados ou usados
em qualquer script. Uma ação de botoeira Touch não será pesquisada a menos que seja
aberta em uma janela visível.
A figura a seguir exibe um exemplo de um nome de acesso completo (se o servidor de E/S
estiver no nó local, o Node Name pode ser deixado em branco como exibido a seguir).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-8 Módulo 8 – Comunicação de E/S

j. Clique em OK para aceitar o novo Nome de Acesso.

k. Clique em Close para fechar a caixa de diálogo.

Modificação ou exclusão de um nome de acesso


a. No InTouch Application Explorer, clique com o botão direito do mouse em Access Names e
selecione Open.
A caixa de diálogo Access Names é exibida:

b. Selecione o nome de acesso a ser modificado.


c. Clique em Modify. A caixa de diálogo Modify Access Names é exibida:
d. Faça alguma mudança e clique em OK.
e. Repita este procedimento se precisar modificar outros Nomes de Acesso.

Treinamento Wonderware
Seção 1 – Protocolos de comunicação de E/S 8-9

Para excluir um Nome de Acesso, selecione-o na lista e depois clique em Delete.


Uma caixa de mensagem abrirá pedindo que confirme a remoção. Clique em Yes.
f. Clique em Close ou repita este procedimento para excluir outros Nomes de Acesso definidos.

Obs.: Nomes de Acesso usados por tags não podem ser excluídos.

Definição de um tagname do tipo E/S


Todas as tags do tipo E/S recebem seus valores de outros programas de aplicativo Windows
como Excel e Servidores de E/S. Este valor é mencionado como o valor "bruto". Quando definir
uma tag no dicionário Tagname, é necessário inserir valores para Min- e Max Brutos. Estes
valores são usados pelo banco de dados como travas no valor bruto real recebido de outro
dispositivo de E/S. Por exemplo, se ajustar o valor Min Raw em 50 e o valor real recebido de um
servidor de E/S for 0, o banco de dados forçará o valor Bruto como 50.
O InTouch não exibe valores brutos. Ao invés disto, ele exibe as unidades de medida (EU).
Quando definir uma tag de E/S no dicionário Tagname, é necessário especificar valores para Min-
e Max EU. Estes valores são usados para fazer a escala do valor bruto para o valor exibido. Se
não quiser fazer a escala ou se seu dispositivo de E/S faz a escala para você ajuste os valores de
Min/Max EU igual aos valores Min/Max Brutos.
Por exemplo, considere que um transmissor de fluxo conectado a um registro de
microcomputador gere um valor de zero sem fluxo e um valor 9999 a 100% de fluxo. Os valores a
seguir seriam inseridos:
Min EU = 0 Max EU = 100
Min Raw = 0Max Raw = 9999
Um valor bruto de 5000 seria exibido, como 50.
Suponha que um transmissor de fluxo fiado a um registro de microcomputador gere um valor de
6400 sem fluxo e um valor 32000 a 300 GPM.
Min EU = 0 Max EU = 300
Min Raw = 6400Max Raw = 32000
Neste caso, um valor bruto de 12800 seria exibido como 150. Um valor bruto de 6400 seria
exibido como 0 e um Valor bruto de 0 seria exibido como 0 (todos os valores fora das escalas
ajustadas pelos valores Min Raw e Max Raw são fixados).
A escala acima funciona de forma reversa quando os dados de tag de E/S são escritos do
Dicionário Tagname InTouch para outros aplicativos Windows.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-10 Módulo 8 – Comunicação de E/S

a. Pressione Ctrl+T.
A caixa de diálogo Tagname Dictionary é exibida:

b. Clique em Detalhes.
c. Clique em New para adicionar um tagname.
d. No campo Tagname insira um nome válido para o novo tagname
e. Clique em Type.
A caixa de diálogo Tag Types é exibida:

f. Selecione I/O Integer para esta tag.


g. Clique em OK. As caixas de diálogo de detalhes respectivos serão visíveis no Dicionário
Tagname. (Se a parte de detalhes da caixa de diálogo não abrir, clique em Details na parte
superior da tela.)
h. Especifique todos os detalhes necessários para definir o item.
i. Clique em Access Name.

Treinamento Wonderware
Seção 1 – Protocolos de comunicação de E/S 8-11

A caixa de diálogo Access Names é exibida:

j. Clique duas vezes com o mouse no Nome de Acesso para usá-lo ou selecioná-lo e clique em
Close.
Na figura anterior, o nome de acesso PLC1 é selecionado para esta tag. O Nome de Acesso
selecionado (agora associado à definição da tag) é exibido próximo ao botão Access Name
na parte de detalhes do Dicionário Tagname (exibido a seguir).
k. Na Caixa Item, insira o nome do item ou o número de valor de dado no aplicativo IOServer,
PLC ou aplicativo associado. Se o nome do item deve ser o mesmo do tagname, selecione a
caixa Use Tagname as Item Name para preencher automaticamente o nome Item .

Obs.: Saiba que o “tagname” é o nome usado dentro do InTouch para se referir ao valor de dados
(tag). O Item é o nome usado para um aplicativo Windows remoto para fazer referência ao
mesmo valor. Estes nomes não têm que ser o mesmo, mas é recomendado que sejam.

l. Clique em Close.

Obs.: O campo Type pode ser modificado após adicionar o item, até que ele seja atribuído a um
link de animação ou usado em um script.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-12 Módulo 8 – Comunicação de E/S

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 2 – Servidores de E/S Wonderware 8-13

Seção 2 – Servidores de E/S Wonderware

Objetivo da seção
z Configurar um Servidor de E/S Wonderware (Modbus)

Esta seção descreverá a configuração de um Servidor de E/S Wonderware (Modbus).

Introdução
Os servidores de E/S Wonderware são programas de aplicativo Microsoft que habilitam outros
aplicativos Windows DDE (InTouch ou Excel) a acessar dados no mundo real (PLCs ou RTUs).
Os servidores Wonderware são a princípio destinados para uso com programa InTouch da
Wonderware; entretanto, eles podem ser usados por um programa Microsoft Windows capaz de
atuar como um cliente DDE.
Nesta seção, examinaremos a inicialização, configuração e o uso do servidor de E/S
Wonderware. Devido aos servidores de E/S da Wonderware serem aplicativos Windows, eles
terão a mesma aparência e as capacidades básicas. Tenha em mente que dependendo do
servidor requerido, hardware adicional (rede e outros) pode ser necessário e as telas de
configuração podem requerer informações adicionais.
As informações a seguir fazem referência ao servidor de E/S Modbus como um servidor de
comunicação ponto a ponto usando porta serial RS-232 para controladores lógicos programáveis
fornecidos no ambiente de treinamento das instalações Wonderware. Seu instrutor pode ter que
configurar as seguintes telas de forma diferente.

Obs.: Todos os ajustes de Servidor de E/S a seguir são específicos para o ambiente de
treinamento das instalações Wonderware. O instrutor fornecerá as informações de configuração
apropriadas. Ele acessa um PLC Koyo DirectLogic O5 através de sua porta de programação.

Configuração de servidores de E/S


Uma vez que o servidor de E/S esteja instalado, é necessário realizar alguma configuração. A
configuração do servidor cria automaticamente um arquivo de configuração chamado
MODBUSDV.CFG. O arquivo armazena as informações de configuração sobre as portas de
comunicação e todas as definições de tópico (descritas em detalhe posteriormente).
O arquivo de configuração é salvo automaticamente no diretório de instalação do servidor de E/S,
a menos que outro diretório seja especificado via o comando Configure / I/O Server Settings.
a. Selecione Start / Programs / WonderwareFactorySuite / IOServers / Modicon MODBUS.
A caixa de diálogo MODBUS é exibida:

b. Clique em Configure / Com Port Settings.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-14 Módulo 8 – Comunicação de E/S

A caixa de diálogo Communication Port Settings é exibida. Esta caixa é usada para
configurar a porta de comunicação que será usada para comunicar-se com o equipamento
PLC.

Com Port: Selecione a porta de comunicação conectada ao equipamento PLC.


Reply Timeout: Insira a quantidade de tempo (em segundos) que todos os PLCs conectados
através desta porta de comunicação serial terá para responder aos comandos do servidor de
E/S.

Obs.: Este tempo-limite é mantido apenas quando o PLC falha ao responder. Quando o PLC
está respondendo normalmente, não há punição. O valor padrão de 3 segundos deve ser
suficiente para a maioria das configurações.

Área Protocol : Selecione o protocolo configurado para o equipamento anexado a esta porta
de comunicação. RTU é recomendado.
Área Baud Rate : Selecione o ajuste de baud rate (taxa de bit serial) que corresponda ao
equipamento conectado a esta porta de comunicação.
Área Data Bits : Selecione a opção para o número de bits de dados que corresponde à
configuração do equipamento nesta porta de comunicação.
Se ASCII for selecionado para o protocolo, use 7. Se RTU for selecionado, use 8.
Área Stop Bits : Selecione o número apropriado de bits de parada para a porta de
comunicação. Se baud rate for maior do que 300, os bits devem ser ajustados em 1.
Área Parity : Selecione o ajuste que corresponde à configuração do equipamento nesta porta
de comunicação.

Obs.: Todos os equipamentos em uma única porta de comunicação devem ser configurados
com o mesmo Protocol, Parity, Stop Bits, Data Bits e Baud Rate.

Treinamento Wonderware
Seção 2 – Servidores de E/S Wonderware 8-15

Para esta aula de treinamento, os seguintes ajustes devem ser configurados como exibido.
c. Salve suas mudanças no diretório sugerido e clique em Done para sair.

Obs.: Clique em Save para salvar os ajustes atuais inseridos na porta de comunicação
selecionada. A caixa de diálogo Communication Port Settings permanece exibida e outra
porta de comunicação pode ser configurada.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-16 Módulo 8 – Comunicação de E/S

Criação de definições de tópico


O comando Configure / Topic Definition é usado para criar, modificar ou excluir definições de
tópico. Uma ou mais definições devem existir para cada PLC com o qual o servidor de E/S se
comunicará.
Cada definição de tópico deve conter um nome exclusivo para o PLC associado. Este nome
exclusivo é usado como a parte nome de tópico do Endereço DDE para todas as comunicações
DDE com este PLC.
a. Clique em Configure / Topic Definition. A caixa de diálogo Topic Definition é exibida:

Obs.: Uma vez que os tópicos tenham sido definidos, seus nomes serão listados no painel
Topics desta caixa de diálogo.

b. Clique em New para adicionar uma nova definição de tópico. A caixa de diálogo MODBUS
Topic Definition é exibida:

c. Topic Name: Insira um nome exclusivo (até 32 caracteres de comprimento) para o PLC no
campo.

Obs.: Ao comunicar-se com o InTouch, este nome exato é usado como o nome de tópico na
definição de Nome de Acesso.

Treinamento Wonderware
Seção 2 – Servidores de E/S Wonderware 8-17

d. ComPort: Selecione a porta de comunicação a ser associada a este tópico.


e. Slave ID: Insira uma identificação Escrava na caixa do PLC.
f. Slave Device Type: Listas drop-down contêm tipos de equipamento escravo diferentes dos
padrões.
g. String Variable Style: O PLC usará este estilo para armazenar strings ASCII em seus
registros.
h. Register Type: Selecione BINARY ou BCD, com base no hardware usado.
i. Block I/O Sizes: Coil Read: Insira o número máximo de bobinas consecutivas a ser lido por
vez. Neste exemplo, os valores lidos válidos da bobina podem estar entre 8 e 2000 e devem
ser um número par múltiplo de 8.
j. Coil Write: Insira o número máximo de bobinas consecutivas que podem ser escritas por vez.
Neste exemplo, os valores escritos válidos da bobina podem estar entre 8 e 800 e devem ser
um número par múltiplo de 8.
k. Register Read: Insira o número máximo de registros consecutivas a ser lido por vez. Neste
exemplo, os valores válidos de registro lidos podem estar entre 1 e 125.
l. Register Write: Insira o número máximo de registros consecutivos que podem ser escritas
por vez. Neste exemplo, os valores válidos de registro escritos podem estar entre 1 e 100.
m. Update Interval: Insira a freqüência (em milissegundos) na qual o servidor de E/S lerá
(pesquisará) os itens/pontos associados a este tópico. Itens/pontos diferentes podem ser
pesquisados a taxas diferentes definindo nomes de tópicos diversos para o mesmo PLC e
selecione taxas diferentes de atualização para cada tópico.
n. Clique em OK para aceitar as entradas e fechar a caixa de diálogo.
A caixa de diálogo Topic Definition abrirá com o novo tópico listado:

o. Clique no botão Done para fechar esta caixa de diálogo e retornar à janela do programa do
servidor.
p. Clique em Modify para mudar uma definição de tópico existente.
q. Clique em Deletepara excluir uma definição de tópico existente.

Obs.: As informações anteriores são fornecidas apenas como exemplo. As etapas de


configuração para esta classe são fornecidas no laboratório a seguir.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-18 Módulo 8 – Comunicação de E/S

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 9 – Configuração de comunicação de E/S 8-19

Laboratório 9 – Configuração de
comunicação de E/S
Introdução
Neste laboratório, você configurará um servidor Modbus e estabelecerá comunicação com drivers
de comunicação por meio da criação e animação de novas tags.

Assumptions
Este laboratório foi desenvolvido usando um PLC Koyo como a fonte de dados. Se um PLC
contendo lógica de simulação não estiver disponível, um laboratório semelhante usando o
programa SIMULATION é fornecido no Apêndice F,
“I/O Simulation.” O programa SIMULATION é incluído com o InTouch.
A configuração do Servidor de E/S Modbus está incluída como uma tarefa orientada pelo instrutor
começando em página 8-13. Se o servidor de E/S ainda não foi configurado, faça isto agora.

Obs.: Todos os ajustes de Servidor de E/S a seguir são específicos para o ambiente de
treinamento das instalações Wonderware. Seu instrutor fornecerá as informações de
configuração apropriadas.

Objetivos
Ao final deste laboratório, você:
z Iniciará e configurará o Modbus Server
z Definirá o MODBUS Topic
z Criará um Novo Nome de Acesso
z Criará uma Janela de Chão de Fábrica

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-20 Módulo 8 – Comunicação de E/S

Início e configuração do Modbus Server


1. Se ainda não foi iniciado, inicie o servidor Modbus clicando em
Start / Programs / Wonderware FactorySuite / IO Servers / Modicon MODBUS.

2. Quando o servidor estiver executando, clique em Configure/Com Port Settings.


Certifique-se de que os ajustes a seguir estejam configurados.

3. Clique em Done.

Treinamento Wonderware
Laboratório 9 – Configuração de comunicação de E/S 8-21

Definição do MODBUS Topic


4. Clique em Configure / Topic Definition.
5. Clique em New.
A caixa de diálogo Modbus Topic Definition é exibida:

6. Insira PLC1 no campo Topic Name.


7. Certifique-se de que COM1 esteja selecionada no campo Com Port .
8. Selecione BCD como o Register Type.
Insira 100 para Update Interval.
9. Clique em OK.
Topic é exibida na caixa de definição Topic no painel Topics :

10. Clique em Done.


11. Minimize o servidor Modbus.
12. Maximize o WindowMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-22 Módulo 8 – Comunicação de E/S

Criação de um Novo Nome de Acesso


13. Selecione Configure / Access Names do WindowMaker Application Explorer.
14. Clique duas vezes com o mouse em Access Names.
15. Clique em Add.

A caixa de diálogo Add Access Names é exibida:


16. Insira as informações exibidas na figura a seguir.

17. Clique em OK para aceitar o novo Acess Name.


Seu novo Access Name é agora exibido no painel Access Names .
18. Clique em Close.

Treinamento Wonderware
Laboratório 9 – Configuração de comunicação de E/S 8-23

Criação de uma janela de chão de fábrica


Neste laboratório, criaremos uma nova janela denominada Main, em que os materiais serão
recebidos da tremonha para um tambor de mistura. Haverá duas válvulas anexadas ao tambor de
mistura permitindo que dois ou mais materiais sejam adicionados. A mistura será agitada e
drenada. Para uma descrição completa, consulte a página página 8-24.
19. Crie uma nova janela denominada Main.

Importante: Todas as tags, exceto Start, devem ser configuradas como ‘somente leitura’.

20. Crie as tags a seguir. Uma vez que estaremos nos comunicando com um PLC, as tags
precisarão ser atribuídas ao Nome de Acesso, PLC1, com os itens listados abaixo.

Tagname Tipo de tag Nome de Acesso: Item


Início E/S discreta PLC1 2049
Gate_Valve E/S discreta PLC1 2050
Valve_A E/S discreta PLC1 2051
Valve_B E/S discreta PLC1 2052
Agitador E/S discreta PLC1 2053
Drain_Valve E/S discreta PLC1 2054
Tank_Level E/S inteiro PLC1 40001
(Min/Max EU 0-1000)
(Min/Max Raw 0-1000)

21. Adicione texto a cada uma das tags na janela Main.

22. Vincule cada objeto de texto à tag apropriada a seguir.

Tagname Link de animação


Início Botão Touch – Válvula discreta - Alternar, Cor de Texto Discreto - Verde/
Vermelho
Gate_Valve Cor de Texto Discreto – Verde/Vermelho
Valve_A Cor de Texto Discreto – Verde/Vermelho
Valve_B Cor de Texto Discreto – Verde/Vermelho
Agitador Cor de Texto Discreto – Verde/Vermelho
Drain_Valve Cor de Texto Discreto – Verde/Vermelho
Tank_Level Exibir valor - Analógico

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-24 Módulo 8 – Comunicação de E/S

23. Alterne para Runtime para testar os links.

z O campo de texto Start deve ser alternado entre Verde e Vermelho quando clicado.
z O campo de texto Gate_Valve deve mudar de Verde para Vermelho quando o valor da
tag muda.
z Os campos de textos Valve_A e Valve_B devem mudar de Verde para Vermelho
quando o valor da tag muda.
z O campo de texto Agitator deve mudar de Verde para Vermelho quando o valor da tag
mudar.
z O campo de texto Drain_Valve deve mudar de Verde para Vermelho quando o valor da
tag muda.
z O campo de texto Tank_Level deve mudar quando o valor da tag muda.
Agora é com você. Tente ser o mais criativo possível. Por exemplo: use o máximo de links
de animação possível, implemente tendência, tente usar assistentes, bitmaps, etc.
Os materiais usados nesta visualização de processo são totalmente escolhidos por você.

Observação Importante: Descrição do Processo:

Quando ‘Start’ é ajustado como Verdadeiro, o ‘Gate_Valve’ abrirá e o ‘Tank_Level’ começará


a aumentar até que ele atinja 300, ponto no qual Gate_Valve fechará.

‘Valve_A’ abrirá e o ‘Agitator’ acionará a mistura do produto. Quando o ‘Tank_Level’ atinge


600, ‘Valve_A’ fechará e ‘Valve_B’ abrirá.

Quando o ‘Tank_Level’ atingir 1000, ‘Valve_B’ fechará, o ‘Agitator’ desligará e


‘Drain_Valve’ abrirá fazendo com que o ‘Tank_Level’ diminua para 0 (zero).

Este processo será repetido desde que o ponto ‘Start’ permaneça True. Se ‘Start’ for
ajustada como ‘False’, o processo parará quando o valor ‘Tank_Level’ atinge 0 (zero).

Treinamento Wonderware
Seção 3 – Localização de falhas de E/S 8-25

Seção 3 – Localização de falhas de E/S

Objetivo da seção
z Explicar a localização de falha para o InTouch E/S

Esta seção explica como localizar falhas de E/S de comunicação entre o servidor de E/S e o
InTouch, e entre o servidor de E/S e o PLC.

Obs.: Todos os ajustes de servidor de E/S são específicos para o ambiente de treinamento nas
instalações da Wonderware. O instrutor fornecerá as informações de configuração apropriadas.

A figura a seguir ilustra onde as falhas podem ocorrer:

Comunicação entre o InTouch e o servidor de E/S


Situações de erro podem ocorrer ao tentar estabelecer uma conversação de E/S entre o InTouch
e o servidor de E/S interno.
Quando o WindowViewer requer o status de um item de E/S, ele abre um canal com o servidor de
E/S e solicita que ele alerte o WindowViewer quando o item DDE muda.
O servidor de E/S lida automaticamente com todas as mensagens para/do PLC. O aplicativo
cliente simplesmente informa o servidor sobre qual registro, nr. de bobina ou ponto de E/S deve
ser lido ou gravado. Ele atualiza automaticamente o cliente mediante qualquer mudança dos
valores de dado.
É altamente recomendado sempre iniciar o servidor de E/S antes de iniciar o WindowViewer. Se o
WindowViewer tentar estabelecer um canal com um servidor de E/S que não está em execução, a
caixa de mensagem Initializing I/O abrirá para cada conversação de E/S não inicializada.

Quando esta caixa de diálogo é exibida, observe as informações na segunda linha. Estas
informações indicam que ao menos uma tag no WindowMaker está vinculada ao Nome de
Acesso que define MODBUS como o nome do aplicativo e PLC1 como o nome de tópico.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-26 Módulo 8 – Comunicação de E/S

Neste caso, quando o programa WindowViewer foi iniciado, ele imediatamente procurou um
aplicativo de servidor de E/S chamado MODBUS contendo um tópico definido como PLC1. Ele
não encontrou este aplicativo e/ou tópico e está notificando que comunicações não podem ser
estabelecidas.
A seguir, veja a descrição de três situações que farão com que a caixa de diálogo anterior abra.
z O servidor de E/S não está executando.
O aplicativo de servidor de E/S (MODBUS neste caso) não está executando. É possível
verificar abrindo Windows Task List (CTRL+ALT) e marcando a lista de aplicativos em
execução no momento para o servidor MODBUS.
z O nome do programa de servidor está escrito errado na definição de Nome de
Acesso.
O servidor está executando, mas seu nome está escrito errado em uma ou mais
definições de Nome de Acesso. O nome inserido na definição de Nome de Acesso deve
ser o nome do programa do servidor de E/S real (menos a extensão .EXE) como visto
no Windows Explorer.
z O tópico não está definido no servidor ou está escrito errado.
Presuma que o nome do servidor esteja escrito corretamente e esteja executando.
WindowViewer está agora procurando um tópico definido no servidor como PLC1.
Para verificar o nome de tópico, feche WindowViewer. O servidor não pode ser configurado se
o WindowViewer estiver em execução. Abra a janela do programa servidor de E/S e clique em
Configure / Topic Definition. Se houver um tópico definido como PLC1 listado na caixa de
diálogo, certifique-se de que ele esteja escrito exatamente da mesma forma (incluindo
espaços, etc.) como no campo de definição do Nome de Acesso.

Obs.: Certifique-se de que não há espaços em branco após o nome de tópico na definição
do servidor e do Nome de Acesso no WindowMaker.

Quando confirmar todas as situações acima, reinicie o WindowViewer e alterne para a janela
do programa do servidor. Os dados devem agora aparecer na janela. Este dado indica que o
WindowViewer e o servidor estejam comunicando. Os dados indicam também mensagens de
ler e escrever que o servidor está tentando enviar ao PLC. Não há mensagens de erro:
somente mensagens de status são escritas nesta janela.

Se nenhum dado é exibido na janela do servidor, verifique se há mensagens de Error Log no


FactorySuite. A mensagem de erro mais comum é:
Error for DDE: MODBUS|PLC1!<null> ("item") Advise failed
Esta mensagem de erro indica que o item usado em um ou mais tagnames não é reconhecido
no servidor. Os tagnames InTouch usam convenções específicas de nomes quando acessam
os dados de um servidor.

Treinamento Wonderware
Seção 3 – Localização de falhas de E/S 8-27

Monitoração de status de comunicação entre o InTouch e o servidor de E/S


O WindowViewer é compatível com um nome de tópico incorporado chamado IOStatus que pode
ser usado para monitorar o status de conversações de E/S específicas.
Ao monitorar uma conversação E/S usando IOStatus, é necessário definir ao menos um tipo de E/
S para o Nome de Acesso que está sendo monitorado.
Presuma que o WindowViewer (View) está se comunicando como o Wonderware Modbus I/O
Server como um PLC que foi definido no servidor de E/S com o PLC1 para seu topic name.

Obs.: Cada Tópico nos servidores de E/S da Wonderware inclui um bit de status.

a. Clique em Special / Tagname Dictionary para abrir a caixa de diálogo Dicionário Tagname .
b. Crie uma tag do tipo Discreta E/S .

c. Clique em Access Name para atribuir a tag a uma definição de Nome de Acesso que define
IOStatus para seu nome de tópico.
A caixa de diálogo Access Name Definition é exibida:
Observe que uma definição de Nome de Acesso denominada PLC1 (o tópico que precisamos
monitorar) existe atualmente. Para certificar-se de que este é o Nome de Acesso correto (com
o nome de tópico de PLC1), será necessário acessar a janela Modify Access Name .

d. Selecione PLC1 e clique em Modify.


Encontrar o Nome de Acesso com o nome de tópico certo neste exemplo é fácil porque
mantemos o tagname e o Topic Name iguais.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-28 Módulo 8 – Comunicação de E/S

e. Clique em Cancel para fechar a caixa de diálogo e retornar à caixa de diálogo Access Name
Definition.

A caixa de diálogo Access Names é exibida:

f. Clique em Add.
A caixa de diálogo Add Access Names é exibida:

g. No campo Access, insira IOStatus.


h. Como vamos monitorar o status no WindowViewer, no campo Application Name insira View.
i. No campo Topic Name insira o tópico interno InTouch IOStatus.

Treinamento Wonderware
Seção 3 – Localização de falhas de E/S 8-29

j. Selecione Advise only active items.


k. Clique em OK para fechar a caixa de diálogo.
A caixa de diálogo inicial Access Name Definition é reexibida mostrando o nome Access
Name, IOStatus:

l. Clique em Close.
m. Na caixa Item, insira o Access Name real a ser monitorado, neste caso, PLC1.

n. Ao configurar um link de texto de monitoração, indique os links às suas respectivas Tags de E/


S e configure Text Color- e/ou os links de animação Value Display- DISCRETE para as
tags.
O teste do link ServerStatus pode ser feito fechando o servidor de E/S (neste exemplo,
MODBUS).
o. Reinicie a E/S reiniciando o servidor MODBUS, depois selecione Special/Reinitialize I/O no
menu principal WindowViewer.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-30 Módulo 8 – Comunicação de E/S

Monitoração de status de comunicação entre o servidor de E/S e o


equipamento de E/S
Para cada nome de tópico sendo usado, há um item incorporado discreto, Status, que pode ser
usado para monitorar o estado das comunicações com o programa Servidores de E/S.
Status é ajustado como 0 quando a comunicação com o equipamento falha (cabo desconectado,
PLC está desenergizado e assim por diante) e é ajustado como 1 quando a comunicação está
correta.

Obs.: Ao monitorar o status de um tópico usando o item Status, ao menos um ponto de E/S deve
estar ativo.

A partir do InTouch, leia o status do servidor de comunicação definindo um tagname e


associando-o ao tópico configurado para o equipamento.
O Status deve ser usado como o nome de item.
Por exemplo, se o WindowViewer está se comunicando com um PLC usando o servidor de E/S
Modbus Wonderware, a definição do Nome de Acesso deve ser a seguinte.

Para monitorar o status de toda comunicação ao tópico, PLC1, crie a seguinte definição de
tagname.

O teste para o tópico PLC1 (exemplo anterior) pode ser feito com a desconexão do PLC.

Treinamento Wonderware
Seção 3 – Localização de falhas de E/S 8-31

Status de comunicação de monitoração de E/S do Excel


A partir do Excel, leia o status de comunicação do PLC inserindo a seguinte fórmula em um
célula:
=MODBUS|PLC1!'STATUS'

Usa do nome de tópico IOStatus no Excel


O Excel pode ser usado para realizar este tipo de monitoração inserindo a mesma informação em
uma fórmula em uma célula de planilha eletrônica. Por exemplo, para monitorar os mesmos
tópicos acima, o seguinte deve ser inserido:
=view|IOStatus!'PLC1'

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


8-32 Módulo 8 – Comunicação de E/S

– Deixado em branco intencionalmente –

Treinamento Wonderware
Módulo 9

Funcionalidade de tag avançada


Seção 1 – Funções de E/S avançadas 9-3
Seção 2 – Tags indiretas 9-7
Laboratório 10–Criação e uso de tags indiretas 9-9
Seção 3 – InTouch SuperTags 9-15
Laboratório 11–Definição de SuperTags 9-27
Seção 4 – DBDump e DBLoad 9-37
Seção 5 – Otimização do dicionário Tagname 9-43
Laboratório 12–Exclusão de Tags 9-55
9-2 Módulo 9 – Funcionalidade de tag avançada

Objetivos do módulo
z Identificar as funções de E/S avançadas
z Modificar os parâmetros de E/S das tags e acessar nomes em Runtime
z Mudar a atribuição da tag em Runtime
z Usar ferramentas de criação de tag avançadas
z Excluir tags do dicionário Tagname

Treinamento Wonderware
Seção 1 – Funções de E/S avançadas 9-3

Seção 1 – Funções de E/S avançadas

Objetivos da seção
z Identificar funções de E/S avançadas
z Explicar o endereçamento de referência dinâmica

Esta seção explica a funcionalidade de E/S avançada do InTouch incluindo as funções


IOSetAccessName e IOSetItem e o Endereçamento de Referência Dinâmica.

Função IOSetAccessName
A função QuickScript IOSetAccessName modifica o nome de nó, nome de aplicativo ou
partes de nome de tópico tópico de um Nome de Acesso durante Runtime. Isto habilita a
implementação de estratégias hot-backup para InTouch.
Sintaxe IOSetAccessName("AccessName", "NodeName", "AppName", "TopicName");

Argumentos Descrição
AccessName O Nome de Acesso existente para atribuir os novos valores AppName e Topic Name.
String real ou tag de mensagem.
NodeName O novo Nome de Nó a atribuir. String real ou tag de mensagem.
AppName O novo Nome de Aplicativo a atribuir. String real ou tag de mensagem.
TopicName O novo Nome de Tópico a atribuir. String real ou tag de mensagem.

Os valores Nome de Acesso, Nome de Nó, Nome de Aplicativo e Nome de Tópico podem ser
especificados como strings literais ou eles podem ser valores de string fornecidos pelas tags
InTouch ou funções. Se um string ("") vazio é especificado para um argumento, este argumento
retém seu valor atual.
Por exemplo, o Nome de Acesso MyAccess1 pode ser modificado para apontar para o aplicativo
EXCEL e o tópico Book1, sem afetar o Nome de Nó atual, usando a seguinte função script.
IOSetAccessName("MyAccess1", "", "EXCEL", "Book1");
Se um string vazio for especificado para um Tópico, o valor do Aplicativo atual do Nome de
Acesso é atualizado e seu valor Tópico é retido.
Por exemplo, o seguinte muda o Nome de Aplicativo para nome de acesso MyAccess2 para
"EXCEL" sem afetar seu valor Tópico atual.
IOSetAccessName("MyAccess2", "", "EXCEL", "");
De forma semelhante, se um string vazio for especificado apenas para um Nome de Aplicativo, o
valor Tópico atual da tag é atualizado e seu valor Aplicativo é retido.
Por exemplo, o seguinte muda o Tópico para tagname MyAccess3 para "Book2" sem afetar seu
valor de Nome de Aplicativo atual.
IOSetAccessName("MyAccess3", "", "", "Book2");
Por exemplo, o seguinte muda o Tópico para tagname MyAccess3 para "PLC2" sem afetar seu
valor de Nome de Nó atual ou Nome de Aplicativo.
IOSetAccessName("MyAccess3", "", "", "PLC2");
Este exemplo seria usado quando a redundância de PLC é um requisito.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-4 Módulo 9 – Funcionalidade de tag avançada

Obs.: Quando IOSetAccessName é processado, há um atraso de tempo quando a conversão


existente é concluída e a nova conversão é iniciada. Durante este tempo, qualquer tentativa de
POKEs ou de escrita para o novo tópico será perdida.

Uso da função IOSetItem


A função IOSetItem é usada para ajustar um campo .Reference da tag do tipo E/S.
Sintaxe IOSetItem(“Tagname”, “AccessName”, “Item”);

Parâmetros Descrição
Tagname Qualquer tagname de ES InTouch encerrado por aspas.
AccessName O Nome de Acesso para o qual mudar a tag.
Item O Item para o qual mudar a tag.
Os valores Tagname, AccessName e Item podem ser especificados como strings literais
ou eles podem ser valores de string fornecidos por outras tags InTouch ou funções.

Por exemplo, o campo .Reference do tagname MyTag1 pode ser modificado para apontar o
nome de acesso Excel e o item R1C1 usando a função script a seguir.
IOSetItem("MyTag1", "excel", "R1C1");
ou por:
Number = 1;
TagNameString = "MyTag" + Text(Number, "#");
IOSetItem(TagNameString, "excel", "R1C1");
Se um string (" ") vazio for especificado para os valores Nome de Acesso e Itens, a tag é
desativada. Por exemplo, a tag MyTag2 é desativada por.
IOSetItem("MyTag2", "", "");
Se um string vazio for especificado apenas para um Item, o valor Item atual da tag é retido e seu
valor AccessName é atualizado. Por exemplo, o seguinte muda o Nome de Acesso para tagname
MyTag3 para "Excel2 " sem afetar seu valor Item atual.
IOSetItem("MyTag3", "excel2", "");

Obs.: Se um espaço aparecer entre as aspas duplas, o argumento é ajustado como blank ou
deactivate. Nenhum espaço entre aspas duplas significa “não mude este argumento.”

Da mesma forma, se um string vazio for especificado apenas para um AccessName, o valor Item
atual da tag é retido e seu valor AccessName é atualizado. Por exemplo, o seguinte muda o Item
para tagname MyTag3 para "R1C2" sem afetar seu valor Access Name atual.
IOSetItem("MyTag3”, "", "R1C2");

Treinamento Wonderware
Seção 1 – Funções de E/S avançadas 9-5

Endereçamento de referência dinâmica (DRA)


Endereçamento de referência dinâmica permite endereçar diversas fontes de dados com um
único tagname. Ao atribuir uma referência válida a um campo .Reference de uma tag do tipo E/S,
o endereço da fonte de dados para a tag pode ser dinamicamente modificado.
Cada tag do tipo E/S inclui uma referência associada ao endereço de sua fonte de dados. A
sintaxe válida para o campo .Reference é a seguinte.

Sintaxe Descrição
Tagname.Reference="accessname.item” Muda o Nome de Acesso e item.
Tagname.Reference="[.]item” O mesmo Nome de Acesso, item diferente.
Tagname.Reference="accessname” Muda o Nome de Acesso.
Tagname.Reference= “ “ Desativa o tagname. Se um Nome de Acesso ou
Item não for especificado, o valor atual para esse
campo é assumido.
.ReferenceComplete 1 = Valid I/O for tag.0 = Either Access Name ou Item
is invalid for tag.

Obs.: Referências dinâmicas são usadas para visualizar pontos de dados cujos valores somente
são necessários temporariamente, como aplicativos em diagnósticos. Isto o torna uma ferramenta
ideal de localização de falhas. Uma vez que a fonte de dados de um tagname pode ser
modificado, referências dinâmicas não devem ser usadas para dados que precisam ser
permanentemente armazenados ou continuamente monitorados para condições de alarme.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-6 Módulo 9 – Funcionalidade de tag avançada

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 2 – Tags indiretas 9-7

Seção 2 – Tags indiretas

Objetivos da seção
z Explicar o conceito e a prática de Tags indiretas
z Discutir as vantagens e desvantagens de usar Tags Indiretas

Esta seção explica o conceito e a prática de tags indiretas, incluindo discussões das vantagens e
desvantagens.

Tags indiretas
As tags do tipo indireta permitem criar uma janela e reatribuir as tags naquela janela a diversas
fontes. Por exemplo, é possível criar um Data Change QuickScript que modificaria a fonte de
todas as tags em uma janela, com base no valor que foi modificado.
Quando adequar uma tag indireta a outra fonte de tag, as tags indiretas e fonte tornam-se cópias
exatas uma da outra em todos os aspectos, incluindo .fields, scripts, etc.
Se o valor da tag fonte muda, a tag indireta reflete a mudança. Se o valor da tag indireta muda, a
tag fonte muda de acordo. É possível definir os valores de tag indireta no banco de dados como
retentivas e reiniciá-las para assumir a última atribuição da tag na inicialização.
As tags indiretas são atribuídas usando o campo .Name. Por exemplo, se criar uma tag analógica
indireta denominada Setpoint e usar a expressão abaixo em uma QuickScript, Setpoint1 se
tornaria a fonte para o valor do Setpoint, e vice versa:
Setpoint.Name = "Setpoint1";
Setpoint.Name = Setpoint1.Name;
É possível também concatenar tagnames para uso em tags indiretas. Por exemplo, se criou um
Data Change QuickScript que executa toda vez que um valor do tagname "Number" muda, o
tagname indireto, "Setpoint," mudaria de acordo:
Number = 1;
Setpoint.Name = "Setpoint" + Text(Number, "#" );
Quando este QuickScript é executado, o valor da tag analógica Number é convertido para texto e
adicionado à tag analógica Setpoint, tornando o Setpoint.Name igual a Setpoint1.
As tags do tipo analógicas indiretas são usadas para tags inteira (números completos) e real
(ponto flutuante).
As tags indiretas podem ser mapeadas para qualquer tag desde que sejam do mesmo tipo.

Vantagens do endereçamento de tag indireta


z Salvar no desenvolvimento da janela
z Expansível
z É compatível com tendências de alarme e de histórico
z É compatível com .fields (atributos de uma tag)
z É compatível com Referência Remota de Tagname
z Trabalha com Endereçamento de Referência Dinâmica

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-8 Módulo 9 – Funcionalidade de tag avançada

Desvantagens do endereçamento de tag indireta


z Aumenta contagem de tag
z Requer planejamento (ex. tagnames, scripting)
z Etapas especiais devem ser tomadas para garantir que as tags atribuídas as tags
indiretas não sejam excluídas

Obs.: Se uma atribuição indireta não existir ou se a tag não foi criada, a última atribuição é
retida.

Treinamento Wonderware
Laboratório 10 – Criação e uso de tags indiretas 9-9

Laboratório 10 – Criação e uso de tags


indiretas
Introdução
O laboratório a seguir demonstra a criação e uso de Tags Indiretas. Elas são criadas a fim de
atribuir tags a diversas fontes usando QuickScripts.

Objetivos
Ao final deste laboratório, você:
z Criará e usará as tags indiretas

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-10 Módulo 9 – Funcionalidade de tag avançada

Criação de tags indiretas


1. Abra a janela Scratch no WindowMaker.
2. Insira dois sliders, um botão e um objeto de exibição de texto como mostrado.

3. Crie duas novas tags denominadas Tag_A e Tag_B, com um Min Value de 0 e um Max
Value de 100. Cada uma é um tipo Inteiro de Memória.
4. Anexe uma Tag_A a um slider como exibido.

5. Anexe Tag_B a um segundo slider.


6. Mude cada Legenda do slider para refletir os tagnames.

Treinamento Wonderware
Laboratório 10 – Criação e uso de tags indiretas 9-11

Configuração do objeto botão


7. Anexe o seguinte script Touch Pushbutton Action - On Key Down ao botão.

8. Clique em Validate.
Será solicitado que defina uma referência de tag Indirect_Toggle.

9. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-12 Módulo 9 – Funcionalidade de tag avançada

10. Defina a tag Indirect_Toggle como Discreta Memória.

11. Clique em Close.


Você receberá uma solicitação para definir Indireta.

12. Clique em OK.


13. Defina Indireta como um tipo Analógica Indireta.

14. Clique em Save, seguido por Close.


15. Clique em OK para sair do editor de script.
16. Clique em OK para sair da caixa de diálogo Animation Links Selection .
17. Mude o texto do botão para que seja Indirect_Toggle.

Treinamento Wonderware
Laboratório 10 – Criação e uso de tags indiretas 9-13

Configuração do objeto de texto


18. Clique duas vezes com o mouse no objeto de texto.
19. Atribua um link User Input – Analog .
20. Insira os valores exibidos na figura a seguir.
21. Clique em OK para sair do link de animação.

22. Alterne para Runtime.

23. Mova o slider Tag_A para cima.


24. Mova o slider Tag_B para uma localização diferente.
25. Clique no botão Indirect_Toggle.
O valor muda para refletir os ajustes do slider oposto.
Mover o slider muda o valor exibido para o slider selecionado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-14 Módulo 9 – Funcionalidade de tag avançada

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 3 – InTouch SuperTags 9-15

Seção 3 – InTouch SuperTags

Objetivo da seção
z Definir as SuperTags usando a estrutura de modelo SuperTag

Esta seção definirá SuperTags usando a estrutura de modelo SuperTag.

Introdução
As SuperTags são uma ferramenta de desenvolvimento que fornece um modo de organizar e
duplicar rapidamente tags.
O InTouch fornece uma estrutura de modelo que permite a definição de tipos de tagname
compostos conhecidos como SuperTags. Modelos SuperTag podem conter até 64 tagnames
membros e 2 níveis de encadeamento.
Uma SuperTag parente pode conter até 64 membros filhos embutidos e cada membro filho pode
conter até 64 tagnames submembros para um total de 4096 tagnames membros. (Quando um
modelo SuperTag parente é embutido em outro ele se torna um membro filho ).
Todas as tags filhas modelo SuperTag comportam-se exatamente como tags normais. Elas são
compatíveis com tendência, alarme e todos tagname .fields.
Por uma questão de conveniência, o InTouch fornece um TemplateMaker que pode ser usado
para criar suas SuperTags. O TemplateMaker permite criar, editar e excluir modelos e tagnames
membros SuperTag.
O InTouch salva todos os modelos SuperTag no arquivo SUPERTAG.DAT dentro de seu diretório de
instalação InTouch (não no diretório do aplicativo). Isto permite que os modelos sejam usados em
qualquer aplicativo.
O InTouch fornece também a habilidade de criar SuperTags de diversos modos alternativos. Por
exemplo, as SuperTags podem ser criadas diretamente do Dicionário Tagname, em um tagname
de link de animação ou caixas de entrada de expressão, em InTouch QuickScripts, ou em um
arquivo externo que pode ser descarregado dentro de seu aplicativo usando o utilitário InTouch
DBLoad.
Quando criar um modelo parente SuperTag, seu nome é adicionado automaticamente à sua caixa
de diálogo tagname Tag Types no Dicionário Tagname e fica imediatamente disponível para
seleção quando um novo tagname é criado. WindowMaker não precisa ser reiniciado para definir
tagnames usando um tipo de SuperTag recentemente criado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-16 Módulo 9 – Funcionalidade de tag avançada

Sintaxe SuperTag
Uma vez que os InTouch tagnames são limitados a 32 caracteres, cada SuperTag
ParentInstance\ChildMember\Sub-member é restrita a um máximo de 32 caracteres. Uma
referência SuperTag somente pode ser um máximo de dois modelos
(ParentInstance\ChildMember) e com um membro de detalhe ilustrado na figura a seguir.

Cada membro em um modelo SuperTag está acessível no formato padrão atualmente usado para
acessar os .fields dos tipos tagnames InTouch normais. A sintaxe de referência SuperTag é
compatível em todo o InTouch onde tagnames normais podem ser usados. Por exemplo, uma
referência de SuperTag válida seria:
ColdRoom4\EvapUnit1\FanMotor2.MaxEU
Referências de tag remota também são compatíveis com SuperTags. Por exemplo:
PLC1:"Turkey\EvapUnit2\PrsRegVlv.EngUnits"

Estrutura de modelo SuperTag


Para ilustrar de forma realista o conceito SuperTag em um ambiente de fábrica, presuma que
temos quatro câmera frigoríficas refrigeradas idênticas onde armazenar carne de vaca, carne de
porco, frango e peru. Cada uma destas câmeras tem um sensor de temperatura e duas unidades
de evaporador. Cada unidade de evaporador tem sete valores de dados que podemos monitorar
ou controlar em Runtime. Uma janela InTouch HMI pode ser parecer com a figura a seguir:

Treinamento Wonderware
Seção 3 – InTouch SuperTags 9-17

Sem o uso de modelos SuperTag, precisaríamos definir manualmente cada tagname individual
para cada valor de dados em cada câmera frigorífica multiplicado pelo número total de câmeras.
Em outras palavras, teríamos que organizar e definir dezenas de tagnames no Dicionário
Tagname.
Usando SuperTags podemos economizar horas de tempo de desenvolvimento e minimizar a
possibilidade de cometer erros. Usando o cenário da câmera frigorífica descrito acima, criamos
um modelo parente SuperTag chamado EvapUnit. Este EvapUnit se tornará mais tarde um
membro filho do modelo parente ColdRoom. Este é um conceito de projeto de base de detalhe.
EvapUnit será definido com sete tagnames submembros.

Tag membro Tipo Descrição


FanMotor1 Discreta Partida do motor para Ventilador 1
FanMotor2 Discreta Partida do motor para Ventilador 2
DefrostVlv Discreta Estado da válvula de gás de degelo
LiquidVlv Discreta Estado da válvula de líquido refrigerante
CoilTemp Real Temperatura do refrigerante
PrsRegVlv Inteiro Válvula reguladora de pressão (0-100%)
EvapStatus Mensagem String de status de unidade do evaporador

Modelo parente SuperTag


a. Clique em Special / TemplateMaker. A caixa de diálogo TemplateMaker é exibida:
b. Selecione New Template.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-18 Módulo 9 – Funcionalidade de tag avançada

A caixa de diálogo New Template é exibida:

c. Insira um nome exclusivo para o novo modelo no campo Name: . O nome deve ter um
máximo de 10 caracteres, iniciando com um caractere alfanumérico. Os caracteres especiais
não são suportados.
Ao adicionar novos modelos parentes, seus nomes abrem imediatamente como um tipo de
tagname no Dicionário Tagname (caixa de diálogo Tag Types) e estão imediatamente
disponíveis para seleção. Não é necessário reiniciar WindowMaker para definir novos
tagnames e atribuí-los ao tipo SuperTag.
d. Description: Insira qualquer informação para descrever o modelo (Opcional).
e. Clique em OK.
A caixa de diálogo TemplateMaker é reexibida mostrando o novo nome de modelo em sua
janela:

Observe que uma vez que um modelo é criado, os botões Add Member e Delete tornam-se
ativos. O dia, a data e a hora quando o modelo foi criado e/ou modificado pela última vez e a
descrição do modelo são agora exibidos quando o nome do modelo é selecionado.

Treinamento Wonderware
Seção 3 – InTouch SuperTags 9-19

Obs.: A janela TemplateMaker exibe todos os modelos parentes SuperTag definidos e seus
membros filhos em uma lista hierárquica. Para expandir a visualização do modelo, clique com o
botão esquerdo do mouse ao lado do nome do modelo. Todas as tags membro definidas para o
nome de modelo parente serão exibidas. Para recolher a visualização, clique com o botão
esquerdo do mouse ao lado do nome do modelo novamente.

Criação de tagnames membro SuperTag


a. Selecione o modelo SuperTag (neste exemplo, EvapUnit).
b. Clique em Add Member.
A caixa de diálogo New Member Tag é exibida:

c. Name: Insira um nome para a tag membro.


d. Type: Insira ou selecione o tipo de membro tag. Pode ser discreto, inteiro, real, mensagem ou
outro modelo SuperTag.

Obs.: O tipo especificado aqui é apenas um placeholder para o modelo SuperTag. Por
padrão, todas as tags membro são ajustadas como tipos Memória quando definidos no
TemplateMaker. Entretanto, quando definir uma instância de modelo no Dicionário Tagname,
será necessário especificar se serão tags do tipo Memória - ou E/S.

e. Comment: Insira qualquer informação para descrever o tagname membro.


f. OK: Repita este procedimento para incluir tags membros adicionais ao modelo SuperTag.
As novas tags membro são adicionadas abaixo do modelo parente SuperTag na janela
TemplateMaker.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-20 Módulo 9 – Funcionalidade de tag avançada

g. Crie um outro modelo parente chamado ColdRoom. ColdRoom terá um tagname membro,
RoomTemp e dois modelos filhos membros EvapUnit, EvapUnit1 e EvapUnit2.
Os dois modelos filhos membros usarão o parente, EvapUnit, modelo SuperTag para seus
tipos.
h. Selecione InTouch Templates e depois clique em New Template.
A caixa de diálogo New Template é exibida:

i. Insira um nome exclusivo para o modelo parente novo no campo de texto Name (máximo de
10 caracteres.)
j. Insira qualquer informação para descrever o modelo no campo de texto Description .
k. Clique em OK.
A caixa de diálogo TemplateMaker é reexibida mostrando o novo nome de modelo em sua
janela:
l. Clique em OK.

O modelo parente é adicionado à lista InTouch Templates na janela TemplateMaker.

Treinamento Wonderware
Seção 3 – InTouch SuperTags 9-21

Agora, crie três membros para nosso modelo parente ColdRoom, dois membros filhos
EvapUnit e um tagname membro, RoomTemp.
m. Selecione o modelo parente SuperTag (neste caso, ColdRoom) e depois clique em Add
Member.
A caixa de diálogo New Member Tag é exibida:

n. Insira um nome para o tagname membro no campo de texto Name.


o. Insira o tipo tagname para o tagname membro no campo de texto Type.
p. Insira qualquer informação para descrever o membro tagname no campo de texto Comment.
q. Clique em OK.
A seguir, você criará nossos dois modelos filhos membros, EvapUnit1 e EvapUnit2. Eles usam o
tipo de modelo EvapUnit .
r. Selecione o modelo parente SuperTag (neste caso, ColdRoom) e clique em Add Member.
A caixa de diálogo New Member Tag é exibida:

s. Insira um nome para o tagname membro no campo de texto Name.


t. Insira o tipo de tag para o tagname membro no campo de texto Type. Neste caso, estamos
usando o tipo de modelo especial, EvapUnit.
u. Insira qualquer informação para descrever o membro tagname no campo de texto Comment.
v. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-22 Módulo 9 – Funcionalidade de tag avançada

w. Repita as etapas anteriores para adicionar EvapUnit2.


x. Clique em OK.
Quando o modelo parente ColdRoom é concluído, a janela TemplateMaker exibirá a seguinte
hierarquia de estrutura de modelo:

Agora que concluímos o modelo ColdRoom SuperTag, podemos criar imediatamente


instâncias de tag que usam o modelo para seu tipo de tag.

Edição de modelos SuperTag e tagnames membros


Os modelos SuperTag ou tagnames membros podem ser modificados a qualquer momento.
Quando um modelo SuperTag existente ou seus membros são modificados, todas as instâncias
existentes desse modelo não são afetados. (Instâncias são tags definidas no Dicionário
Tagname que usa uma SuperTag como seu tipo.)
Em outras palavras, as modificações feitas em uma SuperTag não são retroativas. Entretanto,
todas as novas instâncias definidas usando a SuperTag modificada usarão a nova composição.
a. Na janela TemplateMaker, clique duas vezes com o mouse no nome do modelo SuperTag (ou
nome do membro).
A caixa de diálogo Edit Template (ou Edit Member Tag) é exibida mostrando a definição do
modelo SuperTag (ou do membro) .
b. Faça suas edições e clique em OK.

Exclusão de um modelo ou membro SuperTag


a. Na janela TemplateMaker, selecione o nome de modelo SuperTag (ou nome de membro) para
excluir e depois clique em Delete.
Uma caixa de mensagem é exibida pedindo que confirme a remoção.
b. Clique em Yes para excluir o nome selecionado.

Obs.: Se pressionar a tecla ESC para fechar o TemplateMaker ao invés de OK, o modelo não será
excluído. Quando um modelo é excluído, todos os tagnames membros associados também são
excluídos.

Se um modelo SuperTag existente é modificado, todas as instâncias existentes da SuperTag


não são afetadas.

Treinamento Wonderware
Seção 3 – InTouch SuperTags 9-23

Exemplos são tagnames definidos no Dicionário Tagname que usa uma SuperTag como seu tipo.
Em outras palavras, as modificações que fazemos na SuperTag não são retroativas. Entretanto,
todas as novas instâncias definidas usando a SuperTag modificada usam a nova composição.
De forma semelhante, se um tagname membro é adicionado à instância SuperTag através de um
método alternativo, seu modelo não é atualizado.

Definição de instâncias para o modelo SuperTag


Um importante conceito no TemplateMaker é distinguir um modelo SuperTag de uma instância de
modelo. A diferença mais importante é que o nome do modelo parente é substituído por um
tagname de instância. O nome do modelo filho e as tags submembros não mudam.
Por exemplo, pense em um modelo literal usado para rascunho, como um estêncil. Um estêncil é
usado para produzir desenhos. Os próprios desenhos, nesta metáfora, são instâncias de
modelo que são padronizadas de acordo com o modelo ou estêncil usado para criá-las.
Em nosso cenário de modelo ColdRoom, após criarmos nosso modelo, podemos criar instâncias
de SuperTag de Beef, Pork, Chicken e Turkey. Para isto, simplesmente criamos quatro
tagnames que usam ColdRoom para seus tipos. Portanto, com um único esforço, criaremos
rapidamente 60 tagnames no Dicionário Tagname. Esta é uma grande economia de tempo.
Após criarmos o modelo SuperTag ColdRoom e as instâncias, podemos consultar qualquer um
de seus membros usando referências de SuperTag válidas em expressões de link de animação
ou QuickScripts.
Por exemplo:
Beef\RoomTemp
Chicken\RoomTemp.RawValue
Chicken\EvapUnit1\FanMotor1.OnMsg
Pork\EvapUnit2\EvapStatus
Turkey\EvapUnit2\PrsRegVlv.EngUnits

Métodos alternativos de criar SuperTags


Além do TemplateMaker, o InTouch é compatível com a criação de SuperTags através de
expressões de link de animação, o InTouch QuickScripts e arquivos.CSV (Variável Separada por
Vírgula) externos que são carregados no Dicionário Tagname através do utilitário DBLoad. Um
membro ou submembro podem ser adicionados a uma SuperTag existente através do Dicionário
Tagname, é o método mais fácil de usar.
Quando uma SuperTag é criada através de uma expressão de animação ou InTouch QuickScript
deve-se usar o formato SuperTag válido. Por exemplo:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-24 Módulo 9 – Funcionalidade de tag avançada

Uso do Dicionário Tagname para criar SuperTags


O Dicionário Tagname é o método alternativo mais fácil para criar uma instância SuperTag ou
tagnames membros.
a. Clique em Special / Tagname Dictionary. A caixa de diálogo Tagname Dictionary é exibida:
b. Clique em New.
c. Insira o nome exato de sua instância SuperTag, seguido de barras invertidas (\) delimitadoras
e o nome do novo tagname membro. Neste exemplo, o nome é Turkey\RoomTemp2.

Obs.: Ao adicionar um novo tagname membro a uma instância de SuperTag existente, a


escrita do nome da instância deve corresponder exatamente. Caso contrário, uma nova
instância de SuperTag e membro serão adicionados.

d. Clique em Type e selecione o tipo para o membro SuperTag. (A seleção das opções restantes
não é necessária neste contexto.) Neste caso, I/O Real.
e. Clique em Save ou Close para adicionar o membro.

f. Para visualizar o tagname membro na SuperTag Turkey sem sair do Dicionário Tagname,
selecione a opção Members na parte superior da caixa de diálogo.

Treinamento Wonderware
Seção 3 – InTouch SuperTags 9-25

A área de detalhes Members é exibida:

g. Clique em Close para fechar o Dicionário Tagname.


h. Se clicar em New quando uma SuperTag é exibida no Tagname Dictionary, a caixa de diálogo
a seguir é exibida:

i. Clique em Yes para criar outra instância SuperTag que é uma cópia exata da instância
SuperTag exibida.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-26 Módulo 9 – Funcionalidade de tag avançada

A caixa de diálogo Enter Name exibida:

j. Insira o nome de instância SuperTag nova.


k. Clique em OK.

Vantagens das SuperTags


z Todos os tagnames submembro da SuperTag comportam-se exatamente como tagnames
normais
z É compatível com tendências de alarme e de histórico
z É compatível com .fields
z Ferramenta de desenvolvimento
z Arquivo modelo pode ser copiado

Desvantagens das SuperTags


z Um arquivo SUPERTAG.DAT
z Sem exclusão de membro SuperTag individual
z Incapacidade de excluir uma tag por vez
z Pequeno aumento na contagem de tag

Treinamento Wonderware
Laboratório 11 – Definição de SuperTags 9-27

Laboratório 11 – Definição de SuperTags


Introdução
Este laboratório demonstra como definir SuperTags usando o InTouch TemplateMaker.

Objetivos
Ao final deste laboratório, você:
z Criará novo modelo
z Criará novos membros

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-28 Módulo 9 – Funcionalidade de tag avançada

Modelo parente SuperTag


1. Clique duas vezes com o mouse em TemplateMaker na janela Application Explorer.

A janela TemplateMaker é exibida.

2. Clique no botão New Template.

3. Insira Tank no campo New Template / Name: e clique em OK.


4. Clique no botão Add Member na janela TemplateMaker.

Treinamento Wonderware
Laboratório 11 – Definição de SuperTags 9-29

A caixa de diálogo New Member Tag é exibida:

5. Insira um Name of Contents com um Type of Message e clique em OK.


6. Continue adicionando os Membros a seguir no Tank Template:

Modelo Nome Tipo


Tanque Nível Real
Tanque Temp Real
Tanque Pressão Real

O Tank Template concluído e os Membros são exibidos da seguinte maneira:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-30 Módulo 9 – Funcionalidade de tag avançada

7. Inclua um Modelo adicional chamado Pump, com os Membros a seguir:

Modelo Nome Tipo


Bomba RPM Real
Bomba Pressão Real
Bomba Status Discreta
Bomba Temp Real
Bomba Vibração Real
Bomba Teste Real

O novo Modelo Pump e os Membros são exibidos como mostrado na figura a seguir:

8. Clique em Tank Template.


9. Clique em Add Member.

Treinamento Wonderware
Laboratório 11 – Definição de SuperTags 9-31

10. Insira Name: Pump1, Type: Pump, como exibido:

11. Clique em OK.


Pump1 é exibido como um Membro de Tank Template:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-32 Módulo 9 – Funcionalidade de tag avançada

12. Selecione Test Member Tag no Modelo Pump.

13. Clique no botão Delete.


14. Clique em Yes quando solicitado para confirmar a exclusão.
A tag membro Test no membro Pump1 também é excluída.

15. Clique em OK para fechar TemplateMaker.

Treinamento Wonderware
Laboratório 11 – Definição de SuperTags 9-33

Definição de tags membros de modelo no Dicionário Tagname


16. Abra o Tagname Dictionary.
17. Clique em New.
18. Insira um novo tagname Pump1.
19. Clique no botão Type.
O novo Modelo SuperTag é exibido como Tipos de Tag.
20. Selecione Pump e clique em OK.
21. Clique na seta para baixo Member List: .
A nova SuperTags criada para Pump1 é exibida:

22. Clique em Close para fechar o Dicionário Tagname.

Edição de modelos
23. Abra TemplateMaker.
24. Expanda Pump Template.
25. Selecione Temp Pump Member e clique no botão Delete.
26. Confirme a exclusão clicando em Yes.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-34 Módulo 9 – Funcionalidade de tag avançada

Temp não é mais membro de Pump Template.

Clique em OK para fechar TemplateMaker.


27. Abra o Tagname Dictionary.
28. Clique no botão New.
29. Clique em Yes para Duplicar Pump1.

30. Clique em OK para aceitar o novo nome Pump2.


31. Clique no menu drop-down Member List: .
Pump2\Temp: Memory Real é listado porque o novo tagname foi baseado em Pump1.
32. Clique em New.
33. Clique em No para recusar Duplicar Pump2.
34. Insira Pump3 no campo Tagname.
35. Clique em Type: Pump.
36. Clique no menu drop-down em Member List: .

Treinamento Wonderware
Laboratório 11 – Definição de SuperTags 9-35

Pump3 não contém o tagname Temp porque ele foi baseado em Pump Template que você
editou.

37. Clique em Close para fechar o Dicionário Tagname.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-36 Módulo 9 – Funcionalidade de tag avançada

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 4 – DBDump e DBLoad 9-37

Seção 4 – DBDump e DBLoad

Objetivo da seção
z Explicar o uso dos utilitários DBDump e DBLoad

Esta seção explicará o uso dos utilitários DBDump e DBLoad.

Introdução
Há dois programas de utilitário Dicionário Tagname : DBDump e DBLoad
DBDump: Exportar um aplicativo InTouch Dicionário Tagname como um arquivo de texto que
pode ser visualizado ou editado em outro programa (como um Microsoft Excel).
DBLoad: Importar um arquivo Dicionário Tagname formatado (criado em outro programa como
Excel ou um arquivo DBDump de outro aplicativo InTouch) para um aplicativo InTouch existente.
Estes dois utilitários permitem ao Dicionário Tagname ser copiado, modificado ou desenvolvido
em partes separadas e mescladas em um aplicativo.
O utilitário DBLoad também pode ser usado como uma alternativa para o InTouch TemplateMaker
criar instâncias SuperTag.

Obs.: Os utilitários DBDump e DBLoad são lançados de outro Gerenciador de Aplicativo InTouch
(INTOUCH.EXE). Além disso, é necessário converter um aplicativo criado em uma versão anterior
do InTouch antes de seu Dicionário Tagname poder ser extraído.

Utilitário DBDump
Veja como extrair um dicionário tagname de um aplicativo InTouch existente.
a. Feche WindowMaker e WindowViewer se eles estiverem em execução.
b. Inicie o InTouch Application Manager.

c. Clique no ícone da barra de ferramentas DBDump .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-38 Módulo 9 – Funcionalidade de tag avançada

A caixa de diálogo CSV File to Dump To: é exibida:

Name of CSV Dump file: Insira um nome para o arquivo que termine com a extensão .CSV
(Variável Separada por Vírgula) . Se o nome já existir, uma caixa de mensagem será aberta.
Group output by types: Agrupe os tagnames extraídos por tipo de tag ao invés de
alfabeticamente por tagname (padrão).
A informação de banco de dados do diretório do aplicativo selecionado será descarregada no
nome de arquivo especificado.
Quando o arquivo .CSV é aberto em Microsoft Excel, ele vê a vírgula como um delimitador e
automaticamente separada os registros de dados em colunas.

Treinamento Wonderware
Seção 4 – DBDump e DBLoad 9-39

Quando o arquivo .CSV é aberto em Notepad, cada registro de dados é separado por uma
vírgula.
Usando DBLoad, é possível:
z Mudar as propriedades de armazenagem.
z Fazer mudanças em massa ao dicionário Tagname.
z Modificar as propriedades existentes da tag .
Se a tag é renomeada, o DBLoad criará uma nova tag ao invés de excluir a instância de tag
original.
Não é possível excluir uma tag usando DBLoad; entretanto, novas tags podem ser criadas.

Formato do arquivo de entrada de banco de dados


A primeira linha de um arquivo de entrada de banco de dados deve especificar o operating
:mode para o arquivo quando ele é carregado/mesclado em um aplicativo através de DBLoad.
Todos os registros devem começar com uma palavra chave válida para o :type de tagname,
seguidos de uma palavra chave válida para cada registro de dados (separados por vírgulas):
:mode=test
:IOMsg,Group,Comment,Logged,EventLogged,Event Logging Priority, . . .
Há uma palavra-chave válida para cada tipo de tagname e registro de dados.

Modos de operação de arquivo de entrada de banco de dados


A seguir veja uma lista das palavras-chaves de modo de operação válidas e as ações que
ocorrem em cada modo quando um tagname duplicado é encontrado durante o carregamento.
:MODE=ASK – Muda o tagname da entrada ou a entrada existente para seu tagname
especificado e depois insere a nova definição no Dicionário Tagname .
:MODE=REPLACE – Exclui a entrada existente e a substitui por uma nova entrada.
:MODE=UPDATE – Sobrescreve uma definição existente com apenas os campos que estão
explicitamente definidos no arquivo de entrada; ex. incluir mudanças DELTA apenas.
:MODE=TEST – Neste modo, DBLoad atuará como se ele estivesse no modo de substituição,
mas não modificará o banco de dados.
O modo de teste varre o arquivo antes de carregá-lo, depois comunica erros e dá a localização/
número de linha.
Recomendamos o uso deste modo para localizar possíveis erros de formato de Dicionário
Tagname . Após os erros serem resolvidos, mude o modo para Update ou Replace e carregue o
DB.

Obs.: Para mais informações sobre os modos de operação, consulte o Guia do Usuário InTouch.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-40 Módulo 9 – Funcionalidade de tag avançada

Utilitário DBLoad
Usando o DBLoad, é possível importar tags de outros aplicativos, depois importar outras janelas.
O tamanho do arquivo pode se tornar grande ao carregar grandes quantias de tags, mas não
excessivamente.

Obs.: Use o arquivo exportado como um backup e realize um DBLoad no caso de falha de
sistema.

As seguintes etapas exibem como carregar/fundir um arquivo de entrada de banco de dados em


um banco de dados existente de aplicativo do InTouch .
a. Feche WindowMaker e WindowViewer se eles estiverem em execução.
b. Inicie o InTouch Application Manager.

c. Clique no ícone da barra de ferramentas DBLoad .


Uma caixa de mensagem é exibida perguntando se fez back up de seu aplicativo. Clique em
Yes.
A caixa de diálogo CSV File to Load From: é exibida:

Name of CSV Load file: Insira o caminho para o arquivo .CSV para carregar ou localizar o
arquivo usando as caixas de listagem Directories e Drive. Uma vez que o arquivo esteja
devidamente selecionado seu nome será exibido no campo.
d. Clique em OK. A informação do banco de dados contido no arquivo selecionado começará a
carregar no Dicionário Tagname selecionado do aplicativo.

Criação de um arquivo de entrada de banco de dados


Os utilitários de banco de dados DBDump e DBLoad são as ferramentas usadas para realizar as
operações do tipo lote em um Dicionário Tagname. Arquivos de entrada de banco de dados
podem ser criados em qualquer programa compatível com o formato CSV.
O arquivo de entrada de banco de dados deve ser salvo como um formato .CSV. Uma vez que o
arquivo de entrada é criado, o programa DBLoad é usado para carregar/fundir os dados contidos
no arquivo dentro de um banco de dados do aplicativo InTouch existente.
É possível criar um modelo de arquivo de entrada de banco de dados criando um novo aplicativo
InTouch e depois executar o programa DBDump para descarregar a memória de seu banco de
dados para criar um arquivo .CSV corretamente formatado. Isto torna a inserção de suas
modificações mais fáceis do que a criação de arquivo de entrada do zero.

Treinamento Wonderware
Seção 4 – DBDump e DBLoad 9-41

Criação de instâncias SuperTag


Além do TemplateMaker, link de animação, InTouch QuickScripts e o Dicionário Tagname, o
InTouch também suporta a criação de SuperTags usando o Utilitário DBLoad.

Obs.: Quando o DBLoad é usado para criar instâncias SuperTag, estas instâncias não são
refletidas na definição de modelo SuperTag no TemplateMaker.

Quando criar uma SuperTag com DBLoad, deve-se usar o formato SuperTag válido e os registros
de dados de instância SuperTag devem começar com a palavra-chave válida para o :type do
tagname.
Por exemplo:

Quando um arquivo .CSV contendo instâncias SuperTag é carregado, ele é automaticamente


adicionado ao Dicionário Tagname e está imediatamente disponível para uso em links de
animação e InTouch QuickScripts.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-42 Módulo 9 – Funcionalidade de tag avançada

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 5 – Otimização do dicionário Tagname 9-43

Seção 5 – Otimização do dicionário Tagname

Objetivos da seção
z Explicar substituição, conversão e exclusão de tag/link
z Importar e exportar janelas
z Usar o utilitário de Referência Cruzada InTouch

Há diversos modos de editar links existentes e tags. Esta seção inclui a substituição, conversão e
exclusão de tagnames, assim como a utilização de Utilitário de Referência Cruzada InTouch.

Exclusão de Tags
Excluir tags é deliberadamente difícil no InTouch.
z Quando o WindowViewer estiver executando, excluir uma tag não é permitido.
z Quando uma tag é referida por algum script ou link de animação, ela não pode ser
excluída. Use a ferramenta Referência Cruzada para determinar o uso de tag.
Em outras palavras, para excluir uma tag não usada do Dicionário Tagname, deve-se concluir as
seguintes etapas:
z Desligue o WindowViewer.
z Elimine o uso de tag com o utilitário Cross Reference.
z Atualize a Contagem de Uso em Special/Update Use Counts.
z Confirme a exclusão.
O botão Delete não estará disponível se o WindowViewer estiver em execução ou se o InTouch
considerar que o tagname como usado no aplicativo.

Utilitário de Referência Cruzada InTouch


O Utilitário de Referência Cruzada InTouch permite determinar seu uso de tagname e SuperTag
em links de animação, assistentes, InTouch QuickScripts, QuickFunctions, controles ActiveX,
scripts e os programas adicionais InTouch a seguir: SPC Pro, SQL Access Manager e Recipe
Manager.
Para todos os objetos como assistentes, controles ActiveX e link de animação, ele exibe o nome
da janela e as coordenadas de todos os objetos vinculados ao tagname. Ele também permite
revisar qualquer QuickScript ou QuickFunction no qual uma referência de tag é encontrada.
A ferramenta de Referência Cruzada InTouch pode permanecer em execução no WindowMaker
enquanto outras tarefas são realizadas.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-44 Módulo 9 – Funcionalidade de tag avançada

Uso do utilitário de Referência Cruzada InTouch


a. Clique em Special / Cross Reference.
A caixa de diálogo InTouch Cross Reference Search Criteria é exibida:

Área Search Criteria : Permite a você limitar o escopo de sua busca. O escopo pode ser
determinado pela seleção das opções requeridas apenas.
z Search for all occurrences: Faça uma busca de todos os usos do tagname ou SuperTag
em link de animação, InTouch QuickScripts e todos os programas adicionais como SPC,
SQL Access Manager, Recipe Manager, etc.
z Search for specific occurrences: Faça uma busca apenas para o tagname ou SuperTag
nas opções especificadas.
Por exemplo, para buscar o uso nos scripts de janela, selecione Usage in window
scripts
z Filter: Insira um nome exclusivo para identificar o filtro que deseja definir ou abra a lista
drop-down Filter para selecionar um filtro selecionado previamente da lista. Quando
definir filtros, o nome que inserir é adicionado à lista Filter.
z Search: Começa a busca de referência cruzada com base no critério de visualização
especificado.

Treinamento Wonderware
Seção 5 – Otimização do dicionário Tagname 9-45

Resultados da busca de referência cruzada


Ao realizar uma busca de referência cruzada, a caixa de diálogo InTouch Cross Reference
Utility é exibida listando todas as instâncias de uso encontradas para o Filter especificado.
Se nenhum filtro for usado, todos os tagnames definidos no Dicionário Tagname do aplicativo
atual são exibidos. Por exemplo:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-46 Módulo 9 – Funcionalidade de tag avançada

Ícones de interface de utilitário de referência cruzada


A tabela a seguir descreve rapidamente os vários ícones que aparecem no Utilitário de Referência
Cruzada InTouch.

Ícone Descrição
Tagname ou SuperTag é atribuído a um objeto InTouch ou usado para armazenar um valor em
um InTouch QuickScript, assistente ou programa adicional. Clique para expandir a visualização
do nível.
Clique para desfazer a visualização do nível expandido.

Tagname ou SuperTag exibido é definido no Dicionário Tagname do aplicativo, mas não é


atribuído a um objeto.
Tagname ou SuperTag exibido é usado no link de animação ou no InTouch QuickScript. Clique
para expandir a visualização.
Tagname ou SuperTag exibido é atribuído a um link de animação.

Tagname ou SuperTag exibido é usado em um script de Aplicativo.

Exibido para todos os scripts Application On Startup, While Running e On Shutdown; Scripts
Window On Show, While Showing e On Hide e scripts Key On Key Down, While Down e On
Key Up. Clique duas vezes com o mouse no ícone para visualizar.
Tagname ou SuperTag exibido é usado em um script Window.

Tagname ou SuperTag exibido é usado em um script Data Change.

O Tagname ou a SuperTag exibido(a) é usado(a) em um script Condition. Por exemplo,


$Hour==12 On True. Clique duas vezes com o mouse no ícone de qualquer script para
visualizar.
Tagname ou SuperTag exibido é usado em um script Key. Por exemplo, F2 On Key Down.
Clique duas vezes com o mouse no ícone de qualquer script listado para visualizar.
Tagname ou SuperTag exibido é usado em um QuickFunction.

Tagname ou SuperTag exibido é usado em um script ActiveX Event.

Quando fizer referência cruzada pelo Window, este ícone precede o nome da janela na qual o
tagname ou SuperTag exibido é usado.
Tagname ou SuperTag exibido é usado em um Aplicativo SPC Pro.

Tagname ou SuperTag exibido é usado em um aplicativo SQL

Tagname ou SuperTag exibido é usado em um aplicativo Recipe Manager .

Tag exibida é usada como um Inibidor de alarme. Clique duas vezes com o mouse ou clique

para visualizar os nomes de todas as tags para as quais é um Inibidor.


Tagname exibido é usado em janela InTouch (nome).

Tagname exibido é usado em uma Tendência de Histórico.

Treinamento Wonderware
Seção 5 – Otimização do dicionário Tagname 9-47

Mudança do critério de busca de referência cruzada


Se desejado, após a busca de referência cruzada inicial ser realizada, é possível limitar a busca
modificando suas opções de busca original.
a. Na caixa de diálogo InTouch Cross Reference Utility , (exibida após realizar sua busca
inicial), clique em Options.
A caixa de diálogo InTouch Cross Reference View Options é exibida:

b. Para mudar a seleção Search Criteria, clique em Cancel.


A caixa de diálogo InTouch Cross Reference Utility é reexibida.
c. Clique em Search e selecione a nova opção Search Criteria.
d. Na lista na parte de baixo da caixa de diálogo, selecione (se a árvore de visualização deve ser
preenchida) Tag Name ou By Window.
By Tagname: Referência cruzada alfabeticamente por tagname lista todos os tagnames
encontrados para o critério de busca especificado (visualização padrão).
Baseado em seu critério de busca especificado, esta visualização permite ver todos os
tagnames encontrados em janelas, link de animação, scripts e aplicativos adicionais.
e. Para expandir a visualização, clique duas vezes com o mouse em um tagname exibido e
depois clique duas vezes com o mouse em Animation Link Use ou no botão Expand View.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-48 Módulo 9 – Funcionalidade de tag avançada

Quando esta visualização for expandida, o nome da janela e a localização (coordenadas) do


objeto vinculado ao tagname são exibidos:

f. Clique duas vezes com o mouse em um tagname e depois clique duas vezes com o mouse
em qualquer um de seus scripts associados para abrí-lo na caixa de diálogo Script usage
for <Tag Name> .

g. Clique em Close.
h. Clique em Contract View na janela InTouch Cross Reference Utility para fazer a caixa de
diálogo retornar ao seu modo padrão.
O campo de lista drop-down no alto da caixa de diálogo exibe todos os scripts associados à
tag selecionada.

Treinamento Wonderware
Seção 5 – Otimização do dicionário Tagname 9-49

i. Abra a lista e selecione outro script. Para scripts Application, Window, Key e Condition, a lista
contém os nomes de todos os scripts que usam este tagname.
Para scripts Data Change, somente o tagname é listado.
Para QuickFunctions, a lista conterá os nomes de todos os QuickFunctions (visualização
somente leitura).
By Window Name: Fazer referência cruzada por nome de janela classifica a exibição por
nome de janela e depois pelos tagnames usados na janela.

Obs.: Esta visualização mostra apenas os tagnames usados na janela. Ela não inclui o uso
em link de animação, scripts, etc.

j. Clique no botão Options na janela InTouch Cross Reference Utility (Special/Cross


Reference/Search/Options).
k. Escolha a opção By Window para exibir as janelas alfabeticamente. Expanda ou diminua a
visualização como desejado.
l. Clique em Close para sair do InTouch Cross Reference Utility.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-50 Módulo 9 – Funcionalidade de tag avançada

Como salvar arquivos de referência cruzada


Os arquivos de referência cruzada podem ser salvos e visualizados posteriormente em qualquer
programa de editor de texto que seja compatível com o formato de arquivo variável separada por
vírgula (.CSV).
A informação armazenada em um arquivo de referência cruzada corresponde à informação
exibida no momento na caixa de diálogo InTouch Cross Reference Utility .
a. Na caixa de diálogo InTouch Cross Reference Utility clique em Save As.
A caixa de diálogo Save As é exibida:

b. Na caixa File name, insira o nome para salvar o arquivo de referência cruzada. O arquivo
somente pode ser salvo como um arquivo .CSV .
c. Clique em Save.

Treinamento Wonderware
Seção 5 – Otimização do dicionário Tagname 9-51

Impressão de arquivos de referência cruzada


Um arquivo de referência cruzada .CSV pode ser aberto em qualquer programa de editor de texto
que seja compatível com o formato de arquivo .CSV e impresso como um relatório.
Por exemplo, no Notepad, o arquivo seria exibido da seguinte forma.

a. Clique em File / Print para imprimir o arquivo.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-52 Módulo 9 – Funcionalidade de tag avançada

Atualização de contagens de uso e exclusão de diversos tagnames usados


O InTouch mantém uma contagem de uso para cada item no banco de dados. Esta contagem não
é atualizada automaticamente para determinadas operações, como excluir uma janela, mudar
tagnames em links ou scripts, etc. Nestes casos, o InTouch continua a considerar o tagname em
uso no aplicativo e não permitirá que seja excluído. Portanto, pode ser necessário atualizar sua
contagem de uso a fim de excluir um tagname ou diversos tagnames.
Atualização de contagens de uso
Como o InTouch mantém uma contagem de uso para cada item no banco de dados, é necessário
atualizá-la para zerar todos os tagnames não usados antes do InTouch permitir a exclusão.
a. Feche todas as janelas.
b. Clique em Special/Update Use Counts.
Uma mensagem informando que a atualização da contagem pode demorar é exibida:

c. Clique em Yes para atualizar contagens de uso.


Quando o sistema concluiu a atualização, a caixa de diálogo é exibida:

d. Clique em OK.
Exclusão de diversos tagnames não usados
Após ter atualizado a contagem de uso, o InTouch permitirá excluir todas as tags não usadas. É
possível excluí-las uma por uma no Dicionário Tagname ou diversas de uma vez usando o
comando Delete Unused Tags.
a. Clique em Special / Delete Unused Tags.
A caixa de diálogo Choose Names to Delete é exibida:

b. Selecione os tagnames com Ctrl pressionada e clique em cada tag, depois clique em Delete.
c. Clique em All para excluir todos os tagnames exibidos.

Treinamento Wonderware
Seção 5 – Otimização do dicionário Tagname 9-53

Exibição da contagem de uso de tag


O número de tags locais definidos no Dicionário Tagname pode ser exibido na barra do menu
WindowMaker. A contagem de tag não inclui tags de sistema ou referências de tagname remotas.
Tags de sistema (37) não são contados com relação a tags com licença.
a. Clique em Special / Configure / WindowMaker.
A caixa de diálogo WindowMaker Properties é exibida:

b. Selecione Show Tag Count. e clique em OK.


A mensagem a seguir é exibida.

c. Clique em OK para fechar/reiniciar WindowMaker.


O número total de tagnames locais definidos no Dicionário Tagname é exibido:

Atenção: Todo o Dicionário Tagname deve ser lido a fim de atualizar a contagem de tagname
exibido. Quando esta opção está habilitada, o desempenho pode cair quando mudanças são
feitas no Dicionário Tagname. Se seu Dicionário Tagname for grande, não selecione esta
opção.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-54 Módulo 9 – Funcionalidade de tag avançada

– Deixado em branco intencionalmente –

Treinamento Wonderware
Laboratório 12 – Exclusão de Tags 9-55

Laboratório 12 – Exclusão de Tags


Introdução
Este laboratório demonstra a exclusão de tags não usadas ou com erro.

Objetivos
Ao final deste laboratório, você:
z Atualizará contagem de uso
z Excluirá tags

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-56 Módulo 9 – Funcionalidade de tag avançada

Atualização da contagem de uso


1. Feche qualquer janela aberta no WindowMaker.
2. Selecione Special / Update Use Counts.

O WindowMaker solicita que confirme a operação Update:

3. Clique em Yes.

4. Clique em OK.

Treinamento Wonderware
Laboratório 12 – Exclusão de Tags 9-57

Exclusão de tags
5. Selecione Special / Delete Unused Tags do menu do WindowMaker.
A caixa de diálogo Choose Names to Delete é exibida: A lista de tags não usadas em seu
sistema pode ser diferente.

6. Selecione uma ou mais tags para exclusão.

7. Clique em Delete.
O sistema solicita que confirme a operação de exclusão.

8. Clique em OK.

9. Clique em OK.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


9-58 Módulo 9 – Funcionalidade de tag avançada

– Deixado em branco intencionalmente –

Treinamento Wonderware
Módulo 10

Segurança
Seção 1 – Modelos de segurança 10-3
Laboratório 13–Estabelecer segurança 10-15
Seção 2 – Proteção do aplicativo 10-27
10-2 Módulo 10 – Segurança

Objetivos do módulo
z Definir Modelos de Segurança básicos
z Explicar o Modelo de Segurança InTouch
z Implementar Segurança InTouch

Treinamento Wonderware
Seção 1 – Modelos de segurança 10-3

Seção 1 – Modelos de segurança

Objetivos da seção
z Definir modelos de segurança
z Explicar a segurança InTouch

Este módulo fornece as características gerais de três modelos de segurança disponíveis no


desenvolvedor InTouch. O enfoque é no modelo de segurança de base InTouch.

Introdução
Este módulo fornece as características gerais de três modelos de segurança disponíveis no
desenvolvedor InTouch (a opção None é auto-explicativa). O enfoque é no modelo de segurança
de base InTouch.
Todos os métodos de segurança InTouch são configuráveis com granularidade de aplicativo, o
que significa ser possível operar dois aplicativos com duas configurações de segurança diferentes
no mesmo computador.
Todos os três métodos de segurança são compatíveis com a distribuição de aplicativos de
Desenvolvimento de Aplicativo de Rede (NAD). A segurança de base InTouch trabalha com NAD
como nas versões anteriores do InTouch. Para mais informações sobre NAD, consulte o
Desenvolvimento de Aplicativo de Rede no Guia do Usuário InTouch.
O desenvolvedor InTouch pode selecionar entre três modelos de segurança:
z ArchestrA Security: Segurança de base ArchestrA para o Industrial Application Server
(IAS) é centralizada independente de NAD ser usado ou não.
Atividades referentes à Segurança IAS são configuradas externamente no Ambiente de
Desenvolvimento Integrado (IDE). Para mais informações sobre IDE, consulte o Guia de
Ambiente de Desenvolvimento Integrado (IDE) Wonderware ArchestrA.
Após selecionar uma autenticação e autorização ArchestrA, as opções Change
Password, LogOn, Configure Users e LogOff no menu Special...Security estão
disponíveis.
Os detalhes sobre os recursos disponíveis no Industrial Application Server são abordados
em um curso separado.
z InTouch Security: Ao aplicar segurança ao seu aplicativo, é possível controlar funções
específicas que um operador está autorizado a realizar vinculando estas funções às tags
internas. Registro de auditoria pode ser criado que ligam o operador a todos os alarmes/
eventos que ocorrem durante o tempo em que ele está conectado ao sistema.
Segurança é baseada no conceito do operador se conectar ao aplicativo, digitando seu
nome e senha. É necessário configurar o nome do usuário, senha e nível de acesso para
cada operador.
Não há associação entre o sistema operacional Microsoft e a segurança InTouch.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-4 Módulo 10 – Segurança

z Operating System Security: Se o modo de autenticação é baseado no sistema


operacional, os nomes de usuários serão os pares de nomes de Nome de Domínio/Nome
de Usuário do Windows. Nomes de usuário podem ser escolhidos da lista de usuários
associados ao Domínio de Rede/Grupo de Trabalho Windows. Cada nome de usuário
tem um nível de acesso atribuído que determina a autorização do usuário para uma
determinada atividade.
Uma vez que o sistema operacional gerencia as senhas internamente, o InTouch não
armazenará senhas.
A segurança de base de sistema operacional usa a função script InTouch
AddPermission para manter uma lista de usuários e seus níveis de acesso
correspondentes. Esta lista, criada após a execução do chamado AddPermission(), é
escrita no disco. O arquivo contendo os detalhes de autenticação dos usuários não serão
copiados para as máquinas clientes NAD.
O esquema de segurança de sistema operacional permite ao InTouch atender as
especificações de segurança nas indústrias controladas. Estas especificações são
estabelecidas pelo Food and Drug Administration (FDA) no CFR 21 Parte 11.

Segurança InTouch
A proteção de um aplicativo InTouch significa três coisas diferentes para pessoas diferentes:
Desenvolvedores de Aplicativo podem desejar proteger o sistema operacional, as ações dos
operadores de auditoria ou proteger o próprio aplicativo InTouch. Para acomodar as diferentes
necessidades, o esquema de segurança InTouch inclui várias opções para uma variedade de
aplicativos.
Em alguns casos a principal preocupação de segurança é limitar o acesso do operador a outros
aplicativos Windows ou ao sistema operacional no nó local .
As funções script estão disponíveis para bloquear o uso de teclas como <ALT> ou <TAB>. Há
modos de configurar o WindowViewer (View) para operar sempre maximizado ou para ocultar seu
menu de forma que os operadores não possam fechá-lo.
Em outros casos, a segurança pode incluir a auditoria das ações do operador (acompanhando o
que é feito e quando é feito). Eventos e tags de sistema inativo do InTouch podem rastrear estas
ações.
Em outros casos segurança significaria restringir os recursos de um aplicativo com base em
privilégios estabelecidos para o usuário atual (como uma identificação de usuário) ou o grupo ao
qual o usuário pertence (como Papéis). Esta funcionalidade é conseguida com o ajuste de um link
de visibilidade ou de desabilitação ao objeto com acesso limitado (por exemplo, um botão para
abrir outra janela).
O InTouch retém a segurança tradicional InTouch com base em um arquivo binário contendo uma
lista de usuários de aplicativo com senhas e níveis de acesso. O InTouch inclui funções de script
de segurança adicional e tags de sistema.

Treinamento Wonderware
Seção 1 – Modelos de segurança 10-5

Segurança de aplicativo InTouch


A implementação de segurança em um meio de Aplicativo InTouch que os usuários devem ser
criados e os usuários devem receber um modo de se conectarem à janela do aplicativo.
Quando um novo aplicativo é criado, o nome do usuário é ajustado como None com nível de
acesso 0 (o que não permite acesso a comandos de segurança) por padrão. Este nível evita o
acesso ao comando Configure Users no WindowMaker e no WindowViewer.
Portanto, é necessário configurar um nome de usuário para o Administrador de Sistema com um
nível de acesso correspondente ou superior a 9000 a fim de acessar a lista de usuário de
segurança posteriormente.
Uma vez que o operador se Conecte ao aplicativo, o acesso a qualquer função protegida será
dado mediante a verificação da senha do operador e do nível de acesso comparado ao valor
especificado para o tagname de segurança interna vinculado à função.
Por exemplo, é possível controlar o acesso a uma janela, a visibilidade de um objeto e assim por
diante, especificando que o "Access Level" do operador conectado seja superior a 2000.

Obs.: O operador pode se conectar ao aplicativo executando o comando Special / Security /


Log on no menu WindowViewer (se o menu Special for exibido) ou criando um registro
personalizado na janela com objetos de entrada sensíveis touchscreen vinculados às tags de
segurança internas.

Os comandos usados para estabelecer segurança em um aplicativo estão localizados no


comando Special / Security no WindowMaker e no WindowViewer. Os comandos de segurança
são usados para conectar-se e desconectar-se de um aplicativo, mudar senhas e configurar a
lista de nomes de usuários válidos, senhas e níveis de acesso.

Funções de segurança no InTouch


Os três aspectos principais de segurança devem ser considerados ao usar InTouch:
z Proteção do sistema operacional
z Auditoria
z Proteção do aplicativo

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-6 Módulo 10 – Segurança

Proteção do sistema operacional (SO)


Muitos aplicativos InTouch requerem que o operador monitore constantemente processos que
operam 24 horas por dia, 7 dias por semana. Nestes casos, geralmente é desejável ter o InTouch
como o único aplicativo Windows ao qual eles têm acesso. A barra de tarefa, arquivos de sistema
e aplicativos Windows (como Solitaire) são inacessíveis se View for configurado corretamente.
A segurança do sistema operacional é configurada a partir da guia WindowViewer Properties -
Windows Configuration (Special / Configure / WindowViewer).

O InTouch inclui a função script EnableDisableKeys() que habilita/desabilita as teclas ALT, TAB
ou WIN em Runtime. Essa desabilitação proíbe a alternância entre janelas de aplicativo ou
acesso àbarra de tarefa. Esta função, combinada com os ajustes WindowViewer: Always
Maximize e hide Menu bar e as opções de controle do Windows, protegerão de forma eficiente o
sistema operacional.
Outra prática comum para ocultar/exibir a barra de menu em View é criar uma janela de estilo
popup com suas coordenadas X,Y ajustadas em 0,-38, altura de 38 pixels e largura
correspondente à resolução do monitor (ex. 1024). Este exemplo usa o SO Microsoft Windows
Server 2003, resolução de tela de 1024 x 768. Os valores variarão dependendo do SO e da
resolução usada. Os valores serão -48 e +48 se a aparência e a funcionalidade do XP forem
aplicadas.

Treinamento Wonderware
Seção 1 – Modelos de segurança 10-7

Auditoria
Acompanhar o que os operadores fazem não faz com que um aplicativo InTouch seja mais seguro
mas é um aspecto importante de segurança no InTouch.
Quando os usuários e grupos (ou papéis) são criados para serem usados em um aplicativo
InTouch, registro de auditoria podem vincular os operadores a todos os alarmes/eventos que
ocorrem durante o tempo em que eles estão conectados ao sistema. Alarmes e eventos são muito
semelhantes em natureza, já que os dois requerem que uma condição ocorra e devem ser
armazenados. A diferença entre os dois é que os eventos, diferente dos alarmes, não requerem
um reconhecimento.

Objeto de alarme
distribuído

Controle ActiveX
AlarmViewerCtrl1

O Objeto de Alarme ActiveX contém links para as tags de segurança OS/ArchestrA. O Objeto de
Alarme Distribuído, não.

Proteção do aplicativo
O InTouch fornece um número de tags System e funções script que permitem que os
desenvolvedores InTouch configurem segurança para o aplicativo individual.

Obs.: Aplicar segurança ao seu aplicativo é opcional. O ajuste de segurança padrão para
aplicativos InTouch é None.

Entretanto, ao aplicar segurança ao seu aplicativo, é possível controlar funções específicas que
um operador está autorizado a realizar vinculando estas funções às tags internas. Uma vez que o
usuário seja validado e conectado ao aplicativo InTouch, as tags de sistema $Operator e
$AccessLevel contêm informações sobre o usuário e seu nível de acesso.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-8 Módulo 10 – Segurança

Para conectar-se a um aplicativo InTouch , o usuário pode clicar em Special / Security / Logon,
chamar uma função script para exibir uma caixa de diálogo (padrão) de conexão ou conectar-se
através de uma janela de conexão personalizada.

Obs.: Consulte o Guia de Referência InTouch para uma documentação completa das Tags de
Sistema e funções script

$AccessLevel é a tag usada para proteger os aplicativos InTouch. É a principal tag do sistema
para modificar o que um usuário ($Operator) pode ou não fazer durante o Runtime. Por exemplo,
para desabilitar um botão, apenas ajuste um link do tipo "disable" ou "visibility" a ele com uma
expressão como $AccessLevel < 9000.

Esquemas de autenticação InTouch


Quando usuários são autenticados com um arquivo binário (password.bin) que contém
informações sobre usuários, senhas e níveis de acesso isto é conhecido como autenticação
InTouch. Além deste modo, os programadores InTouch podem usar a autenticação do sistema
operacional, autenticação ArchestrA ou nenhuma autenticação.
Os comandos usados para estabelecer segurança em um aplicativo são acessados selecionando
Special / Security no menu principal WindowMaker. Os comandos de segurança são usados
para conectar-se e desconectar-se de um aplicativo, mudar senhas e configurar a lista de nomes
de usuários válidos, senhas e níveis de acesso.
É possível também vincular um botão User Input - Discrete à tag $ConfigureUsers para
permitir que um operador autorizado com um nível de acesso correspondente ou superior a 9000
exiba a caixa de diálogo Configure Users. A caixa de diálogo é usada para editar a lista de
segurança de nome de usuário.
Quando operador clica no botão, o valor da tagname $ConfigureUsers é ajustada como 1 e a
caixa de diálogo Configure Users é exibida. Quando o operador fecha a caixa de diálogo, o
sistema reinicia o valor como 0 (Esta é uma tag de sistema discreta para operação de escrita
apenas).
Se o menu Special não será exibido no WindowViewer, é possível criar uma janela de conexão
personalizada (consulte abaixo) que o operador usa para conectar-se ao aplicativo.
É possível também vincular um botão User Input - Discrete à tagname $ChangePassword para
exibir a caixa de diálogo Change Password e permitir ao operador mudar sua senha. Quando
operador clica no botão, o valor da tagname $ChangePassword é ajustada como 1 e a caixa de
diálogo Change Password é exibida.
Quando o operador fecha a caixa de diálogo, o sistema reinicia o valor como 0 (Esta é uma tag de
sistema discreta para operação de escrita apenas).
Os nomes None e Administrator são reservados. Somente a senha do Administrator pode ser
modificada. Uma vez que tenha configurado os nomes de usuário para seu aplicativo, mude a
senha do nome do Administrator já que é mais provável que se torne conhecida pela maioria dos
usuários do sistema. O nível de acesso (9999) padrão do Administrator é o mais alto e permite
acessar tudo inclusive o comando de menu Configure Users.

Treinamento Wonderware
Seção 1 – Modelos de segurança 10-9

Criação de uma janela de conexão de segurança personalizada


$OperatorDomainEntered, $OperatorEntered e $PasswordEntered são três tags usadas caso
uma caixa de diálogo de conexão personalizada seja necessária. Crie uma janela pop-up e ajuste
os links touchscreen do usuário (string de entrada) para estas tags. Se as credenciais fornecidas
forem validadas, $Operator, $AccessLevel, $OperatorName, $OperatorDomain atualizarão de
acordo.

Obs.: A tag $OperatorDomainEntered é apenas para Segurança do Sistema Operacional.

Se o menu Special não for exibido no WindowViewer, um registro personalizado na janela pode
ser criado para o operador fazer a conexão ao aplicativo.
Faça o link dos tagnames do sistema $OperatorEntered, $PasswordEntered e
$OperatorDomainEntered aos objetos de entrada do usuário ou use-os em um QuickScript para
ajustar User Name, Password e Domain Name. Estes são tagnames de mensagens internas
que têm por objetivo ser a operação de escrita apenas.
Por exemplo:
Set the User Name string into ->$OperatorEntered
Set the User Password string into ->$PasswordEntered
O $OperatorDomainEntered é necessário apenas se o modo de segurança for baseado em
sistema operacional. Além disso, se o modo de segurança for baseado em sistema operacional e
o valor $OperatorDomainEntered for nulo, ele é tratado para apontar uma máquina local.
Após o operador conectar-se ao aplicativo, o acesso a qualquer função protegida será dado
mediante a verificação da senha e do nível de acesso comparado ao valor especificado para o
tagname de segurança interno será vinculado à função.

Tags de sistema relacionadas à segurança


Três tags de segurança interna são usadas em botões, em expressões de link de animação ou
QuickScripts, etc. Elas são $Operator, $AccessLevel e $OperatorName. Estas tags executam o
controle se o operador conectado está autorizado ou não a realizar as funções específicas.
A tabela a seguir lista todas as tags de sistema relacionadas à segurança.

Tagname Tipo Valores válidos Acesso


$AccessLevel Inteiro de Sistema 0-9999 Somente Leitura
$ChangePassword Sistema discreto 1 ou 0 Leitura Escrita
$ConfigureUsers Sistema discreto 1 ou 0 Leitura Escrita
$InactivityTimeout Sistema discreto 1 ou 0 Leitura Escrita
$InactivityWarning Sistema discreto 1 ou 0 Leitura Escrita
$Operator Mensagem de Sistema 16 caracteres máx. Somente Leitura
$OperatorName Mensagem de Sistema 131 caracteres máx. Somente Leitura
$OperatorDomain Mensagem de Sistema 16 caracteres máx. Somente Leitura
$OperatorDomainEntered Mensagem de Sistema 16 caracteres máx. Somente escrita
$OperatorEntered Mensagem de Sistema 16 caracteres máx. Somente escrita
$PasswordEntered Mensagem de Sistema 16 caracteres máx. Somente escrita
$VerifiedUserName Mensagem de Sistema 16 caracteres máx. Somente Leitura

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-10 Módulo 10 – Segurança

Por exemplo, para fazer um objeto tornar-se visível com base no nível de acesso do usuário
conectado, a declaração a seguir poderia ser usada em uma expressão de link de animação
Visibilidade:
$AccessLevel >= 2000
Ou um QuickScript pode ser vinculado a uma declaração IF:
IF $Operator == "DayShift" THEN
Show "Control Panel Window";
{e outras linhas que somente são executadas para o Turno do Operador}
ENDIF;
É possível também controlar a funcionalidade touchscreen de um objeto com base no valor do
tagname de segurança interna usando o link de animação Disable . Por exemplo:

Se ninguém estiver conectado e a expressão acima for usada, o objeto ou botão é protegido
contra violação.

Configuração de níveis de segurança


a. Selecione Special / Security / Select Security Type / InTouch.

b. A primeira vez que usar segurança, é necessário fazer o logon como Name: Administrator e
Password: wonderware. Use Special / Security / Logon.
c. Selecione Special / Security / Configure Users.
A caixa de diálogo Configure Users é exibida:

User Name: Atribua um nome ao operador.


Password: Insira uma senha (até 32 caracteres).
Access Level: Insira um valor (o mais baixo = 0 ao mais alto = 9999).

Treinamento Wonderware
Seção 1 – Modelos de segurança 10-11

d. Clique em Add para adicionar o nome do usuário à lista de segurança.


Para modificar um nome do usuário existente, selecione o nome.
Insira suas mudanças e clique em Update para aceitar as mudanças. Para excluir um nome
de usuário, selecione-o na lista e depois clique em Delete.

Mudança de uma senha LogOn


a. Clique em Special / Security / Change Password.
A caixa de diálogo Change Password é exibida (asteriscos são exibidos quando usuários e
senhas são configurados).

Old Password: Insira a senha antiga.


New Password: Insira a senha nova (até 32 caracteres).
Verify Password: campo de texto, insira a nova senha novamente.
b. Clique em OK. Toda informação inserida é exibida na tela como asteriscos.

Conexão a um aplicativo
Há quatro tópicos pertinentes à conexão ao sistema de segurança InTouch.
z Special / Security / Log On
z Função QuickScript Post Logon Dialog (detalhada em Apêndice G, “Funções de script.”)
z Função QuickScript Attempt Invisible Logon (detalhada em Apêndice G, “Funções de
script.”)
z SystemTags ($OperatorEntered, $PasswordEntered)
To Log On using the Special / Security / Log On method
a. Clique em Special / Security / Log On.
A caixa de diálogo Log On é exibida:

Name: Insira seu nome do usuário.


Password: Insira sua senha.
b. Clique em OK.
Se a informação inserida for incorreta ou inválida, uma caixa de mensagem será exibida
indicando que a conexão falhou.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-12 Módulo 10 – Segurança

Se a conexão for correta, a tag $AccessLevel será ajustada para seu valor pré-definido como
configurado na lista de segurança de usuário.

Encerramento da sessão de um aplicativo


Há quatro tópicos pertinentes ao encerramento da sessão do sistema de segurança InTouch.
z Special / Security / Log Off
„ Log Off
„ Encerrar sessão baseado em inatividade
z Função QuickScript LogOff (detalhada no Appendix G deste manual)
z SystemTags ($OperatorEntered = “None”)
Para encerrar a Sessão usando o método Special / Security / Log On
a. Clique em Special / Security / Log Off.
Quando este comando é executado, o User Name é reiniciado como None com um Access Level
de 0.
É possível configurar o aplicativo para fazer o encerramento de sessão automático do operador
após um determinado período de tempo sem atividade do operador.

Treinamento Wonderware
Seção 1 – Modelos de segurança 10-13

Encerramento de sessão automático (ajuste de parâmetro de tempo-limite)


Os ajustes de advertência e de tempo-limite podem ser usados para configurar seu aplicativo
para fazer o encerramento de sessão automático do operador se não houver atividade por um
período de tempo especificado.
a. Clique em Special / Configure / WindowViewer.

b. Advertência: Insira o número de segundos que podem decorrer sem atividade do operador
(cliques do mouse ou seqüência de teclas) antes da tag discreta do sistema
$InactivityWarning ser ajustada como 1 (Verdadeiro).
$InactivityWarning pode ser usada em um Condition QuickScript para exibir uma janela
alertando o operador de que a sessão do sistema está prestes a ser encerrada .
Se o operador clica com o botão do mouse, pressiona uma tecla ou realiza uma ação usando
qualquer outro dispositivo de indicação antes do tempo limite especificado transcorrer,
$InactivityWarning e o temporizador são reinicializados e a sessão não é encerrada.
c. Timeout: Insira o número de segundos que podem decorrer sem atividade do operador
(cliques do mouse ou seqüência de teclas) antes da tag discreta do sistema
$InactivityTimeout ser ajustada como 1 (Verdadeiro).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-14 Módulo 10 – Segurança

Quando $InactivityTimeout for verdade, o sistema corresponde ao nome do operador


conectado ao nome reservado "None" e ajusta a tagname de segurança $AccessLevel como
0.
É possível usar $InactivityTimeout em um Condition QuickScript para exibir uma janela
dizendo ao operador que a sessão do aplicativo foi encerrada.
A função Timeout pode ser usada independentemente da função Warning. Entretanto, o valor
Timeout deve ser superior ao valor Warning para uso das duas tags de sistema.
Por exemplo: Warning torna-se verdade após 30 segundos de inatividade e Timeout torna-se
verdade após 15 segundos adicionais (para um total de 45 segundos) de inatividade.

Treinamento Wonderware
Laboratório 13 – Estabelecer segurança 10-15

Laboratório 13 – Estabelecer segurança


Introdução
Neste laboratório, você aprenderá a estabelecer segurança no aplicativo criando contas de
usuário específicas e aplicando script de segurança a elas.

Objetivos
Ao final deste laboratório, você será capaz de:
z Criar novas contas de usuário
z Criar método de conexão
z Criar scripts de segurança
z Configurar a navegação da janela
z Testar segurança

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-16 Módulo 10 – Segurança

Criação de novas contas de usuário


Para implementar segurança ao seu aplicativo, é necessário primeiro ajustar o tipo de segurança
do aplicativo.
1. Se não foi feito na seção anterior, selecione Special / Security / Select Security Type do
menu principal WindowMaker e selecione InTouch.
Faça a conexão como Administrator com a senha wonderware.
Em seguida, crie três novas contas de usuário.
2. Clique no comando Special / Security / Configure Users para exibir a caixa de diálogo
Configure Users.
3. Insira os seguintes usuários e informações de conta.

User Name: Password Access Level


WW WW 9999
Operator HMI 8000
Day Shift 4000

4. Clique em Add após cada entrada e em OK.


A figura a seguir exibe a caixa de diálogo Configure Users concluída:

5. Clique em OK.

Criação do método de conexão


6. Importe as janelas Menu e Security do diretório wwimport usado para importações
anteriores (File / Import).
7. Abra a janela Security.

Treinamento Wonderware
Laboratório 13 – Estabelecer segurança 10-17

A janela contém os seguintes elementos gráficos:

8. Anexe um script Touch Link - Touch Pushbuttons - Action ao botão rotulado Logon.
A função script PostLogonDialog( ) solicita ao usuário fazer a conexão ao aplicativo e
retorna o resultado como um valor DISCRETE. Como não é necessário armazenar o valor
retornado para este exercício, você usará uma tag local LogonResult para este valor.
9. Insira o script exibido no gráfico a seguir.

10. Valide o script e clique em OK.


11. Clique em OK para sair da caixa de diálogo Animation Links Selection .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-18 Módulo 10 – Segurança

Configuração do objeto de exibição de operador


12. Atribua um Value Display – String ao objeto de exibição $Operator .

13. Insira $Operator no campo Expression.

14. Clique em OK.

Configuração do # objeto de exibição

15. Atribua um link Value Display – Analog ao objeto de exibição de valor


16. Insira $AccessLevel no campo Expression: .
17. Clique em OK.

Configuração do botão Click to Continue


18. Atribua um link Miscellaneous - Visibility ao botão Approved - Click to Continue.
Este botão será visível apenas quando um registro de conexão correta ao sistema for
concluído.
19. Insira uma Expression: com base em $AccessLevel.

20. Clique no botão OK inferior.


21. Configure um link de animação Touch Link - Touch Pushbutton - Show Window para exibir
as janelas Menu e Links.

Treinamento Wonderware
Laboratório 13 – Estabelecer segurança 10-19

Configuração do objeto Cancel


O botão Cancel será usado para cancelar o processo de conexão, porém somente será visível
quando ninguém estiver conectado ao sistema, ou principalmente, quando esta janela é aberta
pela primeira vez.
22. Configure um link Miscellaneous - Visibility para o botão Cancel .
23. Insira a expressão exibida na figura a seguir.

24. Clique no botão OK inferior.


25. Configure o script Touch Link - Touch Pushbuttons - Action a seguir para fazer com que a
janela feche.

26. Valide e clique com o mouse em OK, depois em OK novamente para sair da caixa de diálogo
Animation Links Selection .

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-20 Módulo 10 – Segurança

Criação de uma janela Home


27. Criar uma nova janela denominada Home e atribuir a ela as propriedades a seguir:

Obs.: O exemplo anterior usa o Sistema Operacional Windows 2003 com Temas XP ativados
com uma resolução de tela de 1024 x 768. Os valores variarão dependendo do sistema
operacional e da resolução usada. Tente Y Location em -38 para aparência e funcionalidade do
Windows NT.

28. Posicione um objeto bitmap na janela e aumente-o para cobrir toda a janela.
29. Clique com o botão direito do mouse no objeto bitmap e selecione Import Image.
30. Selecione o arquivo wwb1.jpg do diretório c:\wwimport.

31. Clique em Open para importar a imagem dentro do objeto bitmap.


32. Redimensione a imagem para preencher toda a janela Home, se necessário.

Treinamento Wonderware
Laboratório 13 – Estabelecer segurança 10-21

A janela Home deve agora estar semelhante à figura a seguir:

33. Desenhe um objeto retângulo sobre a porta da frente da imagem em construção.

34. Clique duas vezes com o mouse no objeto retângulo.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-22 Módulo 10 – Segurança

35. Anexe a seguinte Touch Pushbuttons - Show Window ao objeto retângulo:

36. Envie o retângulo para trás.


37. Salve e feche a janela Home.

Configuração da navegação da janela


38. Open the Menu window.

39. Converta o conteúdo da janela Menu (F2, Special / Substitute Tags / Convert / Local).
Dica: Certifique-se de que a janela Menu esteja ativa antes de clicar F2 clicando uma vez em
uma área em branco da janela, por exemplo na área em preto do texto Disk Space Free.
Em seguida, é necessário vincular os botões nas janelas Menu, Historical Trend e Real-Time
Trend as suas respectivas janelas e configurar o script.

Treinamento Wonderware
Laboratório 13 – Estabelecer segurança 10-23

40. Configure os Links de Animação de acordo com a tabela a seguir.

Botão Link Type Window Expression Script


Home Touch Pushbuttons - DIM LogOffResult como
Action DISCRETE;
(On Left Click/KeyDown) LogOffResult=LogOff();
Show "Home";
Links Botões Touchscreen – Links
Exibir janela
Alarmes Diversos / Desabilitar $AccessLevel < 5000
Disabled State = On
Botões Touchscreen – Alarmes
Exibir janela
Tendênci Botões Touchscreen – Tendênci
a Exibir janela a de
histórico
Visibilidade $AccessLevel < 5000
Visible State = Off
Hopper Botões Touchscreen – Hopper
Exibir janela
Principal Botões Touchscreen – Principal
Exibir janela

41. Salve a janela Menu.


42. Mude a janela Menu Y Location como -48 na caixa de diálogo Window Properties . Isto
colocará a janela Menu sobre as barras de menu do programa WindowViewer.

Obs.: O exemplo anterior usa o Sistema Operacional Windows 2003 com Temas XP ativados
com uma resolução de tela de 1024 x 768. Os valores variarão dependendo do sistema
operacional e da resolução usada. Tente Y Location em -38 para aparência e funcionalidade do
Windows NT.

43. Abra a janela Historical Trend.


44. Crie um botão Real-Time Trend (se necessário) e vincule-o à janela Real-Time Trend
usando o link Touch Pushbutton - Show Window. Uma posição sugerida do botão é exibida
na figura a seguir.

45. Salve e feche a janela.


46. Abra a janela Real-Time Trend e adicione o botão rotulado Historical Trend.
47. Configure um link Show Window à janela Historical Trend.
48. Salve e feche a janela Real-Time Trend.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-24 Módulo 10 – Segurança

49. Selecione Special / Configure / WindowViewer.


50. Selecione a guia Home Windows e selecione Home.

51. Clique em OK.


52. Feche WindowMaker.
53. Inicie o WindowViewer. A janela Home deve ser exibida.
54. Comece clicando na porta da imagem gráfica.

Treinamento Wonderware
Laboratório 13 – Estabelecer segurança 10-25

A tela Logon é exibida.

55. Clique em Logon.


56. Login as User: ww, password ww.
Após fazer a conexão, a tela principal deve apresentar seu login e nível de acesso.

57. Clique no botão Approved - Click to continue.


A janela Links deve ser exibida para todas as conexões.
58. Faça a conexão como cada usuário que criou.

User Name: Password Access Level


WW WW 9999
Operator HMI 8000
Day Shift 4000

z • O login nome do usuário ww deve ter acesso a todas as janelas.


z • O Operator tem acesso as mesmas janelas.
z • O login Day tem acesso apenas para as janelas Links, Hopper e Main. O link/botão
Alarms é desabilitado e o link Trend fica visível.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-26 Módulo 10 – Segurança

– Deixado em branco intencionalmente –

Treinamento Wonderware
Seção 2 – Proteção do aplicativo 10-27

Seção 2 – Proteção do aplicativo

Objetivo da seção
z Explicar a aplicação de opções de segurança personalizadas a um aplicativo

Esta seção aborda a personalização dos ambientes de Runtime e de desenvolvimento para


proteger o aplicativo. Ela também explica como iniciar automaticamente um aplicativo.

Personalização do ambiente de Runtime


Como o WindowMaker, WindowViewer inclui muitas opções para personalizar seu ambiente de
Runtime. Por exemplo, é possível ajustar a velocidade de intermitência dos objetos intermitentes,
o tempo-limite de inatividade do sistema, valores de advertência e as janelas que são abertas
automaticamente quando o WindowViewer é iniciado pelo ícone ou de seu comando de menu.

Propriedades do WindowViewer – Geral


a. Clique em Special / Configure / WindowViewer.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-28 Módulo 10 – Segurança

Área WindowViewer Startup


Start up as icon para iniciar o WindowViewer como um ícone ao invés de uma janela.
Selecione esta opção somente quando usar o WindowViewer para coletar dados de outros
aplicativos interconectados de E/S.
Área Transfer to WindowMaker
Close WindowViewer: Fecha automaticamente o WindowViewer ao iniciar o WindowMaker.
Se a memória não for um problema e estiver usando a alternância rápida para mover-se entre
WindowViewer e WindowMaker, esta opção não deve ser selecionada.
A opção de alternância rápida é selecionada no diálogo WindowMaker Properties - General.
Ao selecionar esta opção, a opção Close on Transfer to WindowViewer localizada na folha
de propriedade WindowMaker Properties/General é automaticamente selecionada.
Close all open windows: Fecha automaticamente todas as janelas ao transferir do
WindowViewer para o WindowMaker. Selecionar esta opção libera memória em seu sistema.
Área WindowViewer Memory
Always load windows from disk: Se houver uma situação de memória baixa, esta opção faz
com que as janelas do aplicativo sejam carregadas do disco e não salvas na memória RAM
quando forem fechadas.
Minimum Memory to Keep Free: Insira quantos Kbytes de memória devem ser mantidos
livres para outros aplicativos Windows.
Optimize performance for memory: Aumenta significativamente a velocidade de
atualização de desenho e a taxa de atualização dos campos de texto. Se seu sistema tiver
pouca memória, não habilite esta opção.
Área Inactivity
Warning: Insira quantos segundos podem decorrer sem atividade do operador (cliques do
mouse ou seqüência de teclas) antes da tag discreta do sistema $InactivityWarning ser
ajustada como 1 (Verdadeiro).
Timeout Insira quantos segundos podem decorrer sem atividade do operador (cliques do
mouse ou seqüência de teclas etc) antes da tag discreta do sistema $InactivityTimeout ser
ajustada como 1 (Verdadeiro).
Área Time/Timer Control
Tick Interval: Insira o intervalo de velocidade que o InTouch usará para selecionar seus
temporizadores internos.
Este ajuste controla a rapidez com que os QuickScripts de Aplicativo While Running, de
janela While Showing, de Condição While On True/On False, de Tecla e Ação de Botão
touchscreen While Down QuickScripts serão executados.
Os scripts não podem executar mais rápido do que a cada 10 milissegundos nos sistemas
operacionais Windows XP, Windows NT® ou Windows 2000 .
Update Time for Time Variables: Insira a freqüência (em milissegundos) com que o
WindowViewer atualizará os tagnames de sistema com base em tempo $Msec, $Second,
$Minute, etc.
Recomendamos o uso do ajuste padrão de 1000 milissegundos. Entretanto, um 0 (zero) pode
ser inserido para evitar a atualização de todas as variáveis de tempo.

Treinamento Wonderware
Seção 2 – Proteção do aplicativo 10-29

Área Miscellaneous
Beep when objects touched: Para que todos os objetos sensíveis touchscreen emitam um
bip quando selecionados no WindowViewer.
Update all trends "fast" para atualizar os objetos de tendência mais rapidamente.
Selecione esta opção somente quando estiver totalmente seguro de que nenhum objeto
esteja sobrepondo seus objetos de tendência em Runtime. Caso contrário, a tendência não
será desenhada corretamente.
Debug Scripts: Escreve uma mensagem para o programa Wonderware Logger sempre que
um QuickScript é executado.
Se selecionar a opção de menu Debug na folha de propriedade WindowViewer Properties/
Window Configuration, poderá habilitar e desabilitar este comando em Runtime do menu
Special do WindowViewer.
Use old SendKeys somente se estiver usando um aplicativo internacional desenvolvido
usando InTouch Versão 3.26 ou anterior (Esta é uma opção legada e não é usada para o
FactorySuite).
Área Blink Frequency: Slow, Medium, Fast: Insira as velocidades (em milissegundos) a serem
usadas para fazer piscar link de animação.
Área I/O
Retry Initiates: Insira quantos segundos devem transcorrer antes do InTouch tentar conectar-
se novamente a um servidor de E/S. Esta caixa não tem efeito quando o InTouch pode
conectar-se corretamente com o servidor de E/S pela primeira vez.
Start local servers: Exibe uma caixa de diálogo quando o WindowViewer é inicializado e o
servidor com o qual está tentando se comunicar não estiver executando.

Obs.: Após modificar qualquer um destes parâmetros, o WindowViewer deve ser reiniciado para
aplicar as mudanças.

Área Hotlinks
Show Halo around Hotlink: Exibe uma auréola quadrada em Runtime quando move o
cursor sobre um objeto.
Halo follows object shape: Exibe uma auréola em torno das bordas de um objeto em
Runtime quando move o cursor sobre um objeto.
Show halo around Active X control: Exibe uma auréola quadrada em Runtime quando
move o cursor sobre um controle Active X.
Área Keyboard
InTouch Keyboard: Exibe o teclado alfanumérico padrão na tela ou o teclado numérico
InTouch quando um link de animação é ajustado como Keypad = Yes.
Resizeable Keyboard: Exibe um teclado alfanumérico dimensionável na tela ou o teclado
numérico quando um link de animação é ajustado como Keypad = Yes. Clique em Options
para selecionar as propriedades da fonte. Selecione os parâmetros X e Y Location, Width e
Height para a dimensão inicial e o posicionamento em Runtime. O teclado ou o teclado
numérico é redimensionável durante o Runtime.
Windows Keyboard: Exibe o teclado internacional Windows com teclado numérico quando
um link de animação é ajustado como Keypad = Yes.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-30 Módulo 10 – Segurança

Propriedades WindowViewer - Configurar a janela


Proteção refere-se à habilidade de desabilitar entradas não desejadas da Barra de Menu,
determinadas seqüências de teclas e outros ajustes para garantir que os usuários não mudem o
ambiente do aplicativo, fechem o aplicativo ou saiam do escape aplicativo para outros programas.
Habilitar as opções desejadas evite que os usuários desempenhem ações potencialmente
perigosas.
a. Clique em Special / Configure / WindowViewer.
b. Selecione a guia Window Configuration.

Treinamento Wonderware
Seção 2 – Proteção do aplicativo 10-31

Área Menus
Menu Bar: Evita que a barra de menu seja exibida.
WindowMaker: Evita que o operador possa alternar para o programa WindowMaker (Selecionar
esta opção não afeta a alternância rápida para o WindowMaker).
Logic: Evita que o operador inicie ou pare toda execução QuickScript durante o Runtime.
É possível usar a tagname de sistema $LogicRunning para permitir que o operador inicie e pare
todos os QuickScripts.

Obs.: Se a opção Allow CTRL-Break to stop scripts estiver selecionada, o operador poderá
parar a execução de todos os QuickScripts, independente se o menu Logic é exibido ou não.

Debug: Apenas para depurar seu aplicativo.


Window: controles que estarão disponíveis em Runtime.

Obs.: É necessário limpar a opção Control Menu (também denominada menu Sistema) a fim de
ocultar o botão close (X) no canto superior direito do aplicativo.

Title Bar Text: Insira o título a ser exibido na barra de título de seu aplicativo em Runtime. Ex.:
ABC Company, Paint APP1

Obs.: Não é possível mudar a barra de título se estiver usando uma "Licença Promocional."

Show Application Directory in Title Bar: Inclua o caminho ao diretório do aplicativo na barra de
título. Por exemplo: ABC Company, Paint APP1 - C:\DEMOAPP1
Hide Title Bar: Oculta a barra de título do aplicativo em Runtime.
Impossible to Close: Evita que o operador feche o WindowViewer.

Obs.: É necessário limpar a opção Control Menu (também denominada menu Sistema) a fim de
ocultar a caixa close (X) no canto superior direito do aplicativo.

Allow CTRL-Break to stop scripts: Permite que o operador pressione a seqüência de tecla CTRL
+ BREAK e pare a execução de todos os QuickScripts quando necessário durante o Runtime.

Obs.: QuickFunctions assíncronos que estão atualmente em execução não podem ser parados.
Entretanto, é possível evitar que novos QuickFunctions assíncronos sejam executados.

Disable ALT key para desabilitar a tecla ALT e evitar que o operador execute comandos de menu
usando a tecla ALT + acelerador. Por exemplo, ALT + FX para sair do aplicativo.
Obs.: Limpe a opção Control Menu (ou menu de Sistema) para ocultar a caixa close (X).
Hide Cursor para evitar que o cursor seja exibido durante o Runtime (se uma tela touchscreen
será usada).
Disable CTRL-ESC key para evitar que o operador acesse o menu Start do Windows para fechar
e/ou alternar entre aplicativos.
Disable WIN key para evitar que o operador acesse o menu Start do Windows para fechar e/ou
alternar entre aplicativos.
Always Maximize para manter o programa WindowViewer maximizado todo o tempo.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-32 Módulo 10 – Segurança

Selecionar as janelas Home do WindowViewer


Janelas Home são janelas designadas em seu aplicativo para abrir quando o WindowViewer inicia
pela primeira vez.
a. Clique em Special / Configure / WindowViewer.
b. Selecione a guia Home Windows.

Selecione a janela que abrirá automaticamente quando o WindowViewer é iniciado.

Obs.: As seleções de janelas home não têm efeito quando a alternância rápida é usada para
iniciar o WindowViewer. As janelas Home são abertas automaticamente quando o
WindowViewer é iniciado diretamente de seu ícone ou de seu comando de menu.

c. Clique em OK.

Treinamento Wonderware
Seção 2 – Proteção do aplicativo 10-33

Personalização do ambiente de desenvolvimento


WindowMaker inclui muitas opções de configuração.
Por exemplo, é possível personalizar o texto da barra de título de seu aplicativo para incluir o
nome da empresa, ajustar o espaçamento de pixel para a grade, etc.

Ajustar as propriedades do WindowMaker


a. Clique em Special / Configure / WindowMaker.

Title Bar Text: Insira o título que deseja que seja exibido na barra de título de seu aplicativo em
Runtime.
Show Application Directory: Inclua o caminho ao diretório do aplicativo na barra de título.
Spacing: Insira o número de pixels para espaçamento entre as coordenadas de ajuste à grade.
Show Grid: Exiba uma grade em suas janelas quando habilitar a funcionalidade Snap to grid do
WindowMaker.

Clique na ferramenta Snap to Grid na barra de ferramentas View ou clique no comando


Arrange / Snap to Grid para habilitar e desabilitar a funcionalidade ajustar à grade.
Close on Transfer to WindowViewer: Fecha automaticamente o WindowMaker quando o
WindowViewer inicia.
Se a memória não for um problema e estiver alternando entre WindowViewer e WindowMaker,
esta opção não deve ser selecionada.

Obs.: Quando selecionar esta opção, a opção Close WindowViewer localizada na folha
WindowViewer Properties General Properties é automaticamente selecionada também.

Pick Through Hollow Objects: Selecione os objetos que estão atrás de objetos vazios.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


10-34 Módulo 10 – Segurança

Enable Fast Switch: Exiba o comando alternância rápida (entre o WindowMaker e


WindowViewer) em sua barra de menu para os dois programas.
Se esta opção estiver selecionada no WindowMaker, a alternância rápida é a palavra Runtime
exibida no lado superior direito de sua tela. No WindowViewer, é a palavra Development. Para
alternar rapidamente entre os dois programas, clique em alternância rápida.

Obs.: Quando usar alternância rápida, o WindowMaker salva automaticamente todas as


mudanças feitas em todas as janelas abertas antes do WindowViewer ser iniciado.

Line Selection Precision: Insira o número de pixels que seu cursor pode se distanciar de uma
linha e ainda poder selecioná-la. Na maioria dos casos, o ajuste de parâmetro padrão de 4 deve
ser suficiente.
Level of Undo: Insira o número de níveis de desfazer/repetir a ser salvo (até 25 níveis). Insira
zero (0) para desabilitar a funcionalidade desfazer/repetir.
Um nível representa uma ação. As pilhas de desfazer e refazer são esvaziadas quando uma nova
janela é criada ou quando uma janela existente é aberta. As duas pilhas são esvaziadas quando a
janela é salva.

Obs.: Após estes ajustes serem modificados, o WindowMaker deve ser iniciado para aplicar as
mudanças.

Área Configure Fonts:


Text: Selecione o tipo e o tamanho de fonte padrões para objetos de texto.
Button: Selecione o tipo e o tamanho de fonte padrões para objetos de botão.

Treinamento Wonderware
Módulo 11

Backup do aplicativo
Seção 1 – Backup do aplicativo 11-3
11-2 Módulo 11 – Backup do aplicativo

Objetivo do módulo
z Explicar o salvamento de um aplicativo e otimização dele para distribuição/implantação

Treinamento Wonderware
Seção 1 – Backup do aplicativo 11-3

Seção 1 – Backup do aplicativo

Objetivo da seção
z Identificar os métodos de backup para aplicativos InTouch

Esta seção explicará como salvar um aplicativo e otimizá-lo para distribuição/implantação.

Introdução
Antes de continuar com qualquer mudança de conteúdo do diretório de aplicativo, é altamente
recomendado que o arquivo de aplicativo tenha back up no disco rígido sempre que possível.
Ao fazer o back up de um aplicativo InTouch, WindowViewer deve SEMPRE encerrar. É
recomendado também que o WindowMaker seja encerrado.
Fazer o back up dos arquivos cria um registro de seu desenvolvimento e garante a recuperação
do trabalho no caso de algum evento inesperado.
Uma operação de backup deve ocorrer antes de mudanças significativas no aplicativo ou antes
de um aplicativo ser distribuído/implementado em outro nó.

Conteúdo do arquivo InTouch


Quando uma janela de aplicativo é criado, diversos arquivos são criados para manter as
informações necessárias para o WindowMaker e WindowViewer exibir a janela como definido.
Isto significa que cada janela terá mais do que um arquivo usado para definí-la. Quando uma
janela é criada no WindowMaker, um arquivo denominado WIN****.WIN é criado para manter
dados de janela pertinentes.
Quando mudanças são feitas na janela no WindowMaker, a nova versão é salva como um arquivo
.win e a antiga extensão do arquivo é mudada para .WBK.
Quando alternar para Runtime, WindowViewer compila sua própria versão do arquivo .WIN para
seu uso. Este arquivo tem a extensão .WVW.
Finalmente, se sua janela contém um ou mais arquivos de tendência em tempo real, um arquivo
com uma extensão .TRN é gerado juntamente com o arquivo .win.
Antigamente, se um usuário tivesse que mover um aplicativo para outro computador, todo o
diretório do aplicativo era movido no geral. Entretanto, o tamanho da mídia de transporte pode ser
limitada e o aplicativo pode não caber. No ambiente atual, espaço de disco não é caro e
geralmente não é uma consideração.
Fazer o back up do diretório do aplicativo pode ser tão fácil quanto copiar/colar todo o conteúdo
de um aplicativo em outro diretório.

InTouch Backup – Application Publisher


O Application Publisher do InTouch cria um arquivo de auto-extração que contém todos os
arquivos relevantes e ajusta procedimentos que são necessários para instalar o aplicativo em
outro nó InTouch.
O Application Publisher comprime o Aplicativo para reduzir o tempo de download na Internet. É
possível copiar estes aplicativos comprimidos para disquetes, discos zip e assim por diante, para
instalação em outros nós.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


11-4 Módulo 11 – Backup do aplicativo

Obs.: O tamanho do arquivo concluído do Application Publisher é significativamente menor do


que o arquivo fonte. Por exemplo, o desenvolvimento pleno e o Runtime do aplicativo pode caber
em um disquete padrão. Se o arquivo acabado for somente Runtime, um aplicativo grande pode
caber e um único disquete.

Uma vez publicado um aplicativo, é possível usar diversos métodos para carregar o arquivo do
aplicativo publicado em outro nó InTouch.
z Copiar para um disquete
z Copiar o arquivo para a intranet de sua empresa
z Copiar o arquivo através da Internet
z Executar o arquivo de auto-extração como um programa no nó de destino

Publicação de um aplicativo InTouch


a. Feche qualquer instância aberta do WindowViewer e feche todas as janelas WindowMaker.
b. No WindowMaker, expanda o diretório Applications dentro do Application Explorer.

c. Selecione Application Publisher.

Treinamento Wonderware
Seção 1 – Backup do aplicativo 11-5

A caixa de diálogo InTouch Application Publisher -- Step 1 of 4 é exibida:

d. Clique em Next.
A caixa de diálogo InTouch Application Publisher -- Step 2 of 4 é exibida:

e. Enter Author Name: Insira o nome da pessoa (até 256 caracteres) para entrar em contato
com referente ao aplicativo.
f. Enter a short description…: Insira uma descrição para o aplicativo (até 256 caracteres).
Enter package name…: Insira um nome para o pacote (até 32 caracteres).
7. Clique em Next.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


11-6 Módulo 11 – Backup do aplicativo

Obs.: A informação inserida na etapa anterior, enquanto solicitada, somente é usada quando
publicada para um Cliente IIS como FS WebServer ou SuiteVoyager® 1.0. A informação é
armazenada em um arquivo denominado packagename.inf e não é um componente
necessário ao copiar o executável de auto-extração.

A publicação em qualquer diretório virtual (IIS) é compatível com o Application Publisher.

A caixa de diálogo InTouch Application Publisher -- Step 3 of 4 é exibida:

h. Enter the InTouch application source…: Insira o caminho correto para a fonte de aplicativo
InTouch. O padrão é o diretório de aplicativo WindowMaker.
i. Runtime only: Evita a inclusão de arquivos de desenvolvimento WindowMaker no arquivo
publicado. Esta opção não é recomendada se deseja-se editar este aplicativo no
WindowMaker.
10. Clique em Next.

Treinamento Wonderware
Seção 1 – Backup do aplicativo 11-7

A caixa de diálogo InTouch Application Publisher -- Step 4 of 4 é exibida:

k. Verifique se o nome executável na primeira caixa está correto (por padrão, ele será o mesmo
do Package Name que você especificou).
l. No segundo arquivo, insira o caminho para o diretório onde deseja salvar o arquivo publicado
ou clique em Browse para localizar um diretório diferente.

Obs.: O ajuste padrão para Documents and Settings/AdministratorName/Local directory é


aceito.

m. NÃO publique em um local de disquete (A:\). Copie os arquivos publicados para o disquete
após a operação de publicação ser correta.
n. Clique em Finish.

Outros cenários de backup


Nos casos onde o espaço de disco é um problema, alguns arquivos redundantes ou backup
podem ser excluídos para reduzir o aplicativo para um tamanho mais gerenciável. WindowViewer
deve ser encerrado antes de fazer o back up.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


11-8 Módulo 11 – Backup do aplicativo

Arquivos de dados InTouch


Quando um diretório de aplicativo é criado no InTouch, um conjunto de arquivos de dados é criado
para ser usado pelo WindowMaker e WindowViewer. Cada aplicativo criado deve estar em um
diretório separado.
A menos que especificamente instruído pelo pessoal da Wonderware, não edite estes arquivos
de forma alguma.

Arquivo Descrição
ALARM.CFG Este arquivo binário contém informação de armazenagem de alarme e
impressão.
ALMGRP.INI Arquivo de texto contendo as Listas de Grupo de Alarme especificados
na configuração Name Manager/Distributed Alarms.
APP.VER Este arquivo binário contém a versão do aplicativo.
APPEDIT.LOK Arquivo somente leitura criado pelo WindowMaker para evitar que
diversos nós sejam editados no aplicativo.
APPCHNGD.FMS Arquivo atualizado do WindowMaker ao realizar um Special/Notify
Clients é realizado.
APPLIST.INI Arquivo de texto contendo informações sobre as cores personalizadas
e transparentes usadas pela Paleta do WindowMaker.
APPSTG.STG Arquivo binário contendo informações sobre as cores personalizadas e
transparentes usadas pela Paleta do WindowMaker.
APPLOGIC.LGC Este arquivo binário contendo o script Application (On Start, While
Showing, On Shutdown).
COLORCH.INI Arquivo de texto contendo as 32 cores usadas pelas caixas de seleção
de cor no WindowMaker.
DB.INI Este arquivo contém os padrões para cada caixa de diálogo no
Dicionário Tagname.
DDE*.AVL, DDE*.BIN, DDE.CFG Estes arquivos contêm informações de nomes e nós de Acesso DDE.
DHISTCFG.INI Este arquivo é usado pelo sistema de histórico distribuído.
DS######.CFG Este arquivo contém informação de configuração de conjunto de
dados SPC.
DS######.DAT Este arquivo binário contém dados coletados usando SPC.
DS.INF Este arquivo binário contém informação de conjunto de dados.
GROUP.DEF Este arquivo contém informações para grupos de alarme tagname.
HISTLOG.CFG Este arquivo contém informação de configuração usada pelo Historical
logger.
HISTPRV.INI Arquivo de texto contendo informação do provedor de histórico
distribuído especificado pela configuração Name Manager/
Distributed History .
INTOUCH.INI Este arquivo contém a informação de configuração usada pelo InTouch
para o aplicativo.
INTRACK.INI Arquivo de texto contendo informação sobre a configuração InTrack.
INTRACK.ITL Arquivo binário contendo informação da taglist InTrack.
ITOCX.CFG Arquivo binário contendo informação de referência cruzada sobre
controles ActiveX usados no aplicativo.
LINKDEFS.INI Este arquivo contém os padrões para cada caixa de diálogo de link no
WindowMaker.
OCX.INI Arquivo de texto contendo o Globally Unique Identifier (GUID) e uma
descrição de cada controle ActiveX registrado no InTouch dos
Assistentes de Instalação/Active X.

Treinamento Wonderware
Seção 1 – Backup do aplicativo 11-9

Arquivo Descrição
PASSWORD.BIN Este arquivo binário contém os Nomes de Usuários, Senhas e Níveis
de acesso usados na seção de segurança do aplicativo.
RETENTIV.X, RETENTIV.A, Estes arquivos binários contêm valores retentivos para este aplicativo.
RETENTIV.D, RETENTIV.H,
RETENTIV.S, RETENTIV.T
SECCONFIG.XML Este arquivo contém a definição de modelo de segurança para este
aplicativo.
SERIAL.TRN Este arquivo contém os números de série para todas as tendências em
tempo real no aplicativo.
SPC.CFG Arquivo binário contendo informação sobre a configuração SPC.
SPC.INI Arquivo de texto contendo informação sobre a configuração do nome
da fonte de Conjunto de dados SPC Dataset e de dados SPCPro.
SPCPASSWORD Arquivo binário contendo a configuração de usuário/senha para coleta
de dados baseada em eventos e automática para o banco de dados
SPCPro.
SUPERTAG.DAT Arquivo binário contendo as definições de modelo usadas pelo
WindowMaker ao criar SuperTags a partir do Dicionário Tagname.
SQL.DEF Arquivo de texto contendo a bindlist e os modelos definidos a partir do
SQL Access Manager.
TAGBRW.DAT Arquivo binário contendo a última configuração usada pelo Tag
Browser.
TAGNAME.AVL, Estes arquivos contêm informações específicas sobre itens no
TAGNAME.NDX, TAGNAME.X Dicionário Tagname.
TBOX.INI Este arquivo contém os ajustes iniciais para a caixa de ferramentas.
Ele é atualizado toda vez que o WindowMaker é fechado e reiniciará
com os mesmos ajustes para o aplicativo.
*.TRN Este arquivo representa informações de tendência para uma janela. Se
uma janela não tiver informações de tendência, não haverá arquivo
.TRN correspondente.
VERS_RES.INF Este arquivo contém o número de versão InTouch e a resolução de tela
do aplicativo.
VIEW.INI Este arquivo contém as seleções de janela padrão usados pelo
WindowViewer.
*.WIN Este arquivo WindowMaker contém uma descrição detalhada de cada
janela. Nomes de arquivo estão no formato a seguir: win#####.win.
WIZ.INI Arquivo de texto contendo informação sobre os Assistentes
registrados no InTouch a partir do Install Wizards/ActiveX.
WM.INI Este arquivo contém as seleções de janela padrão usados pelo
WindowMaker na inicialização.
*.WVW Quando uma janela é carregada pela primeira vez pelo WindowViewer
ela é “compilada” e salvo no arquivo .WVW. Isto melhora
consideravelmente o tempo de carregação de janela no
WindowViewer.
WWREPORT.INI Arquivo de texto contendo o tagname da tag a ser incrementada ao
usar a função de comunicação InTrack.
WW_WDWS.NDX Este arquivo contém uma referência cruzada dos nomes de janela do
aplicativo.
*.AEH Este é um arquivo de texto criado pelo programa WWLOGGER.EXE e
contém o registro de erro para todos os produtos Wonderware.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


11-10 Módulo 11 – Backup do aplicativo

Arquivo Descrição
*.ALG Este é o arquivo ALARM. Ele é um arquivo de texto criado pelo
programa de alarme InTouch e contém uma lista de todos os alarmes
armazenados.
*.LGH Este arquivo binário contém dados armazenados do InTouch.
*.IDX Este é o arquivo índice para o arquivo *.LGH.
*.CSC Este arquivo binário contém um script de condição.
*.KSC Este arquivo binário contém um script Key.
*.CSV Arquivo de texto no formato Variável Separada por Vírgula.
*.TXT Arquivo de texto.
*.BMP, *.JPG. *.PCX, *.TGA Arquivos gráficos/imagens contendo um objeto bitmap do bitmap tem
um link String Value Display.
*.PAL Arquivo de Paleta do Windows criado para exportar uma paleta de cor
do WindowMaker ou por um utilitário de terceiros.
*.WAV Arquivo de som Microsoft.
*.NEH Arquivo de texto criado pelo Wonderware NT Conversion Logger
quando um aplicativo InTouch de 16 bits é convertido para 32 bits.
Contém um registro do processo de conversão, incluindo qualquer erro
encontrado.
*.DCH Este arquivo binário contém um script Data Change.
*.NMD Um arquivo binário contendo um script QuickFunction.
*.OES Um arquivo binário contendo um script ActiveX event.
*.?BK Todos os arquivos com .?BK são arquivos backup. O InTouch cria
arquivos backup de todos os arquivos editados. Todos os arquivos
backup podem ser excluídos quando o aplicativo é concluído. Isto
liberará espaço de disco e tornará o diretório do aplicativo menor para
fazer backups ou transportar um aplicativo.

Determinados arquivos InTouch podem ser excluídos para conservar espaço de disco.
Geralmente, qualquer arquivo cuja extensão termine em BK (ex..cbk) pode ser excluído pela
especificação de uma exclusão de *.?BK em um dos utilitários de manipulação de arquivo (ex.
Winfile ou Explorer).
Porque o WindowViewer sempre compila um arquivo .wvw novo para cada nova versão dos
arquivos .win, todos os arquivos .wvw podem ser excluídos e novos arquivos .wvw serão
compilados a partir dos arquivos .win existentes quando o WindowViewer é lançado.
Dependendo de como o aplicativo foi configurado, arquivos de armazenagem de histórico e
arquivos de armazenagem de alarme podem ser armazenados no diretório de aplicativo. Se os
arquivos de armazenagem são desnecessários, todos os arquivos que terminam com .LGH e
.IDX (arquivos de armazenagem de histórico) podem ser removidos. A maioria dos arquivos
restantes são essenciais para um aplicativo e não devem ser mexidos.
Se é necessário reduzir ainda mais o tamanho, um utilitário de compressão pode ser usado (ex.
PKZip ou WinZip) ou um utilitário de backup pode ser usado para condensar e armazenar o
aplicativo. Ao usar um dos programas de compressão, recomenda-se converter o arquivo zipado
em um arquivo zip de auto-extração pela execução do zip2exe ou um equivalente. Isto garantirá
que o destinatário do aplicativo tenha a versão correta para descomprimir o arquivo.

Treinamento Wonderware
Apêndice A

Licença FactorySuite 2000


A-2 Apêndice A – Licença FactorySuite 2000

Características gerais
Este Apêndice explica:
z Mudanças na Licença FactorySuite 2000
z Definição/Descrição/Função da Licença
z Etapas de instalação
z Requisitos de componente
z Pacote
z Questões de chave de hardware
z Licenças Demo
z Atualização de FactorySuite 2000
z Uso de versões anteriores
z Problemas de instalação
z Compatibilidade Ano 2000
z Outras questões de compatibilidade
Para mais informações sobre dúvidas de licenciamento, consulte o Guia de Administradores de
Sistema FactorySuite , a Wonderware TechNote #113, Características gerais do sistema de
licença FactorySuite contido no Wonderware KBCD, ou no site Wonderware
www.wonderware.com/support.
As questões podem ser enviadas também por meio de fax ou diretamente para a equipe de
Suporte Técnico da Wonderware através do site Tech Support Web.

Introdução
Wonderware® FactorySuite® 2000 é formado de componentes de software integrados que são
entregues em CD-Roms de diversos produtos em uma única caixa de CD-ROM. O Acordo de
Licença Wonderware dá o direito de usar e exibir o software em um único computador em um
único endereço.
Além disso, a Wonderware fornece diversos tipos de mecanismos de validação para licença e
habilitação de programas de software específicos. Isto é realizado por meio de um novo sistema
de gestão de licença que substitui o Utilitário FactorySuite 1000 License.

Licença FactorySuite2000
O FactorySuite 2000 tem um arquivo de licença, WWSuite.lic, que está localizado na pasta
Licenses no disco de arquivo de licença. Toda a informação para os componentes FactorySuite
licenciados está contida neste arquivo.
O arquivo de licença FactorySuite 2000 WWSuite.lic está localizado no sub-diretório \Common no
diretório de instalação FactorySuite (geralmente \Program Files\FactorySuite\Common\
Licenses).

O Utilitário FactorySuite 2000 License que vem com o FactorySuite 2000 pode ler arquivos de
licença instalados e instalar novos arquivos de licença.
Cada arquivo de licença contém o nome do cliente, nome da empresa e localização e as opções
licenciadas do cliente. Esta informação pode ser visualizada usando o programa License Viewer.
O arquivo de licença é formado de dois níveis de informação: Componente e Função. A
informação Componente estabelece quais componentes FactorySuite 2000 estão licenciados; a
informação Função habilita de fato os componentes que são parte da informação Componente.

Treinamento Wonderware
Apêndice A – Licença FactorySuite 2000 A-3

Tipos de arquivo licença

Software
Um Kit Habilitador de Licença inclui um disquete com o Arquivo de Licença. A etiqueta do
disquete lista informações sobre o cliente e as opções licenciadas. O Kit Habilitador de Licença
contém um arquivo de licença para os produtos comprados apenas. Você pode entrar em contato
com seu distribuidor Wonderware local a qualquer hora para obter uma licença de demonstração
para qualquer componente FactorySuite 2000 desejado. (Para uma revisão de quais
componentes são licenciados, consulte as seções denominadas Requisitos de Componente e
Licenças Demo acima).
Para ativar o arquivo de licença, simplesmente instale o software de componente FactorySuite
licenciado depois instale o arquivo de licença do disquete de Licença.

Chave de Software/Hardware
Esta opção é a mesma da opção Arquivo de Licença de Software, exceto pelo arquivo de licença
estar bloqueado para uma chave de hardware específica. Se tiver este tipo de opção de licença,
seu Kit Habilitador de Licença incluirá disco de arquivo de licença e uma chave de hardware
(algumas vezes denominada dongle). Observe que o código de peça listado na etiqueta do disco
de arquivo de licença deve incluir um “D” (para Dongle) (exemplo, 01-627D) ou um “E”, que é uma
atualização de uma chave de hardware existente.
Sua chave de hardware tem um número de série exclusivo que corresponde ao algoritmo de
autenticação do arquivo de licença. O arquivo de licença e a chave de hardware devem ser
instalados no mesmo computador a fim de habilitar o componente FactorySuite licenciado. A
identificação do host do arquivo de licença determina qual chave de hardware deve ser instalada
no computador. Por exemplo, a linha a seguir no arquivo de licença especifica a identificação do
host:
HOSTID=Wonderware_HWKeyID=xxxxxxxx one xxxxxxxx é a representação hexadecimal do
número de série da chave de hardware yyyyyyyy.
Para ativar o arquivo de licença, instale o software de componente FactorySuite licenciado e o
arquivo de licença. Depois Conecte a chave de hardware na porta paralela do computador antes
de começar o componente FactorySuite.

Acordo de licença em papel


O Acordo de Licença em papel será incluído com seu Kit Habilitador de Licença se comprou
ScoutVT™, IndustrialSQL™ Client Access License (CAL), Crystal Reports ou o FactorySuite
Toolkit. Para executar qualquer um destes produtos licenciados, simplesmente instale o produto
do CD-Rom apropriado e leia as instruções no acordo de licença em papel.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


A-4 Apêndice A – Licença FactorySuite 2000

Requisitos de componente
Os componentes FactorySuite que requer arquivos de licença são:
z InTouch
z Servidores E/S (Edição 4.5 e mais recente para 16 bits; Edição 5.5 e mais recente para
32 bits)
z InControl
z InTrack
z InBatch
z IndustrialSQL Server
z Factory Focus
z FactorySuite Web Server
Espera-se que o cliente siga um arquivo licenciado escrito que é enviado com o FactorySuite.
O complemento InTouch individual a seguir não requer arquivos de licença:
z Acesso SQL
z Programa SPC
z Gerenciador de Receita
z NetDDE
z Extensões Windows NT

Obs.: Como na versão 7.0, SPC Pro sem licença realiza apenas os recursos antigos do SPC, ex.
v.5.6b e 6.0b. Para obter o uso de novas funções SPC Pro, uma licença para SPC Pro é
requerida.

Informação no disco
O arquivo de licença contem o nome do cliente, localização e opções de licença. Esta informação
pode ser revisada usando o programa License Viewer.

Instalação
Execute o programa Setup do disco de arquivo de licença e selecione os componentes de arquivo
de licença para instalar no microcomputador. Se um componente FactorySuite ainda não foi
instalado no microcomputador, um diretório padrão será criado para o arquivo de licença
selecionado. Para mudar o diretório de destino do arquivo de licença, selecione o arquivo de
licença e navegue no microcomputador.
Mediante a validação das informações de licença, o gerenciador de licença ativa o componente e
as opções FactorySuite 2000 apropriados.

Problemas de instalação
No caso de problemas ao instalar ou usar o arquivo de licença, ligue para seu distribuidor
Wonderware local.

Compatibilidade Ano 2000


O Utilitário de Gestão de Licença Wonderware é totalmente compatível com Year 2000.

Treinamento Wonderware
Apêndice A – Licença FactorySuite 2000 A-5

Outra compatibilidade
Para verificar se você está compatível com a sua licença FactorySuite, execute o programa
License Utility e visualize as informações de licença que são exibidas Observe que é possível
visualizar o arquivo de licença que está no computador local ou em qualquer computador remoto
em toda a rede. O License Utility pode navegar em computadores remotos específicos ou realizar
busca em toda a rede procurando um arquivo de licença. Entretanto, realizar busca em toda a
rede pode levar algum tempo e recomendamos que, quando possível, use a função navegar e
busque um ou mais computadores remotos específicos para o arquivo de licença. Para mais
detalhes, consulte o Guia de Administradores de Sistema FactorySuite.
Fazer cópias backup do arquivo de licença é permitido desde que o objetivo seja criar uma cópia
backup para emergências. Seu acordo de licença Wonderware estabelece que você pode fazer
ou manter uma cópia do software somente para fins de backup ou de arquivo. Fazer e manter
cópias de materiais escritos fornecidos pela Wonderware é permitindo somente para seu próprio
uso.

Obs.: Para uma apresentação detalhada das etapas de instalação e das questões de
compatibilidade, consulte Wonderware Tech Note #113, Características Gerais do Sistema de
Licença FactorySuite 2000.

Para mais informações sobre nosso programa de Suporte Abrangente, é possível entrar em
contato com seu distribuidor Wonderware local, seu Provedor de Suporte Certificado local ou o
Suporte Técnico Wonderware.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


A-6 Apêndice A – Licença FactorySuite 2000

– Deixado em branco intencionalmente –

Treinamento Wonderware
Apêndice B

Suporte para Produtos Wonderware


B-2 Apêndice B – Suporte para Produtos Wonderware

Características gerais
Este apêndice explica como acessar o suporte ao produto e informações de suporte no Website
de Suporte Técnico da Wonderware o ArchestrA® Guia de Implantação.

Obs.: As páginas da rede exibidas nas paginas a seguir estão sujeitas a mudanças sem
comunicação prévia.

O Website de Suporte Técnico Wonderware é:


http://www.wonderware.com/support/mmi/.

Quando entrar no site de Suporte Técnico pela primeira vez, você terá acesso limitado. Para ter
acesso a áreas e serviços diferentes, é necessário primeiro se registrar selecionando o link
Register na página principal e preenchendo a informação solicitada. Após enviar a informação,
um e-mail será enviado a você com a identificação do usuário e a senha atribuídos da
Wonderware.
Após se registrar, clique em Login e insira sua identificação de usuário e senha para acessar as
áreas de suporte.

Treinamento Wonderware
Apêndice B – Suporte para Produtos Wonderware B-3

Na página Support, encontrará uma variedade de informações incluindo a Base de


Conhecimento Especializado, Documentação, FAQs, Tech Alerts, Tech Articles, Tech Notes e
Tech Support Forums.

Acesso a áreas e serviços diferentes no site depende de seu nível de suporte com base nos
seguintes tipos de programas de suporte:
z Suporte Básico
z Suporte Abrangente
z Suporte à Empresa
Para informações sobre cada um destes programas de suporte, assim como informações sobre
como entrar em contato com o Suporte Técnico, políticas e procedimentos de suporte e muito

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


B-4 Apêndice B – Suporte para Produtos Wonderware

mais, consulte o guia Políticas, Termos e Condições de Suporte Técnico. Este guia está
disponível para download no arquivo de Ajuda formato HTML no Website de Suporte Técnico.
Para fazer o download do arquivo, clique no link Políticas, Termos e Condições de Suporte
Técnico na seção Quick Links exibida abaixo:

Guia de Implantação ArchestrA®


O Guia de Implantação FactorySuite A2™ fornece recomendações e informações sobre
"melhores práticas" para ajudar a definir, projetar e implementar projetos de integração dentro do
ambiente Wonderware® FactorySuite A2 System. As recomendações incluídas neste guia são
baseadas na experiência adquirida de projetos diversos usando a infra-estrutura ArchestrA™
para FactorySuite A2.
As recomendações contidas no Guia de Implantação não deve evitar a descoberta de outros
métodos e procedimentos que trabalhem efetivamente.

Considerações
O Guia de Implantação é destinado a:
z Engenheiros e outro pessoal técnico que desenvolverão e implementarão as soluções
FactorySuite A2 System.
z Pessoal de vendas ou Engenheiros de venda que precisam definir topologias de sistema
a fim de enviar propostas de projeto FactorySuite A2 System.
Presume-se que você esteja familiarizado com o ambiente de trabalho do sistema operacional
Microsoft Windows 2000 Server, Windows Server 2003 e Windows XP Professional, assim como
com uma linguagem de script, de programação ou macro. Além disso, uma compreensão dos
conceitos como variáveis, declarações, funções e métodos ajudará a alcançar melhores
resultados. Presume-se que você esteja familiarizado com os componentes individuais que
formam o ambiente FactorySuite A2. Para informações adicionais sobre componentes, consulte a
documentação do usuário associada.

Treinamento Wonderware
Apêndice B – Suporte para Produtos Wonderware B-5

Acesso
O Guia de Implantação está localizado no Team.Wonderware.
1. Em Team.Wonderware, selecione Product Info / Find Products By Name / Industrial
Application Server.

2. Selecione Deployment Guide.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


B-6 Apêndice B – Suporte para Produtos Wonderware

3. Selecione FactorySuite A2 Deployment Guide - Industrial Application Server 2.1


included.

4. Selecione o arquivo.

Treinamento Wonderware
Apêndice C

Glossário de Termos do InTouch


C-2 Apêndice C – Glossário de Termos do InTouch

Nome de Acesso:
Informações que são usadas para a comunicação com outras fontes de dados de E/S incluindo o
nome de nó, nome do aplicativo e o nome de tópico.
Contêiner/Controle ActiveX
Controles ActiveX, originalmente conhecidos como controles OLE ou OCXs, são componentes de
software independentes que realizam funções específicas em um modo padrão. Controles
ActiveX devem ser posicionados em um contêiner ActiveX. InTouch é um contêiner ActiveX.
Alarme
Um sinal de advertência exibido ou ativado quando um desvio crítico de condições normais
ocorre.
Alarm Logger
O Alarm Logger fornece ao usuário um registro centralizado de informações de alarme em nós
diversos em um utilitário separado e independente. O Alarm Logger fornece também acesso aos
alarmes distribuídos.
Prioridades alarme
Cada alarme configurado no InTouch tem um valor de prioridade associado a ele. Este valor
representa a severidade de um alarme e pode variar de 1 a 999 sendo que 1 é o mais severo.
Analógico
Refere-se à representação de quantidades numéricas pela medição de variáveis físicas
contínuas.
Animação
Dar ‘vida’ a um objeto usando movimento ou cor.
Links de animação
Animar um objeto vinculando-o a caixas de diálogo específicas ou scripts que executam
comandos específicos.
Aplicativo
Um programa ou grupo de programa usado para um tipo de trabalho em particular, como o
InTouch.
Application Explorer
A visualização gráfica hierárquica do WindowMaker do aplicativo atual.
Application Manager
Programa InTouch que organiza os aplicativos criados e estabelece qual aplicativo é o aplicativo
padrão.
Application Publisher
Programa InTouch que cria um arquivo de auto-extração que contém todos os arquivos relevantes
e ajusta procedimentos que são necessários para instalar o aplicativo em outro nó InTouch.
Scripts de aplicativo
Scripts vinculados a todo um aplicativo
Argumento
Uma variável para a qual um valor lógico ou numérico pode ser atribuído. Até 16 argumentos
podem ser especificados para um InTouch QuickFunction.
Binário
Pertencente ao sistema numérico com uma base de 2, ou a uma característica ou propriedade
envolvendo uma escolha ou uma condição na qual há exatamente duas possibilidades.

Treinamento Wonderware
Apêndice C – Glossário de Termos do InTouch C-3

Código binário
Um sistema codificado no qual a codificação de qualquer dado é feita através do uso de bits: 0 ou
1.
Bit
Um dígito binário; um dígito (1 ou 0). A menor unidade de informação reconhecida por um
computador e seu equipamento associado.
Bitmap
Uma imagem de memória gráfica. Os bitmaps podem ser manipulados no InTouch usando o
Microsoft Paint.
Botão
Os botões grandes retangulares com cantos arredondados ou pequenos botões redondos
exibidos em caixas de diálogo. Clique com a seta cursor para selecionar a opção ou comando do
botão.
Célula
Uma célula é uma coleção de dois ou mais objetos, símbolos ou outras células que são unidas
para formar uma única unidade. As células mantêm um relacionamento espacial fixo entre os
seus elementos gráficos individuais. Cada componente de uma célula pode ter seus próprios
links. Células são usadas para criar dispositivos virtuais como um controlador slide.
Caixa de seleção
Uma pequena caixa quadrada exibida em uma caixa de diálogo que pode ser habilitada ou
desabilitada. Caixas de seleção são geralmente associadas a opções diversas que podem ser
ajustadas.
Área de transferência
Uma área de armazenamento para manter dados (texto, bitmap, objeto gráfico, etc.) que estão
sendo copiados ou movidos para outro aplicativo ou janela.
Comando
Uma palavra ou frase, geralmente encontrada em um menu que executa uma ação.
Botão de Comando
Um retângulo com cantos arredondados com um rótulo que descreve uma ação, como OK,
Cancel ou Close. Quando escolhido, o botão de comando executa uma ação.
Tecla de Comando
Qualquer tecla de teclado usada para realizar funções separadas.
Linha de Comando
O string de argumentos que segue qualquer comando MS-DOS, incluindo o comando para iniciar
um programa aplicativo. Os argumentos na linha de comando são passados para a função MS-
DOS ou o programa no momento da inicialização.
Script de Condição
Scripts vinculados a um tagname discreto ou expressão que corresponda a Verdadeiro ou Falso.
CSV - Variável Separada por Vírgula
CSV é o formato usado pela área de transferência para transferir colunas de texto e dados
numéricos entre aplicativos. Um item de dados CSV é um texto que faz com que cada variável
seja separada por vírgula. O Microsoft Excel é compatível com este formato.
Utilitário de Referência Cruzada
Um utilitário para determinar o uso de tagnames em várias funções.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


C-4 Apêndice C – Glossário de Termos do InTouch

Banco de Dados
Uma coleta de registros ou arquivos relacionados logicamente. Um banco de dados consolida
muitos registros em uma fila comum de registros de dados que atua como um único arquivo
central.
Script de Troca de Dados
Scripts vinculados a um tagname e/ou tagname.field apenas Este script é executado uma vez
quando o valor de um tagname ou de um campo muda com um valor maior do que o valor
deadband definido no Dicionário Tagname.
DBDump/DBLoad
Dois utilitários que permitem que um banco de dados seja copiado ou modificado e mesclado em
outro aplicativo.
Padrão
Uma opção, comando ou dispositivo automaticamente selecionado ou escolhido pelo sistema.
Por exemplo, um dos botões de comando em uma caixa de diálogo já está selecionado quando a
caixa de diálogo é aberta. Isto indica que é o valor padrão e será escolhido automaticamente se a
tecla <Enter> for pressionada. Os valores padrões são sobrescritos ao selecionar outra opção,
comando ou dispositivo apropriado.
Driver de Dispositivo
Um programa que controla como o computador interage com dispositivos como impressora,
monitor ou mouse. Um driver de dispositivo habilita o uso de dispositivos com o computador.
Caixa de Diálogo
Uma janela exibida quando o Windows precisa de mais informações antes de executar um
comando. Por exemplo, se o comando Save em um menu File é selecionado, uma caixa de
diálogo será exibida solicitando um nome para o arquivo a ser salvo.
Valor discreto
Uma variável que tem apenas dois estados: '1' (Verdadeiro, Habilitado) ou '0' (Falso,
Desabilitado).
Aplicativos Distribuídos
Aplicativos distribuídos são muito mais complexos, geralmente com diversas camadas de redes.
DDE - Troca de Dados Dinâmica
DDE é a passagem de dados entre aplicativos, realizada sem o envolvimento ou monitoração do
usuário. No ambiente Windows, DDE é obtido através de um conjunto de tipos de mensagens,
procedimentos recomendados (protocolos) para processamento destes tipos de mensagem e
algum tipo de dados recentemente definido. Ao seguir os protocolos, os aplicativos que foram
escritos de forma independente um do outro podem passar dados entre eles sem o envolvimento
do usuário. Por exemplo, InTouch e Excel.
Eventos
Eventos são associados com controles ActiveX e ocorrem através do contêiner ActiveX. É
possível executar eventos de controle ActiveX em Runtime (WindowViewer) designando uma
ação em particular e associando-a ao evento pela criação de scripts ActiveX Event.
Expressão
Um termos geral para numerais, numerais com sinais de operação, variáveis e combinações
deles: 6, 3+6, n+10 são todos expressões.
Extensão
O ponto e três letras ao final de um nome de arquivo. Uma extensão identifica que tipo de
informação um arquivo contém. Por exemplo, uma extensão pode ser .EXE, .BAT indicando que
um arquivo contém um aplicativo.

Treinamento Wonderware
Apêndice C – Glossário de Termos do InTouch C-5

FactorySuite
Pacote de software Wonderware formado por um sistema integrado IHM baseado em
componente capaz de colocar uma fábrica em operação.
Interface de Usuário Gráfica (GUI)
A representação gráfica de um programa de software visto no monitor do computador e usado
para inserir, monitorar e manipular dados. A GUI usa funções padrões Microsoft ex. barras de
ferramenta flutuante e ancoradas, funções acionadas pelo clique com o botão direito do mouse e
menus, etc.
Tendência de histórico
Representações gráficas de dados sobre um determinado período de tempo. Elas não são
dinâmicas e somente são atualizadas quando são instruídas a fazê-lo, mesmo através da
execução de um script ou uma ação pelo operador (ex.clicar um botão).
Interface Homem Máquina (IHM)
Antiga MMI (Man Machine Interface). Ferramenta que permite a uma pessoa controlar
equipamento remotamente.
Inteiro
Qualquer membro de um conjunto formado de números inteiros positivos e negativos e zero.
Exemplos: -59, -3, 0.
Scripts de tecla
Scripts vinculados a uma tecla ou combinação de teclas específica de teclas no teclado
Caixa de listagem
Uma caixa dentro de uma caixa de diálogo listando todas as escolhas disponíveis para um
comando. Por exemplo, uma lista de nomes de arquivos em um disco. Geralmente, um item é
selecionado da caixa de listagem e OK é escolhido. Se houver mais opções que podem se
encaixar na caixa de listagem, ela terá barras de rolagem vertical. A seleção da seta para baixo
próxima ao primeiro item na lista exibirá o resto da caixa de listagem.
Macro
Uma única declaração de linguagem de programação simbólica que quando traduzida resulta em
uma série de declarações de linguagem de máquina.
Arquitetura Mestre-Escravo
Desenvolvida para superar algumas das dificuldades das arquiteturas baseadas em cliente e
servidor. Ao mesmo tempo que permite que os nós View sejam ajustados em uma arquitetura do
tipo servidor ou cliente, não requer que tenham as mesmas fontes de dados.
Menu
Menus são listagens de grupos de Janelas disponíveis e comandos de aplicativo. Títulos de menu
são exibidos na barra de menu na parte superior da janela. Um comando é escolhido exibindo o
menu, seguido pela seleção do comando desejado.
Barra de Menu
A barra horizontal que lista os nomes dos menus de um aplicativo. A barra de menu é exibida
abaixo da barra de título de uma janela. Cada aplicativo Window tem uma barra de menu
diferente para cada aplicativo, embora alguns menus (e comandos) sejam comuns a muitos
destes aplicativos.
Caixa de Mensagem
Uma caixa de diálogo especial através da qual um aplicativo exibe mensagens de erro e outras
informações importantes. Caixas de mensagem alertam o usuário quando um erro ocorre ou
quando o aplicativo precisa de informações para completar uma ação ou comando.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


C-6 Apêndice C – Glossário de Termos do InTouch

Método
Métodos são associados a controles ActiveX. Eles são semelhantes aos chamados de função
script que podem ser acessados do contêiner ActiveX . Por exemplo, Browser.Navigate
("URLPageName"), Engine.start().
Modo
Um método ou condição de operação.
Multi-tarefas
A habilidade de um computador realizar duas ou mais funções (tarefa) simultaneamente.
NAD
Desenvolvimento de Aplicativo de Rede ou NAD é uma arquitetura que combina o melhor das
arquiteturas baseadas em cliente e baseadas em servidor. NAD fornece notificação automática de
mudanças de aplicativo e distribuição automática de aplicativos atualizados para os nós View.
NAD pode ainda ser usado para distribuir automaticamente aplicativos mestre/escravo
Objeto
Um conjunto de dados. Os objetos vêm em diversos formatos: imagens bitmap, texto, gráfico de
tendência de histórico e de tempo real, etc.
Botão Option
Um pequeno botão redondo exibido em uma caixa de diálogo. Um botão de opção é selecionado
para definir a opção, mas dentro de um grupo de botões de opção relacionados, somente um
pode ser selecionado. Um botão de opção tem um ponto preto quando é selecionado e em branco
quando não é selecionado.
Caminho
A hierarquia de arquivos através da qual o controle passa para encontrar um arquivo em
particular. Designa um ou mais drives de disco e/ou caminhos de diretório a serem pesquisados
seqüencialmente para um programa ou arquivo de lote se o arquivo não pode ser encontrado no
drive e diretório atual ou especificado. Os caminhos de drives e/ou diretório são pesquisados na
ordem em que são exibidos no Caminho.
Pixel
Uma célula de figura. A tela do monitor visual é dividida em linhas e colunas de pontos muito
pequenos, quadrados ou células, cada um é um pixel. A menor unidade na grade da tela do
monitor que pode ser armazenada ou exibida. Uma figura de computador é geralmente composta
de um vetor retangular de pixels. A resolução de uma figura é expressa pelo número de pixels no
monitor. Por exemplo, uma figura com 800 x 600 pixels é muito mais definida do que uma figura
com 640 x 480 pixels.
Controlador Lógico Programável (PLC)
Computador usado para controlar equipamento de fábrica e gerar dados para servir as
necessidades internas. Usado nos aplicativos de controle de processo.
Controle de Processo
O uso do computador para controlar processos industriais como uma refinaria de petróleo e
produção de aço.
Processamento
O aplicativo que tem controle do processador no momento. Um aplicativo recebe controle do
controlador mediante o recebimento de uma mensagem. Ele retém controle do controlador até
que a mensagem seja processada.
Propriedades
As propriedades são associadas aos controles ActiveX e podem ser associadas com os
tagnames InTouch. As propriedades que podem ser configuradas para um controle ActiveX em
particular são determinadas pelo projetista do controle ActiveX. Algumas propriedades têm uma

Treinamento Wonderware
Apêndice C – Glossário de Termos do InTouch C-7

única direção, o que significa que a propriedade ajusta o valor do tagname ou o valor do tagname
ajusta a propriedade. Enquanto outras propriedades são bidirecionais, o que significa que o valor
pode ser ajustado a partir do tagname ou da propriedade.
Protocolo
Estabelece as regras ou as convenções que regem a troca de informações entre os sistemas de
computador ou os aplicativos.
QuickFunction
QuickFunctions são scripts que podem ser escritos e chamados a partir de outros scripts ou
expressões. É possível usar até 16 argumentos por QuickFunction. Eles são armazenados no
aplicativo no qual foram criados. QuickFunctions podem ser definidos como assíncronos que,
quando executados, executam em segundo plano do processo principal WindowViewer
(Runtime).
QuickScript
Script criado em InTouch. Capacidades InTouch QuickScript permitem executar comandos e
operações lógicas baseadas no cumprimento de critérios específicos. Por exemplo, uma tecla
sendo pressionada, uma janela sendo aberta, um valor mudando, etc.
Tendência em Tempo Real
Representações gráficas de valores de diversos tagnames exibidos com o passar do tempo
Registrador
Um equipamento de alta velocidade usado em uma unidade central de processamento para
armazenagem temporária de pequenas quantidades de dados ou resultados intermitentes
durante o processamento.
Tagname Remoto
Um tagname que reside em uma fonte de tag remota mas é referido em um aplicativo InTouch
local. Aplicativos clientes podem ser projetados sem usar nenhum tagname no Dicionário
Tagname local usando referencias de tagname remotas.
Runtime
O período durante o qual os dados são coletados pela unidade de controle e o processamento
efetivo é realizado na unidade aritmética-lógica. Além disso, o tempo durante o qual um programa
está executando.
Editores de Script
Caixas de diálogo que permitem que scripts sejam criados, editados ou manipulados.
Segurança
A segurança em um aplicativo é uma função opcional. Se implementado, ele fornece a habilidade
para controlar se operadores específicos estão autorizados ou não a realizar funções específicas
dentro de um aplicativo. A segurança para funções específicas é realizada vinculando-as aos
tagnames de segurança.
Serviço
Um tipo especial de programa "privilegiado" e opera em um nível muito mais baixo no sistema. Os
serviços executam automaticamente no segundo plano e eles não requerem que o usuário se
conecte. Porque o sistema operacional do Windows NT é um sistema operacional seguro,
programas normais não são autorizados a acessar o hardware diretamente, como um disco rígido
ou outros objetos de sistema, como o Event Lot. Os programas de serviço podem acessar os
objetos de hardware e de sistema para outros programas normais. Por exemplo, o Wonderware
Logger, WindowViewer podem ser executados como serviços NT.
SmartSymbol
SmartSymbols integram a tecnologia orientada ao objeto com os gráficos InTouch para
transformá-los em modelos reutilizáveis. As mudanças feitas aos SmartSymbols

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


C-8 Apêndice C – Glossário de Termos do InTouch

automaticamente se propagam por todo o aplicativo, bem como através de múltiplos nós de
microcomputador conectados em rede. SmartSymbols permitem a criação de modelos de gráficos
que podem conectar-se a Objetos ArchestrA®, tags InTouch locais e tags InTouch por meio de
referências remotas. Estes modelos de símbolo são salvos na Biblioteca SmartSymbol e podem
ser iniciados selecionando-os e posicionando-os dentro de janela InTouch.
Computador Independente
Um sistema de computador exclusivo e autônomo, diferente de um computador que está
conectado e dependente de um sistema de computador remoto. Um computador independente
operará por si mesmo, não necessitando de equipamento.
Aplicativos Independentes
Os aplicativos independentes são os que usam apenas uma Interface de Operação (OI) para
cada sistema monitorado. Eles são geralmente mais fáceis de configurar, com mínima ou
nenhuma conexão de rede e requerem apenas manutenção simples.
String
Uma seqüência conectada de caracteres ou bits tratados como um único item de dados.
SuperTag
O InTouch é compatível com uma estrutura de modelo que permite definir tipos de tagnames
compostos denominados SuperTags. Os modelos SuperTag podem conter até 64 tagnames
membros e 2 níveis de encadeamento. Consulte TemplateMaker.
Símbolo
Um símbolo é uma combinação de objetos simples (linhas, formas preenchidas e texto), que é
tratado como um único objeto. Qualquer mudança de atributo aplicada a um símbolo, seja uma
mudança em um atributo estático em WindowMaker ou uma mudança em um atributo dinâmico
no WindowViewer, afetará todos os objetos de componente de um símbolo.
Sintaxe
As regras que regem a estrutura de uma linguagem e suas expressões.
Tarefa
Uma tarefa é um aplicativo em execução. Tarefa é um sinônimo para "processo".
Tag Browser
Principal ferramenta para visualização e seleção local e remota de tagnames e de tagname
dot.fields (.field) dos aplicativos FactorySuite ou qualquer outra fonte de tag que seja compatível
com a interface do InTouch Tagname Dictionary. Ele permite selecionar os tagnames existentes,
incluir novos tagnames e visualizar as informações básicas do Dicionário Tagname. Permite
também acessar as caixas de diálogo que realizam uma edição, replicação de tagname e
selecionar tagnames (referências remotas) em fontes de tag remotas.
Tagname
O nome atribuído a uma variável definida no Dicionário Tagname (banco de dados InTouch ).
TemplateMaker
Utilitário InTouch que permite criar modelos SuperTag. Consulte SuperTag.
Text Box
Uma caixa onde a informação necessária para executar um comando é digitada. Uma caixa de
texto geralmente é exibida em uma caixa de diálogo.
Barra de título
A barra na parte superior de cada janela que contém o nome do aplicativo e o documento ou
arquivo sendo usado por aquele aplicativo. (No InTouch há uma opção para eliminar a Barra de
título.) As barras de título também são usadas para mover uma janela na tela segurando-a
enquanto arrasta o mouse.

Treinamento Wonderware
Apêndice C – Glossário de Termos do InTouch C-9

Script Touch Pushbutton Action


Scripts semelhante ao Key Scripts, exceto por eles serem associados a um objeto vinculado a um
Touch Link - Action Pushbutton.
Janela
Uma área retangular na tela na qual um aplicativo é visualizado e usado. Diversas janelas podem
ser abertas na tela ao mesmo tempo e podem ser dimensionadas e movidas de forma
independente.
Aplicativo Windows
Um aplicativo projetado especialmente para o ambiente operacional Microsoft Windows e que usa
todas as funções Windows como menus, barras de rolagem e ícones.
Wonderware Logger
Aplicativo que registra todos os problemas ou erros em um arquivo de disco e na tela para sua
visualização e análise.
WindowMaker
Ambiente de desenvolvimento para o InTouch em que gráficos orientados ao objeto são usados
para criar janelas animadas.
Script Janela
Script vinculado a uma janela específica
WindowViewer
Ambiente de Runtime usado para exibir as janelas gráficas criadas no WindowMaker.
Assistentes
Componentes individuais pré-desenhados para objeto, alguns com valores configurados e faixas
de animações.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


C-10 Apêndice C – Glossário de Termos do InTouch

Treinamento Wonderware
Apêndice D

Controles ActiveX
D-2 Apêndice D – Controles ActiveX

Introdução
Os controles ActiveX, originalmente conhecidos como controles OLE ou OCXs, são componentes
de software independentes que realizam funções específicas em um modo padrão. Os controles
ActiveX definem interfaces padrão para componentes reutilizáveis. Os controles ActiveX não são
aplicativos separados. Ao invés disto, eles são servidores que são posicionados em um contêiner
de controle. Para usar os controles ActiveX, eles devem ser posicionados em um contêiner
ActiveX. O InTouch é um contêiner ActiveX. O Microsoft VisualBasic e os navegadores da internet
também são contêineres ActiveX.
Os controles ActiveX compartam-se exatamente como Assistentes InTouch, exceto por trazerem
nova funcionalidade aos aplicativos InTouch. Os controles ActiveX podem ser criados usando
Visual Basic, Microsoft VC++ ou outras ferramentas de desenvolvimento de terceiros. Os
controles ActiveX podem também ser trazidos de terceiros para funcionalidade específica. Estes
controles são integrados ao formulário OCX. O componente FactorySuite InTrack da Wonderware
também fornece diversos controles ActiveX. Além disso, IndustrialSQL Server Historian
ActiveTrend permite executar o programa IndustrialSQL Trend (ou um subconjunto funcional) de
dentro do InTouch. ActiveEvent permite comunicar o subsistema IndustrialSQL Event quando um
evento ocorreu em outro aplicativo.
Há três componentes principais de controle ActiveX: propriedades, métodos e eventos. As
propriedades são muito semelhantes às variáveis que podem ser modificadas, ex. Calendar.day,
Control.height, etc. Os métodos são semelhantes às funções script que podem ser chamadas a
partir de outros contêineres. Por exemplo, Browser.Navigate("http://www.wonderware.com"),
Engine.start(). Os eventos ocorrem através do contêiner ActiveX. Por exemplo, Control.click
(shift), FileViewer.DoubleClick (name) , etc.
O InTouch dá acesso às propriedades de controle ActiveX, aos métodos e eventos. Estas
propriedades podem ser associadas aos tagnames InTouch ou podem ser acessadas através de
InTouch QuickScripting.

Obs.: Para que um script ActiveX Event funcione corretamente, o controle ActiveX para o qual o
script foi criado deve ser carregado na memória. Se a janela que contém um controle ActiveX é
fechada, seus scripts ActiveX Event ou qualquer outro InTouch QuickScripts que contenha
funções de script associados com o controle ActiveX não executarão corretamente.

Um ou mais controles ActiveX podem ser usados em seu aplicativo InTouch. O InTouch permite
selecionar facilmente e colar um controle ActiveX dentro de uma janela de aplicativo e adicioná-lo
aos Wizards / ActiveX Toolbar Os scripts de ActiveX Event também podem ser importados de
um aplicativo para outro.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-3

Como usar controles ActiveX no InTouch


1. Instale o controle ActiveX que deseja usar.
2. Selecione e cole o controle ActiveX dentro de uma janela WindowMaker.
3. Configure as propriedades de controle ActiveX e as atribua os tagnames.
4. Associe os eventos ActiveX aos scripts ActiveX Event.
5. Chame os métodos ActiveX e ajuste as propriedades de controle ActiveX nos scripts ActiveX
Event ou outro InTouch QuickScripts.
As seguintes edições WindowMaker podem ser feitas em um controle ActiveX:
z A dimensão de um controle ActiveX pode ser modificada se a dimensão for compatível
com o controle.
z Os controles ActiveX podem ser duplicados, recortados, copiados, colados e excluídos.
z Todos os comandos de alinhamento (esquerdo, direito, superior, inferior e centralizado)
podem ser aplicados a um controle ActiveX.
z Os controles ActiveX podem ser adicionados a Wizards / ActiveX Toolbar.
z Os controles ActiveX podem ser incluídos a outros objetos quando criar uma célula.
z Os comandos de menu WindowMaker e as ferramentas da barra de ferramentas
equivalente podem ser usados para modificar diretamente muitas propriedades ActiveX.
Por exemplo: Reduz Fonte, Cor de Linha, Cor de Preenchimento e outros.
O InTouch não é compatível com os tipos de controles ActiveX a seguir:
z Controles sem janela
z Site de Estrutura Simples (Caixa de Grupo)
z Contêineres
z Controles de Dados
z Objetos de Envio
z Vetores, Blobs, Objetos, Tipos Variantes

Nomeação de controles ActiveX


1. Cole o controle ActiveX em sua janela WindowMaker.
2. Clique duas vezes com o mouse no controle para abrir a caixa de diálogo Properties .

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-4 Apêndice D – Controles ActiveX

Cada caixa de diálogo Properties do controle do ActiveX é exclusivo para o controle. O


número de guias exibidas é baseado nas propriedades daquele controle em particular.

Em alguns casos, pode ser necessário configurar Colors e Fonts. Outros podem requerer
esta configuração. Entretanto, para todos os controles ActiveX, o InTouch adiciona três guias:
Control Name, Properties e Events.
3. Clique na guia Control Name e insira um nome exclusivo para o controle ActiveX na caixa
ControlName.

Obs.: É necessário definir um nome exclusivo para cada controle ActiveX usado em seu
aplicativo InTouch. Control Name é usado em funções script para identificar o controle. Por
exemplo:

#Calendar2.day = Tag1;
#Calendar2.year = 1997;

Se usar Control Name padrão, ex. Calendar2 e subseqüentemente duplicar o controle


ActiveX, o InTouch incrementará automaticamente o Control Name. Neste caso, o nome do
controle ActiveX duplicado seria Calendar3.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-5

Instalação e remoção de controles ActiveX


1. Clique Special / Configure / Wizard/ActiveX Installation para abrir a caixa de diálogo
Wizard/ActiveX Installation .

2. Clique na guia ActiveX Control Installation .

3. Na lista Installed Wizards, selecione o controle a ser excluído de seu aplicativo e clique no
botão Remove . Uma caixa de mensagem interativa é exibida pedindo que confirme a
remoção.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-6 Apêndice D – Controles ActiveX

Obs.: Para selecionar um grupo de controles, clique na sua primeira seleção, mantenha
pressionada a tecla SHIFT e selecione sua última seleção. Para selecionar controles diversos
que não são listados ao mesmo tempo, clique no primeiro controle e mantenha pressionada a
tecla CTRL ao clicar em outro.

4. Clique em Yes para remover o controle. O controle removido é movido para a lista Available
ActiveX controls.

Obs.: Ao remover um controle, ele não é excluído. Entretanto, ele não é mais carregado na
memória. Portanto, ele não funcionará corretamente.

5. Para instalar controles ActiveX, selecione-os na lista Available ActiveX controlse, em


seguida, clique em Install.

Obs.: O botão Install é ativo somente quando os controles são exibidos na lista Available
ActiveX controls.

6. Clique em Close.

Posicionamento de controles ActiveX em uma janela

1. Clique na ferramenta Wizard dialog na barra de ferramentas Wizard/ActiveX .


A caixa de diálogo Wizard Selection é exibida:

Adicionar um controle
ActiveX à barra de
ferramentas

2. Na lista de assistentes, clique na categoria ActiveX Controls. Todos os controles ActiveX


instalados serão exibidos.
3. Selecione o controle ActiveX que deseja usar e clique em OK (ou claque duas vezes com o
mouse no controle). A caixa de diálogo fecha e sua janela é reexibida.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-7

Obs.: Para adicionar um controle ActiveX na Wizards/ActiveX Toolbar, clique Add to


toolbar. Quando um controle é adicionado a Wizards/ActiveX Toolbar, ele pode ser
selecionado e colado em sua janela aberta a qualquer momento. O número de controles
ActiveX que pode ser adicionado à barra de ferramentas é limitado pelos recursos do sistema

4. O cursor mudará para um símbolo de canto ao retornar para a janela. Clique no local da
janela para colar o controle ActiveX.
5. Clique duas vezes com o mouse no controle para configurar suas propriedades.

Remoção de controles ActiveX da barra de ferramentas


1. Clique na ferramenta Wizard dialog em Wizards/ActiveX Toolbar.
A caixa de diálogo Wizard Selection é exibida:

Remova um controle ActiveX


da barra de ferramentas
WindowMaker Wizard/

2. Clique em Remove na barra de ferramentas.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-8 Apêndice D – Controles ActiveX

A caixa de diálogo Remove Wizard from Toolbar é exibida:

3. Selecione o controle ActiveX que deseja remover da barra de ferramentas.


4. Clique em OK.

Configuração de propriedades de controles ActiveX


As propriedades que podem ser configuradas para um controle ActiveX em particular são
determinadas pelo projetista do controle ActiveX. Cada folha de propriedade Properties do
controle ActiveX exibe três colunas: Property, Range e Associated Tag. As colunas Property e
Range são somente leitura. A coluna Associated Tag é usada para tagnames InTouch
associados à respectiva propriedade na coluna Property.

Obs.: Quando determinados itens em uma coluna Range são clicados, uma seta é exibida. Esta
seta pode ser clicada para visualizar a lista de possíveis valores do item. Os items na lista são
para fins de visualização apenas e não podem ser mudados.

1. Clique na guia Properties na caixa de diálogo Calendar Properties .

2. Clique no meio de cada célula na coluna Associated Tag e insira uma tagname para a
respectiva propriedade. Se um tagname é inserido e não foi definido no Dicionário Tagname,
será solicitado que ele seja definido agora.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-9

Se clicar duas vezes com o mouse em uma célula em branco ou clicar no botão , o Tag
Browser será exibido com os tagnames para a fonte de tag selecionada. Clique duas vezes
com o mouse no tagname desejado e clique em OK. O tagname é inserido na célula.
3. Quando o tagname é especificado, clique duas vezes com o mouse na célula à esquerda da
tagname. Selecione a direção da associação para o tagname com sua propriedade. Clicar
duas vezes com o mouse levará você a várias escolhas de direção de associação.
Há, na verdade, dois campos em cada célula na coluna Associated Tag. A seleção da
direção da associação e a entrada de tagname. O controle ActiveX determina a direção da
associação e o tipo de propriedade determina o tipo de tagname que deve ser usado.
É possível selecionar uma associação direcional ou bidirecional. Entretanto, se a direção da
associação selecionada não for válida para a propriedade ou tagname, o controle mudará
automaticamente de acordo. Por exemplo, se selecionou quando o valor de tagname
muda, sua propriedade associada é mudada de acordo. Um determinado subconjunto dos
símbolos abaixo será exibido com base no relacionamento potencial entre a propriedade e o
tagname.
Por exemplo, se associou uma propriedade a um tagname que pode ser escrito, você verá um
conjunto diferente de associações do que se você associasse a mesma propriedade a um
tagname somente leitura. Selecione o símbolo de associação de propriedade da seguinte
maneira:

O tagname ajusta o valor da propriedade associada.

A propriedade é somente leitura e o tagname não pode mudar o valor da propriedade.

A propriedade ajusta o valor do tagname associado.

O tagname é somente leitura e a propriedade não pode mudar o valor do tagname.

O valor pode ser ajustado a partir do tagname ou da propriedade. (Tagname tem


precedência.)

O tagname e a propriedade são somente leitura.

o tagname pode mudar o valor da propriedade, mas a propriedade não pode mudar o
valor do tagname. A propriedade não pode mudar o valor do tagname porque a
propriedade não pode ser protegida ou o tagname é somente leitura.

A propriedade pode mudar o valor do tagname, mas o tagname não pode mudar o valor
da propriedade. O tagname não pode mudar o valor da propriedade porque a propriedade
é somente leitura .
4. Clique em OK.

Obs.: As propriedades podem ser acessadas ou modificadas através de scripts ActiveX


Event e/ou outros InTouch QuickScripts. Todas as funções script ActiveX são qualificadas
pelo sinal # (cerquilha). A instrução válida para acessar as propriedades ActiveX é:
#ControlName.PropertyName

Exemplos:
#Calendar2.Day = 29;
Tag1 = #Calendar2.year;

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-10 Apêndice D – Controles ActiveX

Como usar métodos de controle ActiveX


Os métodos de controle ActiveX são semelhantes às propriedades de controle ActiveX. Os
métodos são ativados em Runtime (WindowViewer). Os métodos de controle ActiveX são
acessados através de scripts ActiveX Event e/ou outros InTouch QuickScripts.

Obs.: Para que um script ActiveX Event funcione corretamente, o controle ActiveX para o qual o
script foi criado deve ser carregado na memória. Se a janela que contém um controle ActiveX é
fechada, seus scripts ActiveX Event ou qualquer outro InTouch QuickScripts que contenha
funções de script associados com o controle ActiveX não executarão corretamente.

1. Na caixa de diálogo Properties do controle ActiveX, clique na guia Events.

2. Clique duas vezes com o mouse em uma célula em branco na coluna Script.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-11

O editor ActiveX Event Scripts é exibido:

3. Clique em Insert / ActiveX.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-12 Apêndice D – Controles ActiveX

O ActiveX Control Browser é exibido:

4. Na lista Control Name, selecione o controle ActiveX cujos métodos ou propriedades deseja
acessar.
Os nomes de todos os controles ActiveX que estão sendo usados no momento serão listados.

Obs.: Se selecionou This Control ao invés do Control Name real, os métodos e as


propriedades exibidos serão os do controle ActiveX atualmente selecionados em seu
aplicativo. Ao selecionar This Control ao invés do Control Name real, é possível criar
funções de script ActiveX Event genéricos. É possível copiar e colar estas funções em outro
script ActiveX Event ou qualquer outro InTouch QuickScript sem ter que mudar o Control
Name no novo script. Por exemplo:

#ThisControl.Navigate ("http:\\www.wonderware.com");
#ThisControl.Navigate(URL); { where URL is a tagname}

Este Controle está acessível apenas através de scripts ActiveX Event. Ele não é acessível
através de outro tipo de InTouch QuickScript.

5. Na lista Method / Property, selecione o método ou propriedade que deseja usar em seu
script. As propriedades são os itens na lista que incluem parênteses. Por exemplo, Display().
6. Clique em Done. O nome e o método de controle selecionado são automaticamente
inseridos em seu script.
Os métodos e as propriedades de controle ActiveX também são acessados através do menu
Insert em todos os tipos InTouch QuickScripts.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-13

Como usar parâmetros de evento de controle ActiveX


Eventos de controle ActiveX podem ser executados em Runtime (WindowViewer) ao projetar uma
ação em particular e associá-la ao evento. Por exemplo, se seu controle ActiveX tiver um
manipulador de dimensionamento de evento de erro, é possível criar um script ActiveX Event que
exibe uma janela com uma mensagem de erro quando um erro ocorre. Os scripts ActiveX Event
são fornecidos para dar suporte às ações de evento. É possível associar um script de evento
nomeado a cada evento.

Obs.: Para que um script ActiveX Event funcione corretamente, o controle ActiveX para o qual o
script foi criado deve ser carregado na memória. Se a janela que contém um controle ActiveX é
fechada, seus scripts ActiveX Event ou qualquer outro InTouch QuickScripts que contenha
funções de script associados com o controle ActiveX não executarão corretamente.

1. Clique duas vezes com o mouse no controle ActiveX para o qual deseja criar um script
ActiveX Event para abrir a caixa de diálogo Properties de controle ActiveX.
2. Clique na guia Events.

3. Na coluna Event, selecione o evento para o qual deseja associar um script ActiveX Event.
4. Na respectiva célula na coluna Script, insira um nome exclusivo para o script ActiveX Event
que deseja criar e depois clique duas vezes com o mouse no nome ou clique em OK.
A caixa de mensagem a seguir é exibida:

5. Clique em OK.
O editor de script ActiveX Event é exibido mostrando o nome inserido na caixa de entrada
Name (consulte o exemplo a seguir). Se clicar duas vezes com o mouse em uma célula
Script em branco quando o editor de script ActiveX Event é exibido, é necessário inserir um
nome para o script ActiveX Event.

6. Clique no botão se o script ActiveX Event que deseja usar já existir.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-14 Apêndice D – Controles ActiveX

A caixa de diálogo Choose ActiveX Script é exibida listando todos os scripts ActiveX Event
em seu aplicativo:

7. Clique em Insert / ActiveX.


O ActiveX Control Browser é exibido:

Treinamento Wonderware
Apêndice D – Controles ActiveX D-15

8. Na lista Control Name, selecione This Event para acessar os parâmetros para o evento
selecionado. Neste caso, o evento selecionado é Error.

Obs.: This Event está acessível apenas através de scripts ActiveX Event. Ele não é
acessível através de outro tipo de InTouch QuickScript. É necessário selecionar This Event
para acessar os parâmetros de evento para um controle ActiveX.

Os eventos podem passar ou não parâmetros em Runtime. Os parâmetros de evento podem


ser acessados usando a palavra chave ThisEvent. Por exemplo:

MyActiveXErrorNumber = #ThisEvent.ErrorNumber;

em que: # indica que esta é uma função de script ActiveX, ThisEvent refere-se ao evento
selecionado na folha de propriedade Event do controle ActiveX e ErrorNumber é o
parâmetro passado pelo evento selecionado.

9. Na lista Method / Property, selecione o evento a ser usado em seu script ActiveX Event.
10. Clique em Done.
O nome de controle selecionado, ex. This Event e o parâmetro de evento selecionado são
inseridos automaticamente em seu script na posição do cursor. Por exemplo:

11. Clique em OK para salvar seu script ActiveX Event e fechar o editor de script. A caixa de
diálogo Properties do controle ActiveX é reexibida.
12. Clique em OK para fechar a caixa de diálogo Properties ou continuar a criar scripts ActiveX
Events.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-16 Apêndice D – Controles ActiveX

Scripts ActiveX Event


A maioria dos controles ActiveX têm eventos associados a eles. Por exemplo, clicar, clicar duas
vezes com o mouse, pressionar o mouse e pressionar a tecla são eventos típicos usados em
muitos controles ActiveX. Scripts InTouch ActiveX Event são fornecidos para dar suporte às ações
de eventos . Um script ActiveX Event pode ser associado a cada evento. Eventos de controle
ActiveX são executados em Runtime (WindowViewer)

Acesso ao editor de script ActiveX Event


1. Clique na guia Events na caixa de diálogo Properties do controle ActiveX para ativar a folha
de propriedade Events.

2. Clique duas vezes com o mouse em uma célula na coluna Script ou insira um nome para o
script ActiveX Event e clique em OK.
3. Se um script ActiveX Event para o nome inserido não existir no momento, uma caixa de
mensagem será exibida perguntando se deseja criá-lo agora. Clique em OK.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-17

O editor ActiveX Event Scripts é exibido:

4. Na caixa Name, insira o nome para identificar o script ActiveX Event.


5. Os métodos de controle ActiveX são semelhantes às propriedades de controle ActiveX. Para
acessar métodos de controle ActiveX, clique no comando Insert / ActiveX.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-18 Apêndice D – Controles ActiveX

O ActiveX Control Browser é exibido

O ActiveX Control Browser exibirá os nomes de todos os controles ActiveX sendo usados em
seu aplicativo. Quando selecionar um nome de controle, seus respectivos métodos serão
exibidos. Selecione o método para inserir seu script e depois clique em Done.

Reutilização de Scripts ActiveX Event


Scripts ActiveX Event somente podem ser reutilizados para o mesmo evento para o mesmo tipo
de controle ActiveX . Por exemplo, o evento mouse pressionado pode ser um evento de estoque
em centenas de controles ActiveX. Entretanto, um script ActiveX Event escrito para mouse
pressionado em ActiveX ControlA não pode ser reutilizado para mouse pressionado em ActiveX
ControlB, a menos que os dois controles sejam do mesmo tipo.
1. Clique duas vezes com o mouse no controle ActiveX para o qual deseja reutilizar um script
ActiveX Event existente. A caixa de diálogo Properties do controle ActiveX selecionado será
reexibida.
2. Clique na guia Events.

Treinamento Wonderware
Apêndice D – Controles ActiveX D-19

A janela MyActiveX Control2 Properties é exibida:

3. Na coluna Script para o respectivo evento, clique no botão .


A caixa de diálogo Choose ActiveX Script é exibida:

Obs.: Esta caixa de diálogo somente exibirá scripts ActiveX Event que foram escritos para o
mesmo tipo de controle ActiveX e o mesmo evento selecionado. Por exemplo, vamos
considerar que esteja criando um script ActiveX Event para um segundo evento "Click" do
controle ActiveX Calendar. Você já criou dois outros scripts ActiveX Event denominados
Click1 e Click2 em seu aplicativo. Click1 foi criado para um evento "Click" diferente do
controle ActiveX Calendar e Click2 foi criado para um evento "Click" de um controle ActiveX
InSQLTrend. Ao clicar no botão e a caixa de diálogo Choose ActiveX Script ser exibida,
ela somente exibirá o script Click1 uma vez que ele foi criado para o mesmo tipo de controle
ActiveX e para o mesmo evento.

4. Selecione o script ActiveX Event que deseja usar e clique em OK.

InTouch® HMI 9.5 Fundamentos de curso de desenvolvimento de aplicativos


D-20 Apêndice D – Controles ActiveX

O nome do script selecionado é automaticamente inserido na célula Script onde você clicou
anteriormente no botão .
Por exemplo:

5. Clique em OK para fechar a caixa de diálogo Properties ou continuar a criar scripts ActiveX
Events.

Importação de scripts ActiveX Event


Importar scripts ActiveX Event de outro aplicativo InTouch para seu aplicativo atual pode
economizar um consideravelmente tempo de desenvolvimento. Quando mover scripts ActiveX
Event de um aplicativo InTouch para outro, você deve usar o comando File / Import .

Obs.: Quando importar scripts ActiveX Event de um aplicativo para outro, todos os scripts
ActiveX Events são importados. Além disso, para que um script ActiveX Event importado funcione
corretamente no novo aplicativo, o mesmo controle ActiveX e o mesmo evento para o qual o script
foi criado originalmente devem também ser usados no novo aplicativo e ele deve ser carregado
na memória.

Se a janela que contém um controle ActiveX é fechada, seus scripts ActiveX Event ou qualquer
outro InTouch QuickScripts que contenha funções de script associados com o controle ActiveX
não executarão corretamente.

Treinamento Wonderware
Apêndice E

Notas técnicas relacionadas ao InTouch


E-2 Apêndice E – Notas técnicas relacionadas ao InTouch

Para Notas Técnicas e Alertas Técnicos recentes, acesse www.wonderware.com/support/mmi .


As seguintes Notas Técnicas aplicam-se ao InTouch 9.0.

Tech Note 144


Como o Fuso Horário e o Horário de Verão Afetam o InTouch 7.0
Historical Logging
Todas as Notas Técnicas e documentos KBCD e software são fornecidos "como estão" sem
garantia de nenhum tipo.
Esta Nota Técnica explica como o Wonderware® InTouch® lida com diferenças em fusos horários
e Horário de verão (DST). Além disso, você aprenderá a ajustar seu computador para DST
preservando a integridade dos dados.
A InTouch 7.0 Historical Logging cria um novo arquivo de Armazenagem de Histórico todo dia à
meia noite com base no relógio do computador. Além disso, a Armazenagem de Histórico usa
Greenwich Mean Time (GMT) como a referência para registro e recuperação de dados.
Greenwich Mean Time também é conhecido como Universal Coordinated Time (UCT).
O mecanismo de Histórico verifica os valores das tags que têm dados armazenados selecionadas
quanto a mudanças maiores do que um Log Deadband e os registra no arquivo de armazenagem.
Cada registro contém o valor atualizado da tag e a hora e a data em que o valor foi atualizado.

Armazenagem de Histórico
Para descrever a armazenagem de histórico, asumimos que temos uma tag denominada tag1,
que muda seu valor às 10:00:00 h (hora do computador) e usa os exemplos a seguir.
Se realizarmos a armazenagem a oeste do GMT, o registro de hora para o valor armazenado é
calculado da seguinte maneira:
Logged_TimeStamp = Computer_Time+(Offset&ndash;DST)
Onde Logged_TimeStamp é o registro de data e hora do registro no arquivo de Armazenagem de
Histórico.

Exemplo 1
O Fuso Horário é ajustado para Pacific Standard Time (GMT-8) e DST é habilitado.
Logged_TimeStamp = 10:00:00+(8&ndash;1) = 17:00:00

Exemplo 2
O Fuso Horário é ajustado para Pacific Standard Time (GMT-8) e DST não é habilitado.
Logged_TimeStamp = 10:00:00+(8-0) = 18:00:00
Se temos a mesma tag e valores, mas estamos realizando a armazenagem à leste do GMT, o
registro de data e hora para o valor armazenado é calculado da seguinte maneira:
Logged_TimeStamp = Computer_Time+(-Offset+DST)

Exemplo 3
O Fuso Horário é ajustado para Amsterdã, Berlim, Bern, Roma (GMT+1) e DST é habilitado.
Logged_TimeStamp = 10:00:00+(&ndash;1+1) = 10:00:00

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-3

Exemplo 4
O Fuso Horário é ajustado para Monrovia, Casablanca (GMT0) e DST não é habilitado porque
Casablanca não segue o DST.
Logged_TimeStamp = 10:00:00+(-0+0) = 10:00:00
Neste exemplo, o registro de hora no arquivo de Armazenagem de Histórico é o mesmo da hora
do computador. Observe que GMT0-Monrovia, Casablanca é o ajuste de fuso horário ideal.

Recuperação de histórico
A ferramenta de recuperação também considera as diferenças nos ajustes de fuso horário e DST
no computador no qual a retenção ocorre. Na maioria dos casos, se a armazenagem e a retenção
forem realizadas no mesmo computador ou em computadores com ajustes de fuso horário
idêntico, os registros recuperados estarão corretos.

Obs.: Se os ajustes de fuso horário são diferentes entre o Computador de armazenagem e o


Computador de retenção, o registro armazenado às 10:00:00 no Computador de armazenagem
pode exibir em um horário diferente do Computador de retenção. Nas versões anteriores do
InTouch ( InTouch 5.6, InTouch 6.0, InTouch 7.0 SP2 Patch03 e InTouch 7.1 Patch02), se DST for
selecionado, para determinados Fusos Horários os dados serão recuperados com uma diferença
de duas horas. A solução para este problema é ajustar o fuso horário para um horário que não
siga o DST, como GMT0-Monrovia, Casablanca. Começando com o InTouch 7.0 SP2 Patch04 e
InTouch 7.1 Patch03 qualquer ajuste GMT pode ser usado. Certifique-se de que não haja variável
TZ no autoexec.bat e nenhuma variável de ambiente TZ em Control Panel/System/
Environment.

Lembre-se de que o DST pode afetar a recuperação de dados, mesmo quando a armazenagem e
a retenção são realizadas no mesmo computador ou em computadores com ajustes de fuso
horário idêntico. A escolha de um fuso horário que segue o DST ou a habilitação de DST faz com
que os dados recuperados tenham duas horas de diferença no início do dia, o quadro de
tendência de histórico exibirá duas horas de linha simples ou nenhum dado. Este comportamento
está presente quando o ajuste de Fuso Horário é do tipo GMT+x (à leste do GMT) e DST está
habilitado.
Por exemplo, se o fuso horário em seu computador é ajustado como Amsterdã, Berlim, Bern,
Roma (GMT+1) e DST estiver habilitado, os dados recuperados exibirão uma linha simples no
início do dia e os dados atuais estarão duas horas no futuro.
A solução é ajustar o fuso horário para um horário que não siga o DST, como GMT0-Monrovia,
Casablanca. Isto faz com que o registro de hora no arquivo de Armazenagem de Histórico seja o
mesmo do relógio do computador. Além disso, DST não é habilitado porque GMT0-Monrovia,
Casablanca não segue DST.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-4 Apêndice E – Notas técnicas relacionadas ao InTouch

Tech Note 21
Entender como scripts operam no InTouch
Esta nota descreve como a ferramenta de script opera dentro do ambiente Wonderware®
InTouch® . Ela é destinada a todos os funcionários e distribuidores Wonderware, profissionais
OEMs, VARs, MIS/MES, integradores de sistema, engenheiros de aplicação, desenvolvedores de
sistema e administradores de sistema de aplicativos InTouch. Você deve ter um nível de
competência de programação avançado a fim de aplicar algumas das funções exibidas nesta
edição.
O teste para este artigo foi concluído usando InTouch Release 5.6 em Microsoft Windows 95;
entretanto, os resultados devem ser precisos para InTouch edições 5.0b a 5.6.

Termo de isenção de responsabilidade As informações contidas aqui estão corretas com base
nos exemplos de script e aplicativo de demonstração usados neste artigo. Entretanto, seus
resultados e experiências no uso do mecanismo de script InTouch podem variar devido às
circunstâncias fora da realidade dos exemplos mostrados aqui.

Instalação dos aplicativos de teste associados ao InTouch


Este artigo refere-se a dois aplicativos de teste InTouch que demonstram os diversos pontos
abordados neste artigo. Estes aplicativos executarão no InTouch Edição 5.6 ou mais recente.

Faça o download do arquivo Testscr1.zip para o Aplicativo de Script de Teste InTouch 1.

Faça o download do arquivo Testscr2.zip para o Aplicativo de Script de Teste InTouch 2.

Obs.: Os scripts do teste acima estão disponíveis em Wonderware.com através do Programa de


Suporte ao Cliente Wonderware .

Características gerais
O mecanismo de script do InTouch inclui e opera uma variedade de tipos de script de forma
integrada. Os programadores podem ocasionalmente encontrar problemas com scripts
complexos, especialmente quando eles executam um tipo de script a partir de outro. Esta Nota
Técnica ajudará a analisar seus scripts e compreender como o mecanismo de script funciona de
forma que quando escrever seus scripts, você irá fazê-lo com um mínimo de erros.

Como escrever scripts


O modo mais fácil de escrever um script InTouch —especialmente se ele for complexo— é
primeiro fazer o fluxograma do que deseja atingir. Entretanto, tenha em mente que seu
fluxograma não pode ter malhas.

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-5

Operação inicial de script


Após definir o fluxograma de seu aplicativo, a próxima etapa é decidir quais scripts controlarão
cada processo em seu fluxograma. Se não houver scripts temporizados ou com varredura (ou
seja, While True, While Showing, etc.), quando o WindowViewer iniciar, o mecanismo de script
executará os scripts na ordem exibida na Tabela 1.
Tabela 1. Ordem de execução do mecanismo de script InTouch

1. Scripts Application On-Startup 10. Scripts Open Window(s) While


Showing
2. Scripts Data Change 11. Scripts Data Change
3. Scripts Condition 12. Scripts Condition
4. Scripts Home Window(s) 13. Scripts Windows On-Close
On-Show
5. Scripts Data Change 14. Scripts Data Change
6. Scripts Condition 15. Scripts Condition
7. Scripts Application 16. Scripts Application On-
While-Running Shutdown
8. Scripts Data Change 17. Scripts Data Change
9. Scripts Condition 18. Scripts Condition

As figuras 1 e 2 acima incluem um fluxograma simplificado de como a ferramenta de script opera


de forma precisa para todas as suas dúvidas de script. Entretanto, observe que caminhos de vetor
de interrupção não são exibidos e eles podem ocorrer em qualquer ponto em um script. Lembre-
se que quando um temporizador conclui (cada temporizador é verificado quanto a conclusão logo
após o reset de Tick Interval), o fluxograma fará a ramificação de volta à instância de sub-rotina
de script que chamou a interrupção e concluirá ou parará em outro temporizador para, então,
retornar em seguida.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-6 Apêndice E – Notas técnicas relacionadas ao InTouch

Figura 1. Fluxograma de script – Corpo principal do programa


(Observação: AppTick é o Tick Interval do aplicativo)

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-7

Figura 2. Fluxograma de script – Sub-rotina de Script


O script Application On Startup sem varredura é executado primeiro. Scripts Data Change ou
Condition podem não ser executados a partir de um script Application On Startup.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-8 Apêndice E – Notas técnicas relacionadas ao InTouch

Advertência Se tentar executar um script Data Change ou Condition de um script Application On


Startup, então os dados que estiver mudando podem ainda não estar disponíveis globalmente.
Isto porque o banco de dados de variável InTouch Runtime está inicializando enquanto o script
Application On Startup está executando. Os testes de suporte técnico mostraram que em alguns
casos, um script de Data Change ou Condition podem realmente executar, entretanto, isto pode
não ser sempre verdade toda vez que o WindowViewer é reiniciado.

Se uma janela for chamada a partir de um script Application On Startup, então os processos da
janela (incluindo qualquer script Window Action que é chamado) não terão início até que o script
Application On Startup seja concluído. Entretanto, estas solicitações serão colocadas em fila e
executarão, desde que o script Application On Startup e o script Home Window’s On Show sejam
concluídos.
Os scripts Window Action On Show da janela home executam após o WindowViewer iniciar
corretamente. Se estes scripts mudarem algum dado, quaisquer scripts Data Change sem
varredura serão executados primeiro e os scripts Condition sem varredura serão executados em
seguida. Todos os scripts com varredura são manipulados desta mesma maneira.
A diferença entre os scripts com e sem varredura é que os scripts com varredura são colocados
na área de armazenagem durante o tempo de varredura e os scripts sem varredura restantes
dentro do scripts com varredura shell ou thread não executarão até que o tempo de varredura do
script seja concluído. (Observe que este tipo de projeto de script permite que o “encadeamento”
de scripts opere dentro de outros scripts.) Uma vez que o tempo de varredura expire, isto gera um
vetor de interrupção no script atual. A interrupção faz a ramificação para o script de varredura
temporizado que opera até a conclusão ou até que outro script com varredura seja executado.
Os scripts temporizados não executam quando o temporizador do script conclui. Lembre-se de
que muitos processos estão executando em um determinado momento e alguns destes
processos não podem ser interrompidos. Os exemplos de processos que não podem ser
interrompidos são gravação em disco, atualizações DDE, ODBC e processos de
precondicionados no InTouch (ou seja, malhas FOR-NEXT, outros scripts com precedência sênior,
etc.). Quando o tempo de varredura expira, um flag que evita que o script execute enquanto o
temporizador estiver contado é apagado, permitindo que o script temporizado comece. Um script
com um tempo de varredura de 100 milissegundos provavelmente executaria uma vez a cada 100
milissegundos se não houver um servidor de E/S executando ou armazenagem de histórico ou
recuperação, e se o aplicativo tiver apenas uma janela simples sem outros scripts em execução.
Entretanto, isto não é realista para aplicações “reais”!
Scripts On Shutdown Application executam quando o WindowViewer está encerrando. Se tentar
executar um script Data Change e/ou de um script Condition a partir de um script On Shutdown,
os scripts Data Change e Condition podem não ser chamados ou concluídos. Como os scripts On
Startup, as sub-rotinas de script Data Change e Condition no mecanismo de script podem não
estar disponíveis durante o encerramento.
Se tentar atingir um processo interno ou condição antes de sair do WindowViewer, sua melhor
chance para atingir o processo ou condição é executar o script de Data Change ou Condition
antes do script On Shutdown. Quando o script On Shutdown está executando, os processos
dentro do WindowViewer estão sendo encerrados. Sob estas circunstâncias, processos “longos”
não terminarão se o WindowViewer encerrar antes da tarefa, que foi executada a partir de um
script On Shutdown , ser concluída.

Tick Interval e Script Timing


O Tick Interval é configurado no WindowMaker nos menus Special/Configure/View Generic/Tick
Interval. Este ajuste é o tick do aplicativo mestre para todos os scripts em execução. Se você
tiver um Tick Interval de 1000 milissegundos e seus scripts temporizados em execução dentro do

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-9

mecanismo de script são ajustados para 100 milissegundos, eles não executarão pelo menos até
que o Tick Interval seja reiniciado. O resultado é que cada script temporizado não executará por
pelo menos 1000 milissegundos, mesmo se eles forem ajustados para um valor menor. Observe
que estes tempos não são cumulativos. Ou seja, se usar um script temporizado, o temporizador
executará de forma assíncrona com relação ao temporizador do Tick Interval.
O que acontece se o Tick Interval é ajustado para um valor menor do que seu script temporizado?
Por exemplo, se Tick Interval é ajustado em 100 milissegundos e um script Condition é ajustado
em 450 milissegundos, quando o script Condition executará? Presumindo que nenhum processo
“longo” esteja em execução e que precisará de mais do que alguns milissegundos, uma vez que
o script Condition inicie e o temporizador esteja executando, Tick Interval resetará cinco vezes
antes do script Condition atingir o tempo-limite. Isto significa que o script executará por cerca de
500 milissegundos, não 450 milissegundos.
Dentro do aplicativo InTouch , a malha “externa” do mecanismo de script (como exibido na Figura
1) tem a prioridade mais baixa. Isto ocorre para que outros processos Windows possa continuar a
executar. Estes processos Windows tentarão executar em 55 milissegundos no Windows 95 ou
Windows para Workgroups ou 10 milissegundos para o Windows NT; este é o OpSysTick. os
processos DDE são mantidos nesta taxa, depois são redefinidos no tempo de varredura ajustado
no servidor de E/S, se algum estiver em execução. As atualizações de tela do “sistema
operacional” são manuseadas nesta taxa, assim como as varreduras de teclado e de mouse do
“sistema operacional”.

Scripts Invoked Immediate*


(* “Immediate” é um termo de programação usado para descrever o thread de processo de
programa atual ou imediato.)
Um script Invoked Immediate é um script chamado de outro processo que esteja em foco no
momento. Isto não depende necessariamente do Tick Interval ou do thread do mecanismo de
script principal. Dois exemplos de um script Invoked Immediate são: 1) chamar um script Data
Change disparado por uma atualização DDE (ou seja, um servidor de E/S atualiza um valor no
banco de dados Runtime do InTouch); e 2) executar um script de Botão ou de Tecla.
Estes scripts Data Change, Botão e Tecla executam imediatamente até que sejam concluídos.
Observe que todos os outros processos são manipulados até que estes scripts sejam concluídos
ou até que eles iniciem um temporizador (o que permite um vetor de interrupção) de forma que o
InTouch possa fazer a ramificação para outros processos.
Um efeito interessante é como janelas Immediate são abertas. Se, por exemplo, um script de
Botão chama uma janela popup ou de sobreposição cujo script Window Action chama outra janela
popup ou de sobreposição, em qual ordem os scripts são executados? O script de Botão
executará a sub-rotina do script exibida na Figura 2 que executará uma função de janela Show()
que, por sua vez, é uma linha no script do Botão. Show() chama a janela popup ou de
sobreposição que inicia seu script On Show Window Action.
Este script tentará chamar uma segunda janela popup ou de sobreposição; entretanto, isto não
ocorrerá até que o primeiro script On Show Window Action seja concluído. Um script não pode
chamar a si mesmo, mesmo se estiver em uma janela diferente. O objeto é evitar malhas infinitas.
Entretanto, versões futuras do InTouch podem ser comportar desta maneira

Aplicativo de teste
Duas versões de um aplicativo de teste InTouch foram criadas para demonstrar como o
mecanismo de script funciona.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-10 Apêndice E – Notas técnicas relacionadas ao InTouch

Obs.: Os dois aplicativos de teste estão disponíveis em Wonderware BBS (fone 949-727-0726).

Este aplicativo faz o seguinte:


Scripts sucessivos foram definidos, iniciando com o shell de script mais externo e processando
para dentro, incluindo caminhos para os vetores de interrupção.
Cada script sucessivo atualiza uma nova tag com um contador. Uma vez que cada tag é
atualizada, o contador incrementará. Isto define um caminho de operação específica para o
mecanismo de script.
Tipos diferentes de script são tentados em várias ordens para mostrar como o mecanismo de
script opera e para prever o que a ferramenta de script fará de forma que um fluxograma da
seqüência de script seja criado.
A seguir, veja uma lista dos scripts que foram escritos para nosso aplicativo de teste InTouch.
Scripts Janela para "Test Scripts":
Script on Show:
g = startupvar;
startupvar = startupvar + 1;
i = startupvar;
startupvar = startupvar + 1;
k = startupvar;
startupvar = startupvar + 1;
l = startupvar;
Application Script:

On Application Startup:
testvar = 1;
startupvar = 1;
A = startupvar;
startupvar = startupvar + 1;

Durante a execução do aplicativo, a cada 100mseg:


IF testvar THEN
startupvar = startupvar + 1;
b = startupvar;
startupvar = startupvar + 1;
d = startupvar;
startupvar = startupvar + 1;
f = startupvar;
startupvar = startupvar + 1;
testvar = 0;
ENDIF;

Condition Script:
Condition:
b > 0
Comment:

On True:
startupvar = startupvar + 1;
c = startupvar;

Condition Script:
Condition:
g > 0

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-11

On True:
startupvar = startupvar + 1;
o = startupvar;
Data change script:
On Changes to b:
startupvar = startupvar + 1;
e = startupvar;
Data change script:
On Changes to g:
startupvar = startupvar + 1;
j = startupvar;

Data change script:


On Changes to j:
startupvar = startupvar + 1;
m = startupvar;

Comment:

On True:
startupvar = startupvar + 1;
h = startupvar;

Condition Script:
Condition:
j > 0
Comment:

On True:
startupvar = startupvar + 1;
n = startupvar;

Condition Script:
Condition:
p > 0
Comment:

On True:
startupvar = startupvar + 1;
q = startupvar;
Condition Script:
Condition:
A > 0
Comment:

On True:
startupvar = startupvar + 1;
s = startupvar;
Condition Script:
Condition:
r > 0
Comment:

On True:
startupvar = startupvar + 1;
End1 = startupvar;

Condition Script:
Condition:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-12 Apêndice E – Notas técnicas relacionadas ao InTouch

n > 0
Comment:
Data change script:
On Changes to m:
startupvar = startupvar + 1;
p = startupvar;

Data change script:


On Changes to o:
startupvar = startupvar + 1;
r = startupvar;

Data change script:


On Changes to s:
startupvar = startupvar + 1;
t = startupvar;

Data change script:


On Changes to q:
startupvar = startupvar + 1;
End2 = startupvar;
A janela do aplicativo exibida na Figura 4 foi desenvolvida com base nos scripts exibidos na
página anterior. Estes valores exibidos na janela são ‘startupvar’ que foi inicializado no script On
Startup Application e é incrementado toda vez que uma nova tag é atualizada com o novo valor.
Estes são os valores de thread de script que exibem o caminho que o mecanismo de script
“percorre” através de todos os scripts. As letras que precedem os valores de thread são os
tagnames reais que podem ter referência nos scripts listados. Observe que os scripts demonstram
a ordem de execução do mecanismo de script exibido na Tabela 1.

Figura 4. Janela de Aplicativo “Test Scripts” InTouch

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-13

Ao mudar o script Condition que inicia a tag ‘o’ para um script While True Condition com um
tempo de varredura de 1100 milissegundos, um vetor interrompido será gerado a partir de um
script “área retida” quando o temporizador expirar. O resultado é que os scripts Data Change e
Condition em sua ramificação não iniciarão como exibido na Figura 5.

Figura 5. Janela de Aplicativo de Teste com o Script Condition Modificado


Para nosso aplicativo de teste, o tempo de varredura foi ajustado em 1100 milissegundos. Este
valor foi escolhido porque ele ilustra o término do temporizador do script Condition e a retomada
dos processos interrompidos. Observe onde o vetor interrompido é exibido no script temporizado.
Se este mesmo aplicativo tivesse que executar em um computador diferente, os processos que
estão executando em cada computador podem ser diferentes o bastante para fazer com que o
vetor de interrupção seja exibido em outro local. Além disso, o Tick Interval não será afetado onde
o vetor de interrupção for exibido. (O aplicativo de teste foi executado usando um Tick Interval de
100 milissegundos e um tempo de atualização de tag de sistema de 100 milissegundos.)
Se Tick Interval foi mudado para 20000 milissegundos como exibido no aplicativo TESTSCR2 na
Figura 6, os scripts executarão exatamente da mesma forma, exceto pelo fato de que na próxima
repetição (iteração) da malha do aplicativo (controlada por Tick Interval), serão executados

somente após a reinicialização de Tick Interval. Isto ocorre após o script Condition “n o”
executar. Isto exibe um "nó" de vetor de interrupção ou um local onde o mecanismo de script foi
interrompido para manipular outros processos com base em alguma decisão que provavelmente
lida com um tempo ou período de "espera" de processo externo. Embora não seja fácil prever
este local de interrupção em particular, ele fornece uma idéia de quando um DDE e outros
processos podem ser atualizados.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-14 Apêndice E – Notas técnicas relacionadas ao InTouch

Uma pergunta comum é “Quando as tags DDE são atualizadas?” Com base em nosso aplicativo
de teste, na maioria das instâncias, as tags DDE não serão atualizadas até que Tick Interval seja
resetado. Por que? Para que as tags DDE seja atualizadas, ou estejam ativas, uma das seguintes
dez condições deve ocorrer:
1. Um tópico DDE é ajustado como Advise All Items.
2. Um tagname é exibido em uma janela de aplicativo aberta.
3. Um tagname é usado em um script Window ou script Action e a janela do aplicativo que está
associada a qualquer um destes scripts é aberta.
4. Um tagname está ativamente sendo usado por uma tendência em tempo real.
5. Um tagname é usado para alarme.
6. Um tagname é um evento armazenado e Event Logging está habilitado.
7. Um tagname é armazenado em um arquivo Historical Log e Historical Logging está habilitado.
8. Um tagname é usado em um script Key, Condition, Data Change ou Application.
9. Um tagname é um tagname Auto Collection no Programa SPC.
10. Um tagname é acessado por um aplicativo cliente (como Microsoft Excel) usando DDE.
Exceto pelo item 1, o tagname em cada um dos nove itens restantes tem algum link com um script
ou com uma janela de aplicativo (que tem um link com um script). Já que sabemos quando o tag
DDE é atualizado, podemos presumir que a tag nestas condições será atualizada
aproximadamente de acordo com o Tick Interval. O Item 1 é baseado no servidor de E/S, portanto
o tempo de atualização corresponde ao tempo de varredura do Servidor de E/S (ajustado no
servidor de E/S ou tópico —ele não tem nada a ver com o mecanismo de script). Quando um item
DDE é escrito por uma entrada de usuário, como pressionar a tecla <Enter>, ele causará um vetor
de interrupção. O vetor de interrupção faz uma solicitação ao servidor para escrever o valor ao
dispositivo DDE no tempo de tick do servidor DDE.
As atualizações do dispositivo DDE não serão exibidas imediatamente se não forem roteadas
através do mecanismo de script.
Como um exemplo, crie os itens a seguir em um novo aplicativo:
z Uma tag DDE User Input que é um hot link para uma planilha do Microsoft Excel;
z Uma exibição de valor separada usando a tag DDE como a expressão;
z Uma exibição para um valor de tag que está sendo atualizado a partir de uma tag DDE
através de um script Data Change imediato (ele executa como uma instância de um
banco de dados de variável modificado pelo DDE);
z Uma exibição para um valor de tag que está sendo atualizado a partir de uma tag DDE
através de um script Condition, imediato e sem varredura (ele executa em uma instância
de um banco de dados de variável modificado pelo DDE);
Em seguida, exiba a planilha Excel na tela do monitor abaixo das janelas InTouch. Ao ajustar Tick
Interval em 20000 milissegundos, o aplicativo mostra que na medida em que o valor da tag User
Input é modificada, a planilha Excel, o valor da tag DDE e as tags rescritas são todas atualizadas
imediatamente na conclusão do vetor de interrupção e exibidas na tela, independente do valor
Tick Interval. (Isto pode ser um script Pushbutton Action ao invés de uma entrada de usuário.)
A escolha do tempo de varredura/Tick Interval apropriados para estes scripts pode requerer um
ajuste para o qual será necessário experimentar diversos valores até que um valor satisfatório
possa ser encontrado. O motivo disto é que há muitos outros processos executando dentro do
InTouch que precisam ser mantidos além do mecanismo de script. Alguns destes processos são
acessos DDE, atualizações de tela e verificações de mensagens para o WW Logger.

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-15

Cada um destes serviços requer um certo tempo de atraso de sistema e dependendo da


complexidade de seu aplicativo, o tempo de varredura/Tick Interval apropriado variará para cada
aplicativo. Observe que enquanto estiver dentro do mecanismo de script, alguns processos
externos podem não ser atualizados. Tome muito cuidado ao fazer considerações sobre
processos externos como atualização de tagnames DDE. A coisa mais simples é deixar o seu
script o mais simples possível e evitar codificação e malhas desnecessárias que podem consumir
tempo de atraso do sistema.

Conclusão
Há muitos fatores que afetam o mecanismo de script InTouch . Se não for cuidadoso ao projetar
os scripts para um aplicativo, seu aplicativo pode resultar em um comportamento indesejado.
Para evitar problemas com scripts complexos, você deve exibir graficamente o que deseja realizar
com seus scripts. Isto pode ser feito fazendo o fluxograma de seu aplicativo antes de começar a
escrever seus scripts. Além disso, a otimização de seu aplicativo pode requerer o correto
encadeamento de scripts e o ajuste dos tempos de varredura.

Scripting Supplement A: Algumas perguntas e repostas relacionadas a


script
P Como os scripts são programados para execução em um aplicativo InTouch?
R Todos os scripts orientados por evento . Os eventos podem ser troca de dados, uma condição,
um temporizador, etc. A ordem na qual os scripts são executados é diferente para cada aplicativo.
Portanto, não há uma ordem de execução garantida. Os scripts executam na ordem em que seus
eventos de disparo associados ocorrem. Isto significa que dois eventos não podem acontecer ao
mesmo tempo no Windows; todo evento tem um registro de data e hora exclusivo. Atualmente, a
ordem de execução para scripts é baseada nos registros de data e hora de evento e nada mais.
Se uma tag é definida como retentiva e é modificada em um script, o arquivo de E/S é realizado
quando seu valor é mudado. Normalmente, não há visualizações enquanto o script está
executando. Qualquer script que acione uma caixa de diálogo ou de seleção trará uma
visualização para permitir o processamento das mensagens Windows (ou seja , a entrada DDE é
processada, as seqüência de teclas são processadas, os scripts iniciadas por tempo são
processados, etc.). Isto significa que outros scripts podem ser iniciados enquanto a caixa de
diálogo ou de seleção é exibida. Neste caso, a caixa de diálogo ou de seleção não retoma o
controle até que os scripts que foram iniciados sejam concluídos.
Um script Data Change pode atuar como uma sub-rotina dentro de um script. Se o valor de uma
tag, que é vinculado a um script Data Change, mudar enquanto outro script está executando, o
script que está executando no momento ficará em pausa. O script Data Change executará e
concluirá, em seguida, o outro script retomará a execução. De forma semelhante, se uma linha
em um script Data Change mudar o valor de uma tag que é vinculada ao segundo script Data
Change, o primeiro script Data Change ficará em pausa, o segundo script Data Change executará
e, em seguida, o primeiro script Data Change retomará a execução.
Scripts Data Change executam apenas quando um valor de tag é atualizado. Se o valor de tag
vem de um DDE, o script Data Change executa uma vez que o valor DDE seja recebido. Se o
valor de tag é modificado por outro script, o script Data Change executará imediatamente e
concluirá antes do InTouch executar a próxima linha no script. Observe que isto pode resultar em
uma malha infinita. Para evitar que isto aconteça, não permita que um script execute se ele ainda
estiver ativo.
Aqui há dois exemplos de como evitar uma malha infinita em um script:

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-16 Apêndice E – Notas técnicas relacionadas ao InTouch

Script Data Change em Tag1 que modifica Tag2. Script Data Change em Tag2. Script1 modifica
Tag1.Script1 chama Script2 que chama Script3 que tenta chamar Script2. Neste caso, a última
tentativa de chamar Script2 não executará.
P Qual a seqüência e a temporização para executar comandos dentro de um script?
R Cada comando em um script é executado a fim de que ele seja encontrado no arquivo script.
Cada comando é concluído antes que ele se mova para o próximo comando, exceto para funções
que requerem uma tag DONE como FileMove(), FileCopy() ou PrintWindow().
A seguir há uma lista de ordem de precedência, em ordem decrescente, para avaliação de
operadores de script. Os operadores que estão listados na mesma linha têm precedência igual.

() Mais alta precedência


- , NOT, ~
**
* , /, MOD
+, -
SHL, SHR
<, >, <=, > =
==, <>
&
^
|
=
AND
OR Mais baixa precedência

P Quais os efeitos de espaços em branco e de caracteres de comentário em um script?


R Espaços em branco e caracteres de comentário são ignorados. Quando a chave à esquerda ({)
é encontrada, o mecanismo de script continua a ignorar os caracteres até que uma chave à direita
(}) seja encontrada. Isto pode ser usado em qualquer script InTouch ou na caixa de expressão.
Seu efeito na temporização do script é irrelevante. O Suporte Técnico Wonderware recomenda
que documente seus scripts e expressões com os caracteres de comentário.
P Como os scripts interagem? O que é previsível e o que não é?
R Se um script estiver em execução no momento e um segundo script é disparado, o primeiro
script é parado e o segundo executa até a conclusão. Qualquer tagname que é modificado pelo
segundo script será visto pelo primeiro script. Se um valor de tag é modificado, a mensagem é
modificada imediatamente, mas não será processada pelo programa que o recebe (ou seja, um
servidor de E/S) até pelo menos o final do script. Quando o servidor DDE chega ao processador,
ele fará a escrita em sua próxima mensagem para aquele tópico em particular.
P Como posso usar um script como uma sub-rotina?
R Os scripts Data Change podem ser usados como sub-rotina para outros scripts. Ou seja, se o
script Data Change é iniciado de outro script, o InTouch fará a ramificação e a execução do script
Data Change como uma sub-rotina.
Por exemplo, digamos que você tenha um script Data Change baseado em uma tag denominada
Trigger e o script usa “value = value + 10;”. Então, é possível criar um script Botão ou um
Condition com estas linhas:

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-17

trigger = not trigger;


trigger = not trigger;
trigger = not trigger;
trigger = not trigger;
Quando este script executa uma vez, o script Data Change em Trigger executa toda vez que
“trigger = not trigger” foi interpretado enquanto ele estava ainda processando o primeiro script.
Esta técnica permite ajustar sub-rotinas que podem ser disparadas de dentro de outros scripts.
Isto pode ser muito potente!
Entretanto, uma mudança em um valor de tag não deve ser usada para chamar um script
disparado anteriormente (ou seja se Script1 chama Script2 que chama Script3 que tenta chamar
Script1, a chamada final não será executada). Ou seja, os tagnames que são modificados em um
script Condition ou Data Change não devem ser usados como o tagname para um script Data
Change ou na expressão de um script Condition.
Exemplo:
Um script Data Change que executa com base no valor da tag “A”, contém a linha “B=B+1.”
Tagname “B” deve
É possível também “encadear” seus scripts (ou seja, ter um script que chama outro script que
chama outro script, etc.). Mas, o número máximo de níveis encadeados para execução de script
depende do tamanho da pilha de janela que é representada pelo valor de parâmetro Stack em seu
arquivo SYSTEM.INI. (Durante a instalação, o InTouch garante que o parâmetro Stack seja
ajustado com um valor adequado para a maioria das situações de script.)
P Posso modificar o valor de uma tag que está vinculada a um script Data Change que está
dentro do corpo do mesmo script? E a modificação de valores de tag que estão vinculados a um
script Condition?
R Se o tagname estiver vinculado ao script Data Change (ou seja, ele é listado no campo
Tagname), e o valor da tag é modificado dentro do corpo desse mesmo script, ele modificará o
valor uma vez. Por exemplo, se o tagname MYTAG estiver vinculado ao script Data Change que
contém a linha “MYTAG = MYTAG + 1”, o script aumentará o valor de MYTAG em um e sairá. O
script Data Change não executará novamente. Esta função evita malhas infinitas. Se o valor
MYTAG é redefinido diversas vezes no script Data Change, cada redefinição ocorrerá, mas o
script Data Change não executará novamente.

Advertência Não escreva nenhum script que dependa deste comportamento. As versões futuras
do InTouch podem não operar de acordo com esta lógica e deixarão seu aplicativo exposto a
dificuldades de atualização e/ou incompatibilidades.

Se modificar o valor de uma tag vinculada a um script Condition interno ao corpo desse script, os
resultados podem não ser os esperados. Veja um exemplo do que acontece ao fazer isto.
Veja um exemplo de script Condition:
Condition: ( X == 25 )
ON TRUE body:
PrintWindow("Main Window");
Blob = TAN(MyAngle);
X=0;
AppActivate("NotePad");
Show("Blaster Control");
TagLevel = NewValue * SIN( Blob );
ON FALSE body:
SendKeys("Main Window Printed");
Blob = 0;

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-18 Apêndice E – Notas técnicas relacionadas ao InTouch

Você pode imaginar que a execução ocorreria da seguinte maneira:


PrintWindow("Main Window");
Blob = TAN(MyAngle);
X=0;
AppActivate("NotePad");
Show("Blaster Control");
TagLevel = NewValue * SIN( Blob );
SendKeys("Main Window Printed");
Blob = 0;
Isto faz sentido; O script ON-TRUE executa primeiro, depois o ON-FALSE. Mas o que acontece
realmente é isto:
PrintWindow("Main Window");
Blob = TAN(MyAngle);
X=0;
[ Pause the ON-TRUE ]
[ Launch ON-FALSE ]
SendKeys("Main Window Printed");
Blob = 0;
[ Resume ON-TRUE ]
AppActivate("NotePad");
Show("Blaster Control");
TagLevel = NewValue * SIN( Blob );
Agora o valor de Blob foi reinicializado como zero (no momento errado) e, ainda mais importante,
o SendKeys falhou em alcançar o Notepad, uma vez que ele ainda não estava ativo.
P Se uma tag é definida como retentiva e seu valor muda em um script, o arquivo de E/S é
executado imediatamente após o valor mudar?
R Não, não até que o script conclua a execução.
P É verdade que se um valor de tag muda dentro de um script, qualquer script Data Change
executará imediatamente? E os scripts Condition ajustados como On True ou On False—estes
tipos de Scripts Condition executarão imediatamente quando afetados pelo novo valor da tag?
R Sim, para as duas perguntas. É importante lembrar que esta função pode mudar em versões
futuras do InTouch. Em geral, você não deve confiar que scripts Data Change ou scripts Condition
executem imediatamente após o valor de tag mudar. Ao invés disto, você deve projetar seu
sistema para evitar a ocorrência deste tipo de condição. Desta forma, seu aplicativo não será
afetado adversamente quando atualizar para uma versão futura do InTouch.
P Um script precisa executar até a conclusão antes que ele possa liberar a CPU? Em que ponto
no script posso fazer um PeekMessage para dar a outros aplicativos uma chance de executar?
Além disso, se um script dispara ou executa outros scripts, quando a CPU é liberada?
R O mecanismo de script capturará a CPU durante a execução do script. Em nenhum momento,
durante a execução de um script a CPU será liberada. PeekMessage( ), uma chamada Windows
API, não é realizada enquanto o script executa.
P Há um limite máximo para o nível de encadeamento para a execução de scripts? Quantos
scripts podem ser conectados para executar em série através de um script Data Change?
R O Suporte Técnico Wonderware não conhece um limite superior para quantos scripts podem
ser encadeados ou quantos scripts podem ser conectados. É importante lembrar que a prática de
conectar scripts intencionalmente não é uma boa idéia porque pode haver questões de
incompatibilidade com versões futuras do InTouch.

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-19

P Se um valor de tag muda, o novo valor é enviado imediatamente ao servidor de E/S? Se não,
quando? Quando o servidor de E/S realiza a escrita? Um servidor de E/S fica inativo enquanto o
script é executado?
R Não, o novo valor de tag não é imediatamente enviado ao servidor de E/S. Ao invés disto, o
valor é enviado após o script ser concluído. E, sim, o servidor de E/S fica temporariamente inativo
enquanto um script executa.
P Quando as tags do sistema para data e hora são atualizadas? (ou seja, $Month, $Day, $Year,
$Time, etc.) Pensei que fossem atualizadas com base no valor do ajuste Update Time Variables
em /Special/Configure/View Generic. Escrevi um script para mudar a hora e data e $Time mudou,
mas $Date não atualizou até que o WindowViewer foi reiniciado.
R Se mudar a hora ou data do sistema em seu computador, certifique-se de enviar uma
mensagem WM_TIMECHANGE a todos os aplicativos Windows que estão executando no
momento, incluindo seus aplicativos InTouch. Os aplicativos Windows raramente ficam em “fila”
para o tempo atual.
P Quero imprimir um arquivo de meu aplicativo InTouch . Como faço isto?
R É possível usar FileCopy()function, como neste exemplo:
status = FileCopy("c:\autoexec.bat","lpt2", Monitor.Name);
Ele imprime o arquivo AUTOEXEC.BAT em uma impressora LPT2 e usa o Monitor da tag Integer
como DoneTag. (Observação: É possível também usar a função FilePrint() que faz parte da
biblioteca de função de script de Suporte Técnico e está disponível no CD de Base de
Conhecimento .)
P Como crio um temporizador em InTouch?
R Use um script Condition que faz referência a uma tag Memory Discrete denominada Flag.
Depois, crie um script On True Condition que faz referência a uma tag denominada Counter,
ajustada em zero (ou seja, inicialize o contador). Ajuste o tempo, While True Every xxx msec, para
a freqüência desejada. O script While True Condition deve incrementar a tag Counter toda vez
que o script executa. Quando Counter é maior do que um valor pré-selecionado, ajuste uma tag
Memory Discrete denominada Trigger em um (1).
Veja um exemplo de script Condition:
Counter = Counter + 1;

IF Counter >= 5 THEN


Trigger = 1;
ENDIF;
P Como alterno uma tag discreta de um script?
R Tente o seguinte:
Discrete = 1 - Discrete;
OR
Discrete = NOT( Discrete );
P Estou usando o script On Shutdown Application para encerrar os aplicativos ‘App1’ e ‘App2’
quando meu aplicativo InTouch sai (selecionando Exit do menu File). Este é o meu script On
Shutdown Application:
ActivateApp "App1";
SendKeys( "%(f)" );
SendKeys( "x" );

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-20 Apêndice E – Notas técnicas relacionadas ao InTouch

ActivateApp "App2";
SendKeys( "%({F4})" );
Entretanto, quando saio de meu aplicativo, ‘App1’ e ‘App2’ ainda estão executando. Copiei este
script para um script Pushbutton Action e os dois aplicativos foram encerrados. Por que meu
script On Shutdown Application não funciona?
R Porque o WindowViewer captura a CPU durante o encerramento, não é possível executar um
script que faz com que outro aplicativo tenha acesso à CPU. Portanto, a função ActivateApp( )
não funcionará em um script On Shutdown Application.
P Então, por que não há uma função script KillApp( )?
R Há uma função script denominada WWControl( ). WWControl( ) pode ser usada para encerrar
um aplicativo. Se usá-la em seu script Application Action, ela derrubará seus aplicativos durante o
encerramento. Por exemplo, insira esta linha em seu script On Shutdown Application:
WWControl( "Notepad - (Untitled)", "CLOSE");
Execute Notepad sem carregar qualquer arquivo e inicie o aplicativo em WindowViewer. Saia do
WindowViewer e o aplicativo Notepad deve desaparecer.

Scripting Supplement B: Revisão detalhada das funções de script


complexos
O editor de script InTouch é compatível com dois “estilos” de scripts: Simples e Complexos.
Scripts simples permitem fazer atribuições, comparações, funções de cálculo simples, etc. Scripts
complexos permitem realizar declarações do tipo lógicas IF-THEN-ELSE e processar malhas
usando a estrutura de script FOR-NEXT. Além disso, o InTouch também é compatível com o uso
de funções de script complexas incorporadas, como StartApp().
Funções com o argumento ApplicationName iniciarão o aplicativo Windows identificado no
argumento ApplicationName. Este tipo de funções pode ser usado em scripts complexos e
simples.
Observe que cada declaração IF requer uma declaração ENDIF. Além disso, esteja ciente de que
uma declaração ELSE não é necessária se seu script não precisar dela.
O primeiro NEXT fecha a malhar FOR mais interna e o último NEXT fecha a malha FOR mais
externa. De forma semelhante, em declarações IF encadeadas, as declarações ENDIF
automaticamente são aplicáveis à declaração IF anterior mais próxima.
A seguir, um exemplo de um script IF-THEN-ELSE:
IF React_temp > 200 THEN
React_temp_sp = 150
PRValve = 1
PlaySound (“c:\fire.wav”,1);
ELSE PRValve =0;
PlaySound (“c:\All_Ok.wav”, 1);
ENDIF;
Neste exemplo, o script verifica se React_temp é maior do que 200. Se for, então para
Reactor_temp_sp é atribuído o valor 150, PRValve é ativado e o arquivo FIRE.WAV é executado.
Se React_temp for igual ou menor que 200, então PRValve é desativado e o arquivo
ALL_OK.WAV é executado. Observe o uso do PlaySound (path_text,number) neste script.
Veja um exemplo do script malha FOR-NEXT. Esta malha realiza um cálculo matemático
repetitivo simples. Quando executado, Product corresponde ao valor de NumberToRaise elevado
à potência de 10 (ou seja, Product=NumberToRaise10).

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-21

Product = 1;
NumberToRaise = 4;
FOR Index = 1 TO 10
Product = Product * NumberToRaise;
NEXT;
Uma vez que o script acima tenha concluído o processamento, o valor de Product será 1.048.576.
Aqui há mais alguns exemplos de vários scripts complexos:
Declaração IF-THEN sem cláusula ELSE:
IF a <> 0 THEN
a = a + 100;
ENDIF;
Declaração IF-THEN-ELSE com uma cláusula ELSE:
IF temp > 500 THEN
Disc = 1;
Real = 43.7;
ELSE
Disc = 0;
Real = 93.4;
ENDIF;
Declaração IF-THEN-ELSE com uma cláusula ELSE IF e uma cláusula ELSE:
IF temp > 500 THEN
Disc = Disc * 10;
ELSE
IF temp > 250 THEN
x = y / z;
a = abc + def;
ENDIF;
ENDIF;
Declaração IF-THEN-ELSE com uma cláusula ELSE IF e uma cláusula ELSE
IF temp > 500 THEN
Disc = Disc - 10;
ELSE
IF temp < 250 THEN
Disc = Disc + 10;
ELSE
Disc = Disc + 50;
Real = 100;
ENDIF;
ENDIF;
Declaração IF-THEN-ELSE com várias cláusulas ELSE IF e uma cláusula ELSE
IF temp > 100 THEN
temphihi = 1
Disc = 50;
ELSE
IF temp > 80 THEN
temphi = 1;
ELSE
IF temp < 30 THEN
templo = 1;
ELSE
IF temp < 10 THEN

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-22 Apêndice E – Notas técnicas relacionadas ao InTouch

templolo = 1;
ELSE
tempok = l;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
Declaração IF-THEN-ELSE que testa Condition 1 ou Condition 2
IF (pump1 < 50.0) OR (pump2 < 50.0) THEN
alarm-1 = 1;
ELSE
alarm-1 = 0;
ENDIF
Declaração IF-THEN-ELSE que testa Condition 1 e Condition 2
IF (pump1 < 50.0) AND (pump2 < 50.0) THEN
alarm-2 = 1;
ELSE
alarm-2 = 0;
ENDIF;
Declaração IF-THEN-ELSE que testa equivalência:
IF a > 50 THEN
IF b == 100 THEN
c = 0;
ENDIF;
ENDIF;
As estruturas de controle podem ser colocadas dentro de outras estruturas de controle (como um
bloco IF-THEN dentro de uma malha FOR-NEXT). Uma estrutura de controle dentro de outra
estrutura de controle é conhecida como encadeamento.
Exemplo:
FOR TagX = 1 TO 5
FOR TagY = 1 TO 10
...declarações...
IF (condição) THEN
[EXIT FOR;]
ENDIF;
...declarações...
NEXT;
NEXT;
Onde:
O primeiro NEXT fecha a malha FOR mais interna e o último NEXT fecha a malha FOR mais
externa. De forma semelhante, em declarações IF encadeadas, as declarações ENDIF
automaticamente são aplicáveis à declaração IF anterior mais próxima.

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-23

Tech Note 257


Compreensão das QuickFunctions
Todas as Notas Técnicas e documentos KBCD e software são fornecidos "como estão" sem
garantia de nenhum tipo. Consulte os Termos de Uso para mais informações.
Tópico: t001033
Criado: 5 de novembro de 2001
Esta nota técnica aborda o uso de QuickFunctions em aplicativos InTouch e como eles operam.
Ela também descreve a arquitetura correta de script sobre como QuickFunctions devem ou não
ser usados. Os scripts QuickFunctions são uma ferramenta muito útil no desenvolvimento de
aplicativo, mas também podem criar problemas se usados incorretamente dentro de um
aplicativo. Discutiremos as técnicas corretas de script e forneceremos informação contextual
sobre o thread QuickFunction e como ele se relaciona com scripts existentes no InTouch.

Obs.: Este documento presume que você esteja familiarizado com o Sistema Operacional
Windows, InTouch e script InTouch. Este documento refere-se ao uso correto de Scripts e
QuickFunctions. Detalhes sobre QuickFunctions podem ser encontrados no Guia de Usuário
InTouch e Technote 205 denominada “Using QuickFunctions in InTouch 7.x”.

Thread QuickFunction e scripts InTouch


A fim de compreender o que fazer ou não ao usar QuickFunctions com scripts em InTouch,
devemos primeiro entender os conceitos básicos sobre Windows Threading e analisar como
QuickFunctions e Scripts interagem.
No Sistema Operacional Windows, um thread é basicamente um caminho de execução através
de um programa. Também é a menor unidade de execução que o Win32 agenda. Um thread é
formado por uma pilha, o estado dos registros da CPU e uma entrada na lista de execução do
programador do sistema. Cada thread compartilha todos os recursos de processo. Um processo é
formado de uma ou mais threads e o código, data e outros recursos de um programa na memória.
Ao executar um aplicativo InTouch todos os scripts executados pela ferramenta de script
executam em um thread Síncrono juntamente com o WindowViewer. Os tipos de script incluem
scripts application, data change, condition e window. Cada tipo de script tem uma prioridade
específica e uma ordem na qual eles são executados. Isto pode ser visto no formulário de
fluxograma como descrito na Technote 21, “Entender como scripts operam no InTouch”.
Outro tipo de script no InTouch é denominado QuickFunction. QuickFunctions são scripts que
podem ser escritos e chamados de outros scripts ou expressões. Chamar QuickFunctions de
outros scripts ou expressões permite criar um script uma vez e reutilizá-lo.
QuickFunctions executam de modo Síncrono no thread de script principal na medida em que são
chamados de diversos scripts. QuickFunctions são os únicos scripts que também podem ser
configurados para executar em modo Assíncrono. Isto permite que o QuickFunction execute em
um thread separado fora do thread de script Síncrono existente. Esta funcionalidade permite que
o WindowViewer separe operações demoradas (como chamar um banco de dados SQL) do fluxo
de programa principal. Isto permite que todos os outros scripts permaneçam ativos enquanto a
operação Assíncrona é executada.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-24 Apêndice E – Notas técnicas relacionadas ao InTouch

Obs.: Não há limite para quantas funções Assíncronas podem ser executadas, entretanto, para
garantir um desempenho confiável, é altamente recomendado que não mais do que três sejam
executadas simultaneamente. Cada thread Assíncrono requer muitos recursos, reduzindo, assim,
o desempenho do sistema.

Por dentro dos QuickFunctions


Quando um QuickFunction é chamado, a função CallExecute() é chamada. CallExecute() é a
única função, que considera uma expressão de função rápida analisada (síncrona ou assíncrona)
como um parâmetro e tenta executá-la. Esta função verificará também o tipo de QuickFunction.
Não mais do que dois threads podem executar este código ao mesmo tempo.
Se o QuickFunction chamado é Assíncrono, CallExecute() considera a expressão QuickFunction
Assíncrono como um parâmetro, determina que é uma QuickFunction Assíncrono, lança um
thread separado para executá-lo e sai.
Se o QuickFunction chamado for síncrono, CallExecute() considera a expressão QuickFunction
síncrono como um parâmetro, determina que ele é síncrono, executa como parte do mesmo
thread que o chamou e não sai até que o QuickFunction síncrono seja concluído.
Exemplos:
Um QuickFunction Assíncrono é chamado a partir de um aplicativo, script Data Change, script
Condition ou botão Action
a. O script Application, Data Change Script (DCS), Condition Script (CSC) ou Action é iniciado
(thread principal)
b. A chamada para o QuickFunction Assíncrono é atingido
c. CallExecute() determina que o QuickFunction é assíncrono e um novo thread é criado
d. Após a criação de um thread, o script principal estará esperando pelo thread a ser inicializado
e. Após a inicialização do thread, o controle é transferido de volta para o script principal sem
executar o script Assíncrono
O thread do script Assíncrono inicia a execução quando o sistema operacional fornecer uma fatia
de tempo. O thread do script Assíncrono tem uma prioridade mais baixa e o sistema operacional
determina a possibilidade do thread executar (usando um conjunto de filas de prioridade). Quando
é hora de uma troca de contexto, o sistema operacional examina o conjunto de threads prontos e
seleciona o cabeçalho da fila com prioridade mais elevada a ser executada.
É possível executar mais do que uma instância de qualquer QuickFunction Assíncrono?
Vamos considerar que um QuickFunction Assíncrono denominado ‘QF’ que pode ser chamado a
partir de 2 scripts Data Change denominados DCS1 e DCS2 e os dois scripts Data Change são
disparados ao mesmo tempo.Não, não é possível executar mais do que uma instância de
qualquer QuickFunction Assíncrono ao mesmo tempo.
DCS1
Logmessage("DCS1 started");
Call QF();
Logmessage("DCS1 ended");

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-25

DCS2
Logmessage("DCS2 started");
Call QF();
Logmessage("DCS2 ended");
QF
Logmessage("QF started");
Logmessage("QF ended");
Comportamento
1) DCS1 iniciado
2) DCS1 concluído
3) DCS2 iniciado
4) QF iniciado
5) QF concluído
Como pode observar, o QuickFunction Assíncrono foi executado somente uma vez e o DCS2
nunca terminou.
Possível Solução
DCS2
Logmessage("DCS2 started");
If NOT IsAnyAsyncFunctionBusy(1);
Call QF2();
Logmessage("DCS2 ended");
Comportamento
1) DCS1 iniciado
2) DCS1 concluído
3) DCS2 iniciado
4) QF iniciado
5) QF concluído
6) DCS2 concluído
7) QF iniciado
8) QF concluído
Como pode observar, o QF foi executado duas vezes e o DCS2 executou até o seu final. Este
comportamento é verdadeiro somente se o QuickFunction Assíncrono terminou executando em 1
segundo. Se QF demorar mais do que 1 segundo para executar, ele não será chamado
novamente do segundo script Data Change.
Chamar um QuickFunction enquanto outro QuickFunction Síncrono chamada de um
QuickFunction Assíncrono está executando
Vamos considerar que temos um QuickFunction Assíncrono denominado QF_Async que chama
um QuickFunction Síncrono denominado QF_Sync. Espera-se que o QuickFunction Síncrono
dure ‘X’ segundos. Se o aplicativo tentar chamar um terceiro QuickFunction (Assíncrono ou
Síncrono) enquanto QF_Sync ainda está executando, as atualizações de View pararão. As
atualizações serão retomadas assim que QF_Sync termine.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-26 Apêndice E – Notas técnicas relacionadas ao InTouch

Explicação
1) CallExecute() considera a expressão QF_Async como um parâmetro e verifica seu tipo.
Sendo um QuickFunction Assíncrono, ela lançará um thread separado para executá-la e
CallExecute() sairá.
2) QF_Async chama QF_Sync. CallExecute() é chamada novamente deste segundo thread. Ele
determina que QF_Sync é um QuickFunction Síncrono, começa a executá-lo e não sai antes que
QF_Sync termine.
3) Um terceiro QuickFunction é chamado a partir de um CSC, DCS ou script Application. Agora o
thread principal não pode chamar a função CallExecute(), pois ela já está ocupada como parte da
execução do thread secundário. Então, o thread principal tem que esperar até que CallExecute ()
esteja livre da execução do thread secundário. Durante este tempo, View parará a atualização.

Obs.: Isto pode criar um problema para falha de “Hot Backup” sobre a lógica que pode depender
de contador ou de scripts Heartbeat que não estarão em execução nesta situação, resultando em
uma falsa perda de comunicação.

Como o IsAnyAsyncFunctionBusy(timeout) funciona?


É possível usar a função IsAnyAsyncFunctionBusy() para descobrir se algum QuickFunction
Assíncrono está executando. Esta função pode ser usada para fazer um QuickScript, o que
permitirá chamar um QuickFunction Assíncrono e esperar que todos os outros QuickFunction
Assíncronos concluam o processamento. Isto permite que o QuickScript se resincronize.
Sintaxe
DiscreteTag = IsAnyAsyncFunctionBusy(timeout);

DiscreteTag É um tagname do tipo discreto para o qual um valor é retornado da seguinte


maneira:
Se a função atinge o tempo-limite, esperando que a execução dos
QuickFunctions conclua, um valor de 1 (verdadeiro) é retornado à
DiscreteTag.
Se não houver QuickFunction Assíncrono executando, um valor 0 (falso) será
retornado imediatamente, ou o QuickFunction esperará pelo fim do tempo-
limite. Ele também retorna um valor de 0 se, após um tempo-limite, não
houver um QuickFunction Assíncrono executando.
timeout É um valor inteiro representando o número de segundos a serem esperados
para determinar se algum QuickFunction Assíncrono está executando.
Durante o período de 'tempo-limite', IsAnyAsyncFunctionBusy() realizará
verificações contínuas para ver se algum QuickFunction Assíncrono está
executando.

Obs.: O valor do parâmetro 'Timeout' deve ser selecionado cuidadosamente. Se houver algum
QuickFunction Assíncrono executando quando a função IsAnyAsyncFunctionsBusy(timeout) é
chamada, o WindowViewer parará a atualização até que todos os QuickFunction Assíncronos
terminem ou até que o 'tempo-limite' tenha decorrido.

Treinamento Wonderware
Apêndice E – Notas técnicas relacionadas ao InTouch E-27

Exemplos:
CSC1
Logmessage("CSC1 started");
Call QF();
Logmessage("CSC1 ended");
CSC2
Logmessage("CSC2 started");
IF NOT IsAnyAsyncFunctionBusy(10)
THEN
Call QF2();
ENDIF;
QF1
Logmessage("QF1 started");
For index=1 to 999999
Mytag=Mytag+1;
NEXT;
Logmessage("QF1 ended");
Como pode observar, QF1 está executando um ForNextLoop que terá um tempo-limite de 5
segundos. QF1 levará 5 segundos para executar.

Obs.: Ao usar “For Next Loops”, o atraso de tempo-limite pode ser ajustado adicionando a linha
“looptimeout=seconds” no arquivo Intouch.ini. Segundos é o tempo definido em que For next loop
deve ser concluída, de forma que ela não execute indefinidamente. Neste exemplo de teste,
temos “looptimeout=5” no arquivo Intouch.ini.

QF2
Logmessage("QF2 started");
Logmessage("QF2 ended");
Comportamento
1) 17:01:27.734 CSC1 iniciado
2) 17:01:27.734 CSC1 concluído
3) 17:01:27.734 CSC2 iniciado
4) 17:01:27.734 QF1 iniciado
5) 17:01:32.734 QF1 concluído
6) 17:01:32.734 CSC2 concluído
7) 17:01:32.734 QF2 iniciado
8) 17:01:32.734 QF2 concluído
Observe que um segundo script de condição (CSC2) não iniciou o QF2 QuickFunction
Assíncrono até o término de QF1 (atraso de 5 segundos). A IsAnyAsyncFunctionBusy (10) verifica
constantemente se há algum QuickFunction Assíncrono está executando. Em nosso caso, QF1
estava executando. Assim que QF1 terminou, QF2 foi chamado. Se QF1 tivesse levado mais do
que 10 segundos (tempo-limite) para executar, QF2 nunca teria sido executado porque a
IsAnyAsyncFunctionBusy(10) tem um tempo-limite de 10 segundos.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


E-28 Apêndice E – Notas técnicas relacionadas ao InTouch

Definição de atrasos entre dois QuickFunction Assíncronos


Vamos considerar que temos dois QuickFunction Assíncronos: QF1 e QF2 que podem ser
declarados ao mesmo tempo a partir de dois Scripts Condition (CSC1 e CSC2) diferentes. O
ideal seria que você tivesse apenas um QuickFunction Assíncrono executando em um
determinado momento. É possível implementar a lógica descrita no exemplo acima:
IF NOT IsAnyAsyncFunctionBusy(10)
THEN
Call QF2();
Se tivermos a lógica acima implementada, corremos o risco de nunca disparar QF2 (se QF1 levar
mais do que 10 segundos para executar). Você está disposto a esperar 3 segundos para garantir
que nenhum QuickFunction Assíncrono esteja executando antes de disparar QF2, mas após 3
segundos, é necessário disparar QF2 (mesmo se QF1 não terminou).
Solução
CSC1
Logmessage("CSC1 started");
Call QF1();
Logmessage("CSC1 ended");
CSC2:
Logmessage("CSC2 started");
IsAnyAsyncFunctionBusy (3);
Call QF2();
ENDIF;
Implementando a lógica acima, QF2 será disparado assim que nenhum outro QuickFunction
Assíncrono estiver executando ou após 3 segundos (o que for mais curto).

Recomendações
1. Não execute mais do que três QuickFunction Assíncronos simultaneamente. (A execução de
apenas um QuickFunction Assíncrono por vez é altamente recomendada.)
2. Não tente executar mais do que uma instância de qualquer QuickFunction Assíncrono ao
mesmo tempo.
3. Evite chamar QuickFunctions Síncronos de dentro de um QuickFunction Assíncrono
especialmente quando não souber quanto tempo a função Síncrona levará.
4. Controle o lançamento de QuickFunction Assíncrono usando tags discretas (Flags) para
determinar quando um QuickFunction Assíncrono termina e quando iniciar outro
QuickFunction Assíncrono.
A IsAnyAsyncFunctionBusy() pode ser usada também para determinar se algum script
Assíncrono está executando.

Treinamento Wonderware
Apêndice F

Simulação de E/S
F-2 Apêndice F – Simulação de E/S

Introdução
Neste laboratório, você configurará um servidor SIMULATE I/O e estabelecerá comunicação com
o InTouch S criando e animando as novas tags.
Este laboratório tem por objetivo ser usado durante o Module 8, “I/O Communication” e deve
substituir o Lab 9, “Configuring I/O Communication” no caso de um PLC não estar disponível para
InTouch.
Este laboratório foi desenvolvido usando o aplicativo de servidor SIMULATE I/O que é enviado
com o InTouch.

Objetivos
Ao término deste laboratório, você deverá ter uma janela InTouch que usa dados de E/S do
aplicativo Simulation.
Para isto, as seguintes tarefas devem ser concluídas com sucesso:
z Iniciar e Configurar o servidor SIMULATE I/O
z Criar um Novo Nome de Acesso
z Criar um Aplicativo Factory Floor

Iniciar e configurar o servidor SIMULATE I/O


1. Inicie o servidor Simulate I/O selecionando Start / Run da barra de tarefas Windows .
2. Entre em Simulate e pressione a tecla Enter . O servidor Simulate inicia.

3. Clique em Configure / Topic Definition.


A caixa de diálogo Topic Definition é exibida:

4. Clique em New.

Treinamento Wonderware
Apêndice F – Simulação de E/S F-3

A caixa de diálogo SIMULATE Topic Definition é exibida.


5. Configure a caixa de diálogo SIMULATE Topic Definition para corresponder a figura a seguir:

6. Clique em OK. A caixa de diálogo Save Configuration é exibida:

7. Clique em OK para aceitar o diretório padrão. O tópico é exibido no painel Topic Definition
Topics

8. Clique em Done.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


F-4 Apêndice F – Simulação de E/S

Criação de um novo nome de acesso


1. Selecione Configure / Access Names do WindowMaker Application Explorer.
2. Clique com o botão direito do mouse em Access Names e selecione New.

3. Clique em Add. \
A caixa de diálogo Add Access Name é exibida:

4. Configure a caixa de diálogo Add Access Name como exibido e clique em OK para aceitar o
novo Access Name.
O novo nome é exibido:

5. Clique em Close.

Treinamento Wonderware
Apêndice F – Simulação de E/S F-5

Criação de um Aplicativo Factory Floor


Nesta tarefa, criaremos uma nova janela denominada Main, onde os materiais serão recebidos da
tremonha para um tambor de mistura. Haverá duas válvulas anexadas ao tambor de mistura
permitindo que dois ou mais materiais sejam adicionados. A mistura será então agitada e
drenada.
1. Crie uma nova janela denominada Main.

2. Crie as tags a seguir. Uma vez que estaremos nos comunicando com o PLC, as tags
precisarão ser atribuídas ao Nome de Acesso , PLC1 com os itens listados abaixo.

Observação Importante: Todas as tags, exceto a tag Start, devem ser configuradas como
‘somente leitura’.

Nome de
Tagname Tipo de tag Item
Acesso:
Start E/S discreta: PLC1 Início
Valve_A E/S discreta: PLC1 V1
Valve_B E/S discreta: PLC1 V2
Agitador E/S discreta: PLC1 A1
Drain_Valve E/S discreta: PLC1 V3
Tank_Level Inteiro E/S PLC1 L1
(Min/Max EU 0-1000)
(Min/Max Raw 0-1000)

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


F-6 Apêndice F – Simulação de E/S

3. Adicionar texto a cada uma das tags na janela Main .

4. Vincule cada objeto de texto à tag apropriada a seguir.

Objeto de
Link de animação Propriedade / Ajuste de Parâmetro
Texto
Início Pushbutton Touchscreen - Valor Ação: Toggle
Discreto
Cor de Texto Discreto 1,Verdadeiro,Habilitado: Vermelho/
0,Falso,Desabilitado: Verde
Valve_A Cor de Texto Discreto 1,Verdadeiro,Habilitado: Vermelho/
0,Falso,Desabilitado: Verde
Valve_B Cor de Texto Discreto 1,Verdadeiro,Habilitado: Vermelho/
0,Falso,Desabilitado: Verde
Agitador Cor de Texto Discreto 1,Verdadeiro,Habilitado: Vermelho/
0,Falso,Desabilitado: Verde
Drain_Valve Cor de Texto Discreto 1,Verdadeiro,Habilitado: Vermelho/
0,Falso,Desabilitado: Verde
Tank_Level Exibir valor - Analógico

Treinamento Wonderware
Apêndice F – Simulação de E/S F-7

5. Alterne para Runtime para testar os links.

O campo de texto Start deve ser alternado entre Verde e Vermelho quando clicado.
O campo de texto Gate_Valve deve mudar de Verde para Vermelho quando o valor da tag muda.
Os campos de textos Valve_A e Valve_B devem mudar de Verde para Vermelho quando o valor
da tag mudar.
O campo de texto Agitator deve mudar de Verde para Vermelho quando o valor da tag muda.
O campo de texto Drain_Valve deve mudar de Verde para Vermelho quando o valor da tag muda.
O campo de texto Tank_Level deve mudar quando o valor da tag muda.
Agora é com você. Tente ser o mais criativo possível. Por exemplo: use o máximo de links de
animação possível, implemente tendências, tente usar assistentes, bitmaps, etc.
Os materiais usados nesta visualização de processo são totalmente escolhidos por você.

Observação Importante: Descrição do Processo

Quando Start é ajustado como Verdadeiro, Agitator é ajustado como Verdadeiro, Valve_A é
ajustado como Verdadeiro e Tank_Level começa a aumentar até que atinja 800.

At Tank_Level = 800, Valve_A é ajustado como Falso e Valve_B é ajustado como Verdadeiro.

Em Tank_Level = 1000, Valve_B é ajustado como Falso, Agitator é ajustado como Falso,
Drain_Valve é ajustado como Verdadeiro e Tank_Level reduzirá até que atinja 0 (zero).

Enquanto Start for Verdadeiro e quando Tank_Level = 0, todo o processo se repete.

Quando Start é ajustado como Falso, todos os pontos são configurados como Falso / 0 (zero).

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


F-8 Apêndice F – Simulação de E/S

– Deixado em branco intencionalmente –

Treinamento Wonderware
Apêndice G

Funções de script
G-2 Apêndice G – Funções de script

Características gerais
Este Apêndice explica as Funções Script InTouch e é organizado para refletir os grupos de
Função encontrados dentro do InTouch.

z Funções string
z Funções de cálculo
z Funções de sistema
z Complementos
z Diversas funções

Treinamento Wonderware
Apêndice G – Funções de script G-3

Funções string
Funções string são usadas em variáveis string.

Função Descrição
DText Muda o tagname de mensagem baseado no valor de um tagname discreta.
StringASCII Retorna o valor ASCII do primeiro caractere em um tagname de mensagem
especificada.
StringChar Retorna o caractere correspondente a um código ASCII especificado.
StringCompare Compara dois strings de texto (sensível a maiúscula/minúscula).
StringCompareNoCase Compara dois strings de texto (não sensível a maiúscula/minúscula).
StringFromIntg Converte um valor inteiro em sua representação string em outra base.
StringFromReal Converte um valor real em uma representação string, seja um número de ponto
flutuante ou uma notação exponencial.
StringFromTime Converte um valor de tempo (em segundos desde Jan-01-1970) em uma
representação de string particular. O valor de tempo deve ser igual a UTC (total
de segundos desde Jan-01-1970 GMT). O valor retornado é o horário local.
StringFromTimeLocal Converte um valor de tempo (em segundos desde Jan-01-1970) em uma
representação string particular. O valor retornado reflete Localtime.
StringInString Retorna a posição em Text onde Search For ocorre pela primeira vez.
StringLeft Retorna o número de caracteres especificados por Chars a paartir do caractere
de texto mais à esquerda.
StringLen Retorna o comprimento de texto para um resultado inteiro.
StringLower Converte todos os caracteres maiúsculos em texto com caractere minúsculo e
coloca o string resultante em MessageResult.
StringMid Extrai do texto o número específico de caracteres especificado por Chars,
começando na posição StartChar. Esta função é ligeiramente diferente de seu
complemento, a função StringLeft() e a função StringRight(), porque ela
permite ao usuário especificar o início e o fim do string a ser extraído da tag de
mensagem.
StringReplace Substitui ou muda partes específicas de um string fornecido. Usar esta função
pode remover um tagname string e substituir caracteres, palavras ou frases.
StringRight Retorna o número de caracteres especificados por Chars começando no
caractere de texto mais à direita.
StringSpace Gera um string de espaços dentro de um tagname de mensagem ou de uma
expressão.
StringTest Testa o primeiro caractere de texto para determinar qual seu tipo.
StringToIntg Converte o valor numérico de um tagname de mensagem em um valor inteiro
para o qual cálculos matemáticos podem ser aplicados.
StringToReal Converte o valor numérico de um tagname de mensagem em um valor real
(ponto flutuante) para o qual cálculos matemáticos podem ser aplicados.
StringTrim Remove espaços de texto não desejados.
StringUpper Converte todos os caracteres minúsculos em texto para letra maiúscula.
Text Faz com que um tipo de tagname exiba o valor de um tagname analógico
(inteiro ou real) com base no Format_Text especificado.
WWStringFromTime Extrai 1 de 5 formatos de hora de um determinado campo formatado de hora/
data:
1: 08/22/2003
2: 12:51:26 AM
3: Sex Ago 22 00:52:03 2003
4: Sex
5: Sexta-feira

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-4 Apêndice G – Funções de script

Funções de cálculo
A tabela a seguir descreve rapidamente cada função de script de cálculo. Para mais detalhes e
exemplos de sintaxe, consulte os arquivos de Ajuda do aplicativo InTouch .

Função Descrição
Abs Retorna o valor absoluto (equivalente sem sinal) de um número especificado.
ArcCos Dado um número entre -1 e 1 (inclusive), retorna um ângulo entre 0 e 180 graus
cujo co-seno corresponde a este número.
ArcSin Dado um número entre -1 e 1 (inclusive), retorna um ângulo entre -90 e 90
graus cujo seno corresponde a este número.
ArcTan Dado um número entre, retorna um ângulo entre -90 e 90 graus cuja tangente
corresponde a este número.
Cos Retorna o co-seno de um ângulo dado em graus.
Exp Retorna o resultado de e elevado à potência.
Int Retorna o próximo inteiro menos que ou igual a um número especificado.
Log Retorna o log natural de um número.
LogN Retorna os valores do logaritmo de x à base n.
Pi Retorna o valor de Pi.
Round Arredonda um número real em uma precisão especificada.
Sgn Determina o sinal de um valor (seja ele positivo, zero ou negativo).
Sin Retorna o seno de um ângulo dado em graus.
Sqrt Faz com que o InTouch calcule automaticamente a raiz quadrada do valor, que
segue a declaração.
Tan Retorna a tangente de um ângulo dado em graus.
Trunc Trunca um número real (ponto flutuante) eliminando a porção à direita da casa
decimal.

Treinamento Wonderware
Apêndice G – Funções de script G-5

Funções de sistema
A tabela a seguir descreve rapidamente cada função de script de sistema. Para mais detalhes e
exemplos de sintaxe, consulte os arquivos de Ajuda do aplicativo InTouch.

Função Descrição
ActivateApp Ativa outro aplicativo Windows em execução no momento.
FileCopy Copia um SourceFile para um DestFile, semelhante ao comando Copiar do
DOS ou à função Copiar no Arquivo Windows.
FileDelete Exclui arquivos desnecessários ou indesejados.
FileMove Semelhante ao FileCopy() exceto por mover o arquivo de um local a outro.
FileReadFields Lê um registro Variável Separada por Vírgula (CSV) de um arquivo
especificado.
FileReadMessage Lê um número especificado de bytes (ou toda uma linha) de um arquivo
especificado.
FileWriteFields Escreve um registro Variável Separada por Vírgula (CSV) para um arquivo
especificado.
FileWriteMessage Escreve um número especificado de bytes (ou toda uma linha) para um arquivo
especificado.
InfoAppActive Testa se um aplicativo está ativo.
InfoAppTitle Retorna o nome de lista do Título do Aplicativo ou da Tarefa Windows de um
programa especificado que está executando no momento.
InfoDisk Retorna informações sobre um drive de disco local específico (ou rede).
InfoDosEnv Esta função é usada para Recuperar o ajuste de uma variável de ambiente DOS
em particular.
InfoFile Retorna informações sobre um arquivo específico ou sub-diretório.
InfoInTouchAppDir Retorna o aplicativo atual do diretório InTouch .
InfoResources Retorna vários valores de recurso de sistema.
StartApp Inicia automaticamente outro aplicativo Windows.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-6 Apêndice G – Funções de script

Complementares
Funções complementares estão fora do escopo do curso Básico InTouch. Elas estão incluídas
aqui para fins de totalidade.
Para mais informações sobre funções Add-ons, consulte os arquivos de ajuda InTouch.

Função Descrição
RecipeDelete Exclui um Nome de Receita do arquivo de modelo de receita
especificado.
RecipeGetMessage Escreve um código de erro em um tagname Analógico e o código de
erro correspondente a um tagname de mensagem.
RecipeLoad Carrega uma receita específica para uma unidade específica de
tagnames.
RecipeSave Salva uma receita criada recentemente ou para salvar mudanças feitas
em uma receita existente para o arquivo modelo de receita
especificado.
RecipeSelectNextRecipe Selecione o Nome de Receita seguinte atualmente definido no arquivo
de modelo de receita.
RecipeSelectPreviousRecipe Selecione o Nome de Receita anterior atualmente definido no arquivo
de modelo de receita.
RecipeSelectRecipe Selecione um Nome de Receita específico atualmente definido no
arquivo de modelo de receita.
RecipeSelectUnit Seleciona a unidade de tagnames para a qual os valores de receita
atuais serão carregados.
SPCConnect Usado em conjunto com conjuntos de dados de coleta de dados
automáticos. Antes do conjunto de dados de coleta de dados
Automático iniciar a coleta de dados, esta função deve ser usada para
indicar ao SPC em qual usuário o nó se encontra.
SPCDatasetDig Esta função é usada para exibir a caixa de diálogo SPCPro Dataset
Configuration no WindowViewer. Novos Conjuntos de Dados podem
ser adicionados e excluídos. Não há parâmetros ou nenhum valor de
retorno.
SPCDiconnect Esta função é usada para desconectar um Agente de um banco de
dados SPC Pro. Quando esta função é usada, todos os conjuntos que
foram atribuídos ao Agente que estava desconectado pararão a coleta.
SPCDisplayData Esta função é projetada para permitir fácil rolagem do gráfico para
qualquer data e hora. É possível usar um tagname para monitorar o
status da busca de dados SPC. O status conterá um 0 se o SPC
encontrou dados e 1 se não foi possível encontrar dados para o
período de tempo especificado.
SPCLocateScooter Esta função é projetada para permitir fácil rolagem do Scooter para
qualquer número de amostra válido. O tagname Scooter definido no
conjunto de dados será atualizado com o valor de amostra da barra X.
O ajuste de SampleNumber em 0 oculta/desabilita o Scooter.
SPCMoveScooter Esta função é projetada para permitir fácil rolagem do Scooter para
qualquer número de amostra válido. O tagname Scooter definido no
conjunto de dados será atualizado com o valor de amostra da barra X.
SPCSaveSample Salva uma amostra de entrada manualmente. Esta função é usada em
conjunto com a função SPCSetMeasurement.
SPCSelectDataset Abre uma caixa de diálogo a partir da qual o usuário pode selecionar
um conjunto de dados direto.
SPCSelectProduct Abre uma caixa de diálogo a partir da qual o usuário pode selecionar
um produto em um determinado conjunto de dados.

Treinamento Wonderware
Apêndice G – Funções de script G-7

Função Descrição
SPCSetControlLimits Permite entrada manual fácil ou orientada por evento dos valores
limites de controle para um Gráfico de Controle.
SPCSetMeasurement Permite entrada manual fácil ou orientada por evento de valores de
medição analógicos pelo processamento de QuickScript.
SPCSetProductCollected Muda o produto sendo coletado em um Conjunto de dados
especificado.
SPCSetProductDisplayed Muda o produto sendo exibido em um Conjunto de dados especificado.
SPCSetRangeLimits Permite entrada manual fácil ou orientada por evento dos Limites de
Controle para um Gráfico de Faixa.
SPCSetSpecLimits Permite entrada manual fácil ou orientada por evento dos valores
limites de especificação para um Gráfico de Controle.
SQLAppendStatement Continua uma declaração SQL usando o conteúdo do string. Erros são
retornados no retorno da função.
SQLClearParam Limpa o valor do parâmetro especificado. SQLSetParam deve ser
chamado novamente antes de chamar a função SQLExecute().
SQLClearStatement Libera os recursos associados com a declaração especificada pelo
SQLHandle.
SQLClearTable Exclui todos os registros em uma tabela de banco de dados, mas
mantém a tabela.
SQLCommit O comando SQLCommit() define o fim de um grupo de comandos de
transação. O grupo de comandos desenvolvido entre o comando
SQLTransact() e o comando SQLCommit() é denominado um conjunto
de transação. Um conjunto de transação é manuseado como uma
única transação. Após o comando SQLTransact() ser abordado, todas
as operações subseqüentes não serão comprometidas para o banco
de dados até que o comando SQLCommit() seja abordado.
SQLConnect Conecta o InTouch ao banco de dados especificado no ConnectString.
SQLCreateTable Cria uma tabela no banco de dados usando os parâmetros no Modelo
de Tabela nomeado. Os modelos de Tabela (definidos no arquivo
SQL.DEF ) determinam a estrutura de uma tabela de banco de dados.
SQLDelete Exclui um registro ou diversos registros.
SQLDisconnect Desconecta o usuário do banco de dados.
SQLDropTable Apaga uma tabela.
SQLEnd Isto é usado após uma função SQLSelect() liberar recursos que
estavam sendo usados para armazenar a Tabela Resultados.
SQLErrorMsg Recupera a mensagem de erro de texto associada com um
ResultCode específico. ErrorMsg é o tagname de Mensagem de
Memória InTouch (máximo de 131 caracteres) associado ao
ResultCode.
SQLExecute Executa a declaração SQL. Se a declaração é uma declaração
selecionada, o parâmetro BindList designa o nome de BindList para
ser usado ao conectar as colunas de banco de dados com os
tagnames. Se BindList é NULL, nenhum relacionamento de tagnames
é formado. Por exemplo, a declaração SQL poderia ser Criar
Visualização, Inserir, etc. Erros são retornados no retorno da função.
Se a declaração foi "preparada," o manuseio da declaração retornada
da preparação deve ser passada. Se a declaração não foi "preparada,"
o manuseio da declaração deve ser zero (0).
SQLFirst Seleciona o primeiro registro da Tabela Resultados criado pela última
função SQLSelect(). Uma função SQLSelect() deve ser processada
antes de usar este comando.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-8 Apêndice G – Funções de script

Função Descrição
SQLGetRecord Recupera o registro especificado pelo RecordNumber do buffer de
seleção atual.
SQLInsert Insere um novo registro na tabela de referência usando os valores dos
tagnames no BindList fornecido. O parâmetro BindList define quais
tagnames InTouch são usados e com quais colunas de banco de
dados elas estão associadas.
SQLInsertEnd Libera a declaração.
SQLInsertExecute Executa a declaração já preparada.
SQLInsertPrepare Cria e prepara uma declaração Insert para execução. A declaração
Insert não é processada. O parâmetro SQLHandle é um tagname
Integer que conterá um valor após a declaração ser processada.
SQLLast Seleciona o último registro da Tabela Resultados criada pela última
função SQLSelect(). Uma função SQLSelect() deve ser processada
antes de usar este comando.
SQLLoadStatement Lê a declaração contida no FileName. Neste ponto a declaração é
semelhante a uma criada pela função SQLSetStatement() e pode ser
acrescentada através de uma função SQLAppendStatement() ou
executada pela função SQLExecute(). Pode haver somente uma
declaração por arquivo. Entretanto, a função SQLAppendStatement()
pode ser usada para acrescentar algo à declaração se a função
SQLPrepareStatement() ou a função SQLExecute() não foi chamada.
SQLManageDSN Executa o programa de configuração Microsoft ODBC Manager. Isto
pode ser usado para adicionar, excluir e modificar todos os nomes de
fonte de dados.
SQLNext Seleciona o próximo registro da Tabela Resultados criada pela última
função SQLSelect(). Uma função SQLSelect() deve ser processada
antes de usar este comando.
SQLNumRows Indica quantas linhas atendem o critério especificado na última função
SQLSelect(). Por exemplo, se uma WhereExpression é usada para
selecionar todas as linhas com um nome de coluna AGE, onde AGE
corresponde a 45, o número de linhas retornado poderia ser 40 ou
4000. Isto pode determinar qual função é processada em seguida.
SQLPrepareStatement Uma SQLPrepareStatement() prepara uma declaração SQL existente
para uso pela função SQLSetParam(). Uma declaração pode ser
criada usando uma SQLSetStatement() ou SQLLoadStatement(). O
manuseio de declaração é retornado.
SQLPrev Seleciona o registro anterior da Tabela Resultados criada pela última
função SQLSelect().
SQLRollback O comando SQLRollback() reverte ("roll back") o conjunto de
transação comprometido recentemente. Um conjunto de transação é
um grupo de comandos emitido entre o comando SQLTransact() e o
comando SQLCommit() é ou o comando SQLRollback(). Um conjunto
de transação é manuseado como uma única transação. Após o
comando SQLTransact() ser emitido, todas as operações
subseqüentes não são comprometidas com o banco de dados até que
o comando SQLCommit() seja emitido.

Treinamento Wonderware
Apêndice G – Funções de script G-9

Função Descrição
SQLSelect Instrui o banco de dados para recuperar informações da tabela.
Quando uma função SQLSelect() é processada, uma Tabela de
Resultados temporária é criada em memória, contendo registros que
podem ser navegados usando funções SQLFirst(), SQLLast(),
SQLNext() e SQLPrev().
Observação Sempre use a função SQLEnd() após um SQLSelect()
liberar recursos que estavam sendo usados para armazenar a Tabela
Resultados.
SQLSetParamClear Estabelece o valor do parâmetro especificado para o string
especificado. A função SQLSetParamChar() pode ser chamada várias
vezes antes da execução, resultando no valor de parâmetro que está
sendo ajustado para a concatenação de todos os valores enviados.
Comprimentos de 0 (zero) são ignorados.
SQLSetParamDate Estabelece o valor do parâmetro de data especificado para o string
especificado.
SQLSetParamDateTime Estabelece o valor do parâmetro de data-hora especificado para o
string especificado.
SQLSetParamDecimal Estabelece o valor do parâmetro decimal especificado para o string
especificado. Precision é o número de dígitos no valor e Scale é o
número de dígitos à direita da casa decimal.
SQLSetParamFloat Estabelece o valor do parâmetro especificado para o ParameterValue
especificado.
SQLSetParamInt Estabelece o valor do parâmetro especificado para o ParameterValue
especificado.
SQLSetParamLong Estabelece o valor do parâmetro especificado para o ParameterValue
especificado.
SQLSetParamNull Estabelece o valor do parâmetro especificado para o NULL.
SQLSetParamTime Estabelece o valor do parâmetro de hora especificado para o string
especificado.
SQLSetStatement Inicia um buffer de declaração SQL usando o conteúdo de
SQLStatement, na conexão estabelecida, ConnectionID. Pode haver
um buffer de declaração SQL por ConnectionID. Os erros são
retornados no retorno da função.
SQLTransact O comando SQLTransact() define o início de um grupo de comandos
de transação. O grupo de comandos desenvolvido entre o comando
SQLTransact() e o comando SQLCommit() é denominado um conjunto
de transação. Um conjunto de transação é manuseado como uma
única transação. Após o comando SQLTransact() ser emitido, todas as
operações subseqüentes não serão comprometidas com o banco de
dados até que o comando SQLCommit() seja emitido.
SQLUpdate Modifica um registro que atualiza o registro com os valores de
tagname atual.
SQLUpdateCurrent Considera o registro selecionado atual e o atualiza com os novos
valores InTouch. O exemplo a seguir atualizará o registro selecionado
atual.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-10 Apêndice G – Funções de script

Funções diversas
Funções diversas são usadas para realizar várias ações, incluindo ocultar uma janela, monitorar e
controlar tendência de histórico, imprimir janelas, etc.
A sintaxe específica destas funções é abordada no Guia de Referência InTouch.

Função Descrição
Ack Função script para reconhecer alarmes locais.
AddPermission Estabelece o Nível de Acesso para um grupo em particular ou usuário
no domínio especificado.
Tentativas de atingir a conta Account localizada no Domínio Domain.
almAckAll Reconhece todos os alarmes na consulta de alarme atual. Uma vez
que a exibição de alarme tem apenas uma área de exibição limitada, a
função almAckAll pode reconhecer alarmes que não são visíveis na
exibição.
almAckDisplay Reconhece apenas os alarmes que estão atualmente visíveis na
exibição de alarme.
almAckGroup Reconhece todos os alarmes que têm um determinado nome de Grupo
do mesmo provedor.
almAckPriority Reconhece todos os alarmes dentro de uma faixa de prioridade
especificada tendo o mesmo nome de provedor e nome de grupo.
almAckRecent Reconhece somente o alarme mais recente que ocorreu na consulta
de alarme atual.
almAckSelect A exibição de alarme distribuído permite que alarmes sejam
selecionados clicando neles com o mouse em Runtime. A função
almAckSelect pode ser usada para reconhecer estes alarmes.
almAckSelectedGroup Reconhece todos os alarmes que têm o mesmo nome de grupo do
mesmo provedor como um ou mais dos alarmes selecionados.
almAckSelectedPriority Reconhece todos os alarmes que têm a mesma prioridade do mesmo
provedor e nomes de grupo como um ou mais dos alarmes
selecionados.
almAckSelectedTag Reconhece todos os alarmes que têm o mesmo Tagname do mesmo
provedor e nomes de grupo e têm a mesma prioridade como um ou
mais dos alarmes selecionados.
almAckTag Reconhece todos os alarmes que têm o mesmo Tagname, nome de
Provedor e nome de Grupo dentro de uma determinada Faixa de
prioridade.
almDefQuery Realiza uma consulta para atualizar um objeto de exibição de alarme
usando as propriedades padrões.
almMoveWindow Rola a janela do objeto de exibição de alarme.
almQuery Realiza uma consulta para atualizar um objeto de exibição de alarme.
almSelectAll Alterna a seleção de todos os alarmes em um objeto de exibição de
alarme.
almSelectGroup Alterna a seleção de todos os alarmes que estão contidos em uma
instância nomeada Distributed Alarm Display como resultado da última
consulta de exibição e onde o alarme resultante contém o mesmo
nome do grupo de alarme.
almSelectionCount Retorna o valor inteiro contendo o número de alarmes selecionado
pelo operador no Distributed Alarm Object.
almSelectItem Alterna a seleção do item que foi destacado em um objeto de exibição
de alarme.

Treinamento Wonderware
Apêndice G – Funções de script G-11

Função Descrição
almSelectPriority Alterna todos os alarmes que estão contidos em uma instância
Distributed Alarm Object nomeada como resultado da última consulta
de exibição e onde os alarmes resultantes estão na faixa de prioridade
especificada.
almSelectTag Alterna todos os alarmes que estão contidos em uma instância
Distributed Alarm Object nomeada como resultado da última consulta e
de um determinado tagname.
almSetQueryByName Inicia uma nova consulta de alarme para a instância nomeada
Distributed Alarm Object usando os parâmetros de consulta
associados ao nome de consulta definido pelo usuário (favorito).
almShowStats Exibe a tela de estatísticas de objeto de exibição de alarme.
almSuppressAll Suprime a exibição de todas as instâncias atuais e futuras dos alarmes
na consulta atual incluindo os que não são exibidos no momento no
objeto de exibição de resumo de alarme.
almSuppressDisplay Suprime a exibição das ocorrências atuais e futuras destes alarmes
visíveis no objeto de exibição de resumo de alarme.
almSuppressGroup Suprime a exibição das ocorrências atuais e futuras dos alarmes que
pertencem a um determinado nome de Grupo.
almSuppressPriority Suprime a exibição das ocorrências atuais e futuras de qualquer
alarme da faixa de prioridade especificada, tendo o mesmo nome de
Provedor e nome de Grupo.
almSuppressRetain Retém a supressão de alarme de todas as consultas seguintes.
almSuppressSelected Suprime a exibição das ocorrências futuras dos alarmes selecionados
no objeto de exibição de resumo de alarme.
almSuppressSelectedGroup Suprime a exibição das ocorrências atuais e futuras dos alarmes que
pertencem aos mesmos grupos de um ou mais alarmes selecionados
tendo o mesmo nome de Provedor dentro de um Distributed Alarm
Display Control nomeado.
almSuppressSelectedPriority Suprime a exibição das ocorrências atuais e futuras dos alarmes que
pertencem aos mesmos grupos de um ou mais alarmes selecionados
tendo o mesmo nome de Provedor e tag de Grupo dentro de um
Distributed Alarm Display Control nomeado.
almSuppressSelectedTag Suprime a exibição das ocorrências atuais e futuras de qualquer
alarme que pertence ao mesmo nome de Tagname de um ou mais
alarmes selecionados tendo o mesmo nome de Provedor, nome de
Grupo e faixa de Prioridade.
almSuppressTag Suprime a exibição das ocorrências atuais e futuras de qualquer
alarme emitido por um dado nome de tagname, tendo o mesmo nome
de Provedor, de Grupo e faixa de Prioridade.
almUnselectAll Remove todos os alarmes selecionados em uma instância Distributed
Alarm Display nomeada.
almUnSuppressAll Limpa todos os alarmes suprimidos.
APUFindAlarmGroupInstance Encontra a primeira instância do Utilitário de Impressão de Alarme
usando o String de Grupo de Alarme especificado. Isto pode ser usado
para obter inicialmente a instância desejada de um Utilitário de
Impressão de Alarme. O String de grupo de alarme inicial é lido a partir
do arquivo ALC. A correspondência string String NÃO distingue
maiúsculas e minúsculas.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-12 Apêndice G – Funções de script

Função Descrição
APUFindFileInstance Encontra a primeira instância do Utilitário de Impressão de Alarme
usando o arquivo de configuração ALC especificado. Isto pode ser
usado para obter inicialmente a instância desejada de um Utilitário de
Impressão de Alarme. O caminho do arquivo que uma instância de
ALC usa pode ser controlado manualmente pelo usuário ou ele pode
ser especificado na linha de comando quando o programa é iniciado. A
correspondência string do caminho de arquivo NÃO distingue entre
maiúsculas e minúsculas.
APUFindPrinterInstance Encontra a primeira instância do Utilitário de Impressão de Alarme
usando o nome ou a porta da impressora especificada. Isto pode ser
usado para obter inicialmente a instância desejada de um Utilitário de
Impressão de Alarme. O nome da impressora é armazenado e lido do
arquivo ALC. A correspondência string do nome da impressora NÃO
distingue entre maiúsculas e minúsculas.
APUGetAlarmGroupText Obtém o Texto do Grupo de Alarme de Consulta de Alarme. O texto do
grupo de alarme inicial é lido a partir do arquivo ALC.
APUGetConfigurationFilePath Obtém o caminho completo do arquivo de configuração ALC em uso.
O caminho do arquivo que uma instância de ALC usa pode ser
controlado manualmente pelo usuário ou ele pode ser especificado na
linha de comando quando o programa é iniciado.
APUGetInstanceCount Retorna o número de instâncias de execução do Utilitário de
Impressão de Alarme até e incluindo a instância dezesseis. Qualquer
instância além das primeiras dezesseis executando simultaneamente
não serão controladas dinamicamente e seus status não podem ser
obtidos.
APUGetPrinterJobCount Obtém a mais recente contagem de trabalho de status da impressora
Windows para a impressora usada por esta instância. Os resultados
não serão os atuais a menos que uma consulta esteja executando. Os
resultados não serão os atuais a menos que um alarme seja impresso
– a contagem de trabalho é geralmente atualizada quando a
impressora é aberta inicialmente e depois toda vez que uma linha de
alarme é impressa. É possível usar isto para determinar se o spooler
do Windows está sendo preenchido com trabalhos da impressora de
linha de alarme. Se este número tornar-se muito maior com o tempo,
ele pode indicar que a impressora de linha de alarme está fisicamente
desconectada ou sem papel ou tem algum outro erro não comunicado.
Este valor somente é válido para impressoras atribuídas à uma
impressora Windows e não significa muito para impressoras
associadas com uma porta paralela ou serial.
APUGetPrinterName Obtém o nome ou o nome da porta da impressora Windows para a
impressora usada por esta instância. Retorna ‘NONE’ se nenhuma
impressora estiver configurada. O nome da impressora é armazenado
e lido do arquivo ALC.

Treinamento Wonderware
Apêndice G – Funções de script G-13

Função Descrição
APUGetPrinterStatus Obtém o mais recente status da impressora Windows para a
impressora usada por esta instância. Os resultados não serão os
atuais a menos que uma consulta esteja executando. Os resultados
não serão os atuais a menos que um alarme seja impresso – o status é
geralmente atualizado quando a impressora é aberta inicialmente e
depois toda vez que uma linha de alarme é impressa.
O seletor pode ser um dos seguintes:
· 0 = AlarmPrinterError
· 1 = AlarmPrinterNoPaper
· 2 = AlarmPrinterOffline
· 3 = AlarmPrinterOverFlow
NOTE: Esta informação de status está sendo consultada para a
impressora com base nos padrões de driver Microsoft/Windows. Nem
todos os Fabricantes de Impressora seguirão estes padrões e,
portanto, nem todas as impressoras retornarão informações de status.
APUGetQueryAlarmState Obtém o Estado de Alarme para a Consulta (0 = All, 1 = Ack, 2 =
UnAck). O estado de alarme inicial é lido do arquivo ALC.
APUGetQueryFromPriority Obtém a Prioridade de Formulário para a Consulta. A prioridade inicial
é lida do arquivo ALC.
APUGetQueryProcessingState Obtém o Estado de Processamento de Consulta de Alarme (0 = Stop,
1 = Start).
APUGetQueryToPriority Obtém a Prioridade Principal para a Consulta. A prioridade inicial é lida
do arquivo ALC.
APUIsInstanceUsed O desempenho correto implica na instância estar em uso.
APUSetAlarmGroupText Estabelece o Texto do Grupo de Alarme de Consulta de Alarme. Uma
consulta não pode estar sendo executada para que esta função
execute da forma correta. (Consulte as funções abaixo quanto a
Iniciar, Parar e Estado de Processamento de Consulta) O texto de
grupo de alarme inicial é lido de um arquivo ALC.
APUSetQueryAlarmState Estabelece o Estado de Alarme para a Consulta (0 = All, 1 = Ack, 2 =
UnAck). Uma consulta não pode estar executando para esta função
ser correta. (Consulte as funções abaixo para Iniciar, Parar e Estado
de Processamento de Consulta)
APUSetQueryFromPriority Estabelece a Prioridade de Formulário para a Consulta. Uma consulta
não pode estar executando para esta função ser correta. (Consulte as
funções abaixo para Iniciar, Parar e Estado de Processamento de
Consulta)
APUSetQueryToPriority Estabelece a Prioridade Principal para a Consulta. A prioridade
‘Principal’ deve corresponder ou ser maior do que a prioridade ‘De’ ou
a função não será correta. Uma consulta não pode estar executando
para esta função ser correta. (Consulte as funções abaixo para Iniciar,
Parar e Estado de Processamento de Consulta)
APUSetTimeoutValues Especificar intervalos de tempo-limite em segundos. Isto pode
controlar quantos erros relacionados a acesso à memória ou erros
resultando de falha ao obter respostas válidas são observados
enquanto o programa está em execução. O tempo-limite padrão para
acesso de memória é de 2 segundos. O tempo de espera de resposta
mais curto padrão é 10 segundos e o tempo de espera de resposta
mas longo padrão é de 20 segundos.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-14 Apêndice G – Funções de script

Função Descrição
APUStartInstance Inicia uma instância da Impressora de Alarme em um estado
minimizado com o arquivo de configuração especificado. Retorna a
instância iniciada para Instance ou um código de erro para ErrorCode.
O programa de Impressora de Alarme não começará automaticamente
o processamento do banco de dados de alarme. Use o comando
APUStartQuery() para fazer com que a instância comece o
processamento do banco de dados de alarme.
APUStartQuery Estabelece os limites de data e de hora para registros serem
processados e depois inicia a consulta. É um erro tentar iniciar uma
consulta se uma consulta já estiver em execução. O ajuste de dados
para todos 0 faz com que todos os alarmes sejam impressos. Qualquer
0 individual que implique em “estado não importante” faz o padrão para
o valor razoável mais baixo. 01 de janeiro de 1900 à meia-noite é a
hora mais antiga usada como o padrão. A hora e data especificada
estão em horário local. Um valor –1 para o ano ajustará os dados para
o horário atual em que o comando é processado
APUStopInstance Para a instância especificada da Impressora de Alarme. Qualquer
outra adição de registros a serem impressos parará, qualquer consulta
que esteja em execução no momento comparada ao banco de dados
de alarme para impressão será interrompida e a instância do programa
sairá.
APUStopQuery Solicita que a instância especificada pare de executar sua consulta. O
aplicativo permanecerá em execução, mas não processará nenhuma
outra consulta de banco de dados de alarme. Uma chamada para
APUStartQuery() pode fazer com que a instância comece as consultas
do banco de dados de alarme.
APUTranslateErrorCode Converte um código de erro retornado por uma das funções APU em
um string em inglês descrevendo rapidamente o código de erro. Pode
falhar se um código de erro desconhecido for passado para conversão.
AttemptInvisibleLogon Tenta conectar-se com o InTouch usando as credenciais fornecidas.
ChangePassword Exibe a caixa de diálogo Change Password permitindo que o operador
conectado mude sua senha.
ChangeWindowColor A função script muda a cor da Janela InTouch usando valores
vermelho, verde e azul que variam de 0 a 255.
DialogStringEntry Exibe um teclado alfanumérico na tela, permitindo que o operador
mude o valor de string atual de um tagname de mensagem no
Dicionário Tagname.
DialogValueEntry Exibe um teclado numérico na tela, permitindo que o usuário mude o
valor atual de um tagname Discreta, Inteira ou Real no Dicionário
Tagname.
EnableDisableKeys Habilita/desabilita filtros de tecla para teclas Alt, Escape e Windows.
FilePrint FilePrint é usado para dizer ao InTouch para imprimir o arquivo
especificado.
FileSelect Apresenta ao usuário a caixa de diálogo Windows File Open e retorna
a inserção de arquivo especificada.

Treinamento Wonderware
Apêndice G – Funções de script G-15

Função Descrição
GetAccountStatus Usado para determinar quando a senha do usuário expirará. O valor
de retorno exibirá o número de dias (valor positivo) até que a senha do
usuário expire. GetAccountStatus exibe também os valores de status
de conta a seguir:
Account password expired = -1
Account password will never expire = -2
Account locked out = -3
Account disabled = -4
Account info failed = -5
Os usuários podem escrever um script para exibir uma janela pop-up
mostrando o número de dias até que a senha do usuário expire, ou a
correta mensagem/advertência que corresponde ao valor de retorno
da função.
GetNodeName Retorna o nome do nó NetDDE para uma variável de string.
GetPropertyD Recupera o valor discreto da propriedade especificada durante
Runtime.
GetPropertyI Recupera o valor inteiro da propriedade especificada durante Runtime.
GetPropertyM Recupera o valor de mensagem da propriedade especificada durante
Runtime.
Hide Oculta várias janelas de dentro do QuickScript. Uma função Hide()
deve preceder o nome de cada janela a ser ocultada.
HideSelf Oculta a Janela ativa no momento.
HTGetLastError Determina se houve um erro durante a última recuperação de uma
pena especificada.
HTGetPenName Retorna o tagname da tag usada no momento para a pena
especificada # da tendência especificada
HTGetTimeAtScooter Retorna a hora em segundos desde 00:00:00 horas GMT, 1 de janeiro
de 1970 para a amostra na localização do scooter especificado pelo
ScootNum e ScootLoc. UpdateCount, ScootNum e ScootLoc faz com
que a expressão a ser avaliado quando qualquer um destes
parâmetros muda. Isto garante que a expressão seja avaliada após
novas recuperações ou após o movimento de um scooter.
HTGetTimeStringAtScooter Retorna o string contendo a hora/data para a amostra na localização
do scooter especificada por ScootNum e ScootLoc. UpdateCount,
ScootNum e ScootLoc faz com que a expressão seja avaliada quando
qualquer um destes parâmetros é alterado. Isto garante que os valores
sejam atualizados após novas recuperações ou após o movimento do
scooter. O formato do string determina o conteúdo do valor de retorno.
HTGetValue Retorna um valor do tipo solicitado para toda a pena especificada da
tendência. O parâmetro UpdateCount fará com que a expressão seja
avaliada após a conclusão de uma recuperação.
HTGetValueAtScooter Retorna um valor do tipo solicitado para a amostra na posição,
tendência e pena #. scooter especificadas O parâmetro UpdateCount
fará com que a expressão seja avaliada após a conclusão de uma
recuperação.
HTGetValueAtZone Retorna um valor do tipo solicitado para os dados contidos entre as
posições scooter direita e esquerda para uma pena especificada da
tendência. O parâmetro UpdateCount fará com que a expressão seja
avaliada após a conclusão de uma recuperação.
HTScrollLeft Estabelece a hora de início de uma tendência para um valor mais
antigo do que o horário de início atual por um percentual da largura de
tendência. O efeito é rolar a data/hora do gráfico para a esquerda com
base em um determinado percentual.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-16 Apêndice G – Funções de script

Função Descrição
HTScrollRight Estabelece a hora de início de uma tendência para um valor mais novo
do que o horário de início atual por um percentual da largura de
tendência. O efeito é rolar a data/hora do gráfico para a direita com
base em um determinado percentual.
HTSelectTag Exibe a caixa de diálogo Select Tag e o operador pode selecionar um
tagname diferente para a pena especificada. (A caixa de diálogo
somente lista os tagnames que foram definidos para armazenagem de
histórico (Opção de Log Data selecionada) no Dicionário Tagname.
HTSetPenName Atribui um tagname diferente à uma pena de tendência.
HTUpdateToCurrentTime Faz com que os dados a serem recuperados e exibidos com uma hora
final sejam iguais à hora atual. A hora de início corresponderá à
EndTime menos a Largura do gráfico.
HTZoomIn Calcula uma nova largura de gráfico e horário de início. Se
.ScooterPosLeft da tendência for 0.0 e .ScooterPosRight for 1.0, a
nova largura de gráfico corresponderá à largura de gráfico antiga
dividida por dois. A nova hora será calculada com base no valor de
LockString.
HTZoomOut Calcula uma nova largura de gráfico e horário de início. A nova largura
de gráfico é a antiga largura de gráfico multiplicada por dois. A nova
hora será calculada com base no valor de LockString.
InfoAppStatus Retorna um valor True ou False que informa o status atual do
aplicativo especificado.
InfoAppTitleExpand Retorna o título do Aplicativo ou a Lista de Tarefa Windows Microsoft
de uma janela cujo título esteja parcialmente ou totalmente
especificado.
InfoWinEnv Recupera o valor de um atributo em particular para a sessão atual do
Windows.
InTouchVersion Habilita os usuários a obter a informação da versão do InTouch através
de scripts.
InvisibleVerifyCredentials Selecione para verificar as credenciais de um determinado usuário
sem armazenar o usuário no InTouch.
IOGetApplication Retorna o nome do aplicativo definido para um Nome de Acesso
específico para o tagname especificado.
IOGetNode Retorna a informação de nó (endereço) definida para um Nome de
Acesso específico para o tagname especificado.
IOGetTopic Retorna o nome de tópico definido para um Nome de Acesso
específico para o tagname especificado.
IOReinitialize Encerra todas as conversações de E/S existentes e reinicia todo o
processo de configuração de conversações de E/S. Todos os pontos
de E/S são afetados quando esta função executa.
IOSetAccessName Modifica as partes de nome de aplicativo ou de tópico de um Nome de
Acesso durante o Runtime o que permite a implementação de
estratégias de hot-backup para InTouch.
IOSetItem Muda o nome de acesso e/ou item em um campo de Referência de
tagname do tipo E/S.
IOStartUnitConversations Quando o WindowViewer é iniciado, ele processa automaticamente
uma solicitação inicial para começar todas as conversações de E/S. Se
um programa servidor de E/S não responder à solicitação inicial do
WindowViewer, é possível forçar o WindowViewer a tentar novamente
para estabelecer a conversação de E/S executando esta função em
um QuickScript.

Treinamento Wonderware
Apêndice G – Funções de script G-17

Função Descrição
IsAnyAsynchFunctionBusy Usado para descobrir se algum QuickFunction Assíncrono está
executando. Esta função pode ser usada para fazer com que o
QuickScript chame uma espera QuickFunction Assíncrono para que
todos os outros QuickFunction Assíncronos concluam o
processamento. Isto permite que o QuickScript sincronize novamente.
IsAssignedRole Usado para descobrir se um usuário conectado tem o papel indicado.
LogMessage Escreve uma mensagem definida pelo usuário para o Wonderware
Logger.
Logoff Encerra a sessão do usuário no InTouch.
LogonCurrentUser Esta função script é projetada para o InTouch executar no modo de
sistema operacional de segurança. Quando a função script é
chamada, quem quer que esteja conectado ao computador será
conectado no InTouch.
MessageBox Esta função exibe uma caixa de mensagem Windows padrão com uma
mensagem de texto específica.
MoveWindow MoveWindow posiciona uma janela que está sendo usada sobre o
InTouch.
OpenWindowsList Exibe uma caixa de diálogo com uma lista das janelas abertas no
momento.
PlaySound Toca um som no formato wave especificado por um nome de arquivo
.wav.
PostLogonDialog Exibe a caixa de diálogo de Conexão InTouch Logon e retorna TRUE.
PrintHT Pode ser usado em um botão para impressão do gráfico de Tendência
de Histórico associado com o tagname de tipo Tendência de Histórico.
A Tendência de Histórico deve estar visível na tela ao usar esta função.
PrintScreen Imprime a tela especificada.
PrintWindow Imprime a janela especificada.
ptGetTrendType Estas funções de script são carregadas quando a tendência 16pen é
ptLoadTrendCfg instalada e somente aplica-se à tendência 16pen.
ptPanCurrentPen
ptPanTime
ptPauseTrend
ptSaveTrendCfg
ptSetCurrentPen
ptSetPen
ptSetPenEx
ptSetTimeAxis
ptSetTimeAxisToCurrent
ptSetTrend
ptSetTrendType
ptZoomCurrentPen
ptZoomTime
QueryGroupMembership Válido somente para o modo de segurança OS e aplica-se ao usuário
conectado no momento. Se um usuário estiver conectado no momento
e se ele sair do grupo lpszGroup que está localizado no domínio
lpszDomain, TRUE é retornado e em todos os outros casos, teremos o
retorno de FALSE.
ReloadWindowViewer Permite ao usuário controlar o recarregamento do WindowViewer.
RestartWindowViewer Permite ao usuário controle sobre o encerramento e a reinicialização
do WindowViewer.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


G-18 Apêndice G – Funções de script

Função Descrição
SendKeys Envia teclas para um aplicativo. Para o aplicativo que recebe, as teclas
parecem ter sido inseridas a partir do teclado. Esta capacidade pode
ser usada para inserir dados em um aplicativo ou para emitir
comandos ao aplicativo. A maioria das teclas do teclado podem ser
usadas em uma declaração SendKeys. Cada tecla é representada por
um ou mais caracteres como A para a letra A ou {ENTER} para a tecla
Enter.
SetPropertyD Especifica o valor discreto da propriedade que deve ser escrito durante
o Runtime.
SetPropertyI Especifica o valor inteiro da propriedade que deve ser escrito durante o
Runtime.
SetPropertyM Especifica o valor de mensagem da propriedade que deve ser escrito
durante o Runtime.
SetWindowPrinter Pode ser usado para fazer o WindowViewer imprimir em um local
diferente da impressora padrão.
Show Exibe uma janela especificada. (O nome da janela deve estar entre
aspas.)
ShowAt Especifica a localização horizontal e vertical em pixel de uma janela
quando ela é exibida.
ShowHome Exibe a janela "home". Janelas Home são as selecionadas para
abrirem automaticamente quando o WindowViewer é iniciado. (As
janelas são selecionadas no folha de propriedade WindowViewer
Properties - Home Windows.)
ShowTopLeftAt Especifica a localização horizontal e vertical em pixel do canto superior
esquerdo de uma janela quando ela é exibida.
TseGetClientId Retorna uma versão string da identificação do cliente (o endereço
TCP/IP do cliente) se o aplicativo View estiver em execução em um
cliente servidor Terminal. Caso contrário, ele retorna um string vazio.
TseQueryRunningOnClient Retorna um valor inteiro diferente de zero se o aplicativo View estiver
em execução em um cliente servidor Terminal. Caso contrário, ele
retorna um valor zero (0).
TseQueryRunningOnConsole Retorna um valor inteiro diferente de zero se o aplicativo View estiver
em execução em um console de servidor Terminal. Caso contrário, ele
retorna um valor zero (0).
UTCDateTime Permite ao usuário obter a hora UTC (Coordinated Universal Time), o
fuso horário atual e o desvio do GMT e o status do horário de verão.
wcAddItem Adiciona o string fornecido para a caixa de listagem ou a caixa
combinada. Se a caixa de listagem ou a caixa combinada não foi
criada como classificada, o string é adicionado ao final da lista. Caso
contrário, o string é inserido na lista e a lista é classificada.
wcClear Remove todos os itens da caixa de listagem ou da caixa combinada.
wcDeleteItem Exclui o item associado ao argumento de índice de item nas caixas
listagem e combinada.
wcDeleteSelection Exclui o item selecionado no momento a partir da lista.
wcErrorMessage Retorna um string de mensagem descrevendo o erro.
wcFindItem Determina o índice correspondente do primeiro item na caixa de
listagem ou caixa combinada que corresponde ao string de mensagem
fornecido.
wcGetItem Retorna a propriedade do valor do string de item associado com o
ItemIndex correspondente na caixa de listagem ou caixa combinada.

Treinamento Wonderware
Apêndice G – Funções de script G-19

Função Descrição
wcGetItemData Determina o valor inteiro associado ao item de lista identificado pelo
parâmetro ItemIndex.
wcInsertItem Insere o string de mensagem na lista. ItemIndex é o número de índice
correspondente à posição na caixa de listagem que receberá o string.
Diferente de wcAddItem(), wcInsertItem() não classificará a lista,
mesmo que tenha sido criado como uma caixa de listagem ou caixa
combinada classificada.
wcLoadList Substitui o conteúdo da caixa de listagem ou da caixa combinada com
os itens contidos no FileName.
wcLoadText Substitui o conteúdo da caixa de Texto pelo conteúdo do FileName.
wcSaveList Substitui o conteúdo de FileName pelos itens listados no objeto caixa
de listagem ou caixa combinada.
wcSaveText Salva o texto contido na caixa Texto para FileName. Se o arquivo não
existir, ele será criado. Se ele existir, ele deve ser Leitura/Escrita.
wcSetItemData Atribui um valor inteiro do item (número) ao item na lista especificado
pelo ItemIndex. Esta função permite a atribuição de um número a um
string.
WindowState Retorna um valor discreto se uma janela especificada está aberta ou
não.
WWAlwaysOnTop Fará com que um aplicativo Windows especificado permaneça sobre
todas as outras janelas de aplicativo.
WWContext Usado para determinar quando o cursor está sobre uma determinada
região de uma janela de aplicativo InTouch .
WWControl Permite a você Recuperar, Minimizar, Maximizar ou Fechar um
aplicativo do InTouch.
WWControlPanel Inicia o Painel de Controle e posiciona o applet nomeado.
WWDosCommand Inicia uma Caixa Windows DOS em um estado inicial especificado e
executa uma linha de comando especificada.
WWExecute Envia um comando (usando um DDE Execute ) a um Application e
Topic especificados.
WWExitWindows Permite ao usuário InTouch encerrar com segurança o sistema
operacional Windows de dentro de um aplicativo InTouch .
WWFreeHandles Retorna o número de alças de dimensionamento livres de Global
Memory.
WWIsDayLightSaving Esta função script retorna 1 se Daylight Savings estiver habilitado e 0
se Daylight Savings não estiver habilitado.
WWMoveWindow Esta função script redimensiona e move a janela inserida à nova
localização especificada.
WWPoke Faz um poke para um valor (usando um DDE Poke) para um
Application, Topic e Item especificados.
WWRequest Faz uma única solicitação para um valor (usando DDE Request) de um
Application, Topic e Item especificados.
WWStartApp Inicia um aplicativo Windows especificado e posiciona o aplicativo
dentro do estado Window desejado.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


Apêndice H

Como usar InTouch em um microcomputador


Tablet
H-2 Apêndice H – Como usar InTouch em um microcomputador Tablet

Objetivos do apêndice
z Apresentar as funções destacadas do Windows XP para Microcomputadores Tablet
z Apresentar as funções de destaque do Wonderware InTouch
z Demonstrar a função script AnnotateLayout
z Mudar a orientação da tela de paisagem para retrato
z Apresentação de dicas para usar microcomputadores Tablet
Os microcomputadores Tablet são usados há anos em ambientes de Utilidades, Petróleo e Gás e
Resposta de Emergência. Eles são extremamente duráveis e têm diversas funções que os tornam
apropriados para uso industrial.

Hardware
Os microcomputadores Tablet robustos são unidades seladas à prova d'água e resistentes à
vibração. A maioria vem equipada com um sensor de luz que permite o ajuste automático do
brilho da tela com base na luz em volta deles. Eles têm baterias duplas que permitem que as
baterias sejam trocadas em movimento quando necessário. A maioria vem com estações de
ancoragem e um painel digital. Um cartão de rede sem fio os torna completamente portáteis em
um ambiente sem fio.

Sistema Operacional
Os microcomputadores Tablet executam em Microsoft Windows XP Tablet PC Edition, totalmente
compatíveis com a funcionalidade de todo o software, incluindo extensões para caneta que
permitem que os dados sejam inseridos com uma caneta digital. A pena digital também é usada
como um dispositivo de indicação.

Usuários Alvo
Estas funções tornam os microcomputadores Tablet uma ferramenta ideal para criar eficiência em
configurações de fábrica. Elas permitem aos usuários acessar aplicativos InTouch em qualquer
lugar a qualquer hora em uma faixa de rede sem fio. Eles são perfeitos para usuários que
precisam se movimentar, monitorar atividades de planta, inserir pequenas quantidades de dados
ou inserir dados sem um teclado. Eles também são ideais para ambientes desfavoráveis.

Funções de destaque do sistema operacional


Esta informação tem por objetivo apresentar as funções mais aplicáveis aos clientes
Wonderware. Consulte o manual do usuário do seu microcomputador Tablet especificado para
obter instruções detalhadas.

Tinta digital
Tinta digital em termos práticos é simplesmente escrita manual eletrônica. O uso de pena digital
permite inserir dados, mudar valores de referência e fazer anotações escritas. Isto é
especialmente útil quando o tablet não está ancorado.

Treinamento Wonderware
Apêndice H – Como usar InTouch em um microcomputador Tablet H-3

Windows Journal
Windows Journal é um aplicativo de anotações que permite criar e organizar notas escritas
manualmente em um microcomputador Tablet usando uma caneta digital. É possível vê-lo como
uma versão do Notepad que lida com "digital ink". Ele também fornece capacidades de
reconhecimento de caractere de forma que sua escrita manual possa ser convertida em texto;
embora seja possível inserir, gerenciar e manter suas notas em tinta digital se desejar.

Ele inclui capacidades de busca e de destaque

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


H-4 Apêndice H – Como usar InTouch em um microcomputador Tablet

Ele converterá também sua escrita manual em texto.

Rotação da Tela
A ferramenta XRT Screen Rotation é especialmente útil quando o Tablet não está ancorado. Isto
permite mudar da orientação paisagem para retrato. Isto é mais confortável quando estiver
segurando o Tablet e fazendo anotações. Para tanto, é necessário mudar a resolução da tela.

Treinamento Wonderware
Apêndice H – Como usar InTouch em um microcomputador Tablet H-5

Write Anywhere
Com a função Write Anywhere, é possível usar a maior parte da tela sem seu microcomputador
Tablet como uma área de escrita. Isto é especialmente útil para tarefas de escrita longas.
A função Write Anywhere converte sua escrita manual em texto digitado e a insere em um local
que você especificar, como um documento de processamento de texto. É possível usar a função
Write Anywhere para inserir texto em qualquer local onde seja possível usar um teclado padrão
para inserir texto.
A função Write Anywhere reconhece a escrita manual em inglês apenas.
Esta função também permite escrever ou destacar um aplicativo em uso com a caneta digital e
pode funcionar como uma transparência.
Acesse esta função pelo Tablet PC Input Panel.
Tools / Options e clique na guia Write Anywhere.
Selecione o botão Show the Turn on Write Anywhere na barra de título.
Clique em Apply.
Clique em OK.
O ícone Write Anywhere estará agora visível em seu Tablet PC Input Panel.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


H-6 Apêndice H – Como usar InTouch em um microcomputador Tablet

Funções de destaque do InTouch


Uma listagem detalhada dos Requisitos de Sistema, Informação de Instalação, Melhorias, etc.,
está contida no documento Readme que acompanha o InTouch. Este documento tem por objetivo
apresentar rapidamente as características gerais das funções selecionadas.

Função Script AnnotateLayout


O InTouch inclui uma função script denominada AnnotateLayout. Esta função script somente está
disponível quando usar o sistema operacional Windows XP Tablet PC Edition.
Ativar a função script capta um instantâneo da tela da parte visível da janela ativa. É possível usar
o painel digital para fazer anotações e destacar informações.
É possível salvar esta captura de tela com suas anotações como um arquivo .jpg ou .gif para uso
posterior. A caixa de diálogo Annotate Layout contém uma barra de ferramentas e itens de menu
e exibe a captura de tela InTouch WindowViewer em sua área cliente. A caixa de diálogo tem um
botão Close na barra de legenda, mas não tem os botões minimizar ou maximizar.

Treinamento Wonderware
Apêndice H – Como usar InTouch em um microcomputador Tablet H-7

Painel de Entrada de Caneta


Com a caneta digital, você escreve manualmente em qualquer campo de entrada de dados em
Runtime do InTouch. O InTouch WindowViewer exibe caixas de edição quando o usuário clica em
links touchscreen dos tipos Analógico ou Mensagem. Além destas caixas de edição, o
WindowViewer exibe o Pen Input Panel para facilitar a entrada de dados usando a caneta digital.

Rotação da Tela
A ferramenta XRT Screen Rotation pode ser usada no InTouch. Observe que o InTouch somente
seleciona a resolução de tela Windows quando um aplicativo é iniciado. As mudanças feitas
enquanto o aplicativo está em execução resultará em conseqüências estranhas. É necessário
configurar as Propriedades do InTouch Node para permitir que o uso do WindowViewer ou a
mudança dinâmica da resolução.

InTouch® HMI 9.5 Fundamentos do curso de desenvolvimento de aplicativos


H-8 Apêndice H – Como usar InTouch em um microcomputador Tablet

Dicas para usar microcomputadores Tablet


Se solicitar um microcomputador tablet do Wonderware, o InTouch já estará instalado assim como
o arquivo de licença. Se comprou um de outro fornecedor, observe o seguinte:
z A instalação requer o .NET Framework Versão 1.1.
Ele pode ser instalado usando o menu Start.
Start / Windows Updates / Scan for updates
Role para a parte de baixo e selecione .NET Framework Version 1.1.
Clique em Review and install updates.

z Os microcomputadores Tablet podem ser ancorados e têm portas externas. Entretanto,


eles não vêm com drives de CD-ROM. Faça uma planejamento antecipado e crie
compartilhamento com outros nós para acessar o InTouch e um arquivo de licença para
instalação.

Equivalentes ao Mouse/Caneta Digital


É possível usar também a caneta digital do microcomputador Tablet para emitir comandos no
lugar do mouse. A tabela abaixo exibe exemplos de ações comuns realizadas com o mouse
assim como os ajustes padrões correspondentes para ações usando a caneta digital. Para mais
informações sobre a funcionalidade do microcomputador Tablet, consulte a documentação de
microcomputador Tablet.

Mouse Caneta digital


Apontar Apontar
Clicar Tap
Clicar duas vezes Tap duplo
com o mouse
Clicar com o botão Tap e manter
direito do mouse
Clicar e arrastar Arrastar

Control Alt Delete


A combinação Control Alt Delete é acessada pressionando o botão Power duas vezes.

Desligar
O microcomputador tablet pode ser desligado pressionando e mantendo pressionado o botão
power.

Treinamento Wonderware
Apêndice I

Atalhos de teclado para InTouch


I-2 Apêndice I – Atalhos de teclado para InTouch

Introdução
A fim de criar um ambiente de trabalho mais eficiente, o InTouch permite salvar diversas vezes
atalhos de teclado para executar os comandos. Isto elimina a necessidade de movimentos extras
com o mouse para algumas ações comuns.

Atalho Comando
F2 Selecionar tudo
Ctrl + A Links de animação
Ctrl + E Substituir tags
Ctrl + L Substituir strings
Ctrl + T Dicionário tagname

Ctrl + W Propriedades da janela

Ctrl + N Nova janela


Ctrl + O Abrir janela
Ctrl + S Salvar janela

Ctrl + Mais Aumentar fonte


Ctrl + Menos Reduzir fonte

Ctrl + Z Desfazer
Ctrl + Y Refazer
Ctrl + D Duplicar
Ctrl + X Recortar
Ctrl + C Copiar
Ctrl + V Colar
Del Apagar

Shift + Mais Aumentar raio (retângulo com cantos


arredondados)
Shift + Menos Reduzir raio (retângulo com cantos
arredondados)
Ctrl + R Reformatar objeto (polígono)

F9 Enviar para trás


Shift + F9 Trazer para frente
Ctrl + H Espaço horizontal
F6 Girar sentido horário
Shift + F6 Girar sentido anti-horário
F7 Inverter horizontal
Shift + F7 Inverter vertical

F5 Fazer símbolo
Shift + F5 Desagrupar símbolo
F3 Fazer célula
Shift + F3 Desagrupar célula

Treinamento Wonderware

Você também pode gostar