1
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
CEFETES - SERRA
COORDENADORIA DE AUTOMAÇÃO INDUSTRIAL
Intouch
SEBASTIÃO ALVES...
3
SUMÁRIO
INTRODUÇÃO 4
SISTEMA SUPERVISÓRIO 5
FUNCÕES BÁSICAS DE UM SUPERVISÓRIO 6
TIPOS DE SUPERVISÓRIOS 8
REPRESENTANTES...
5
A instalação de um sistema automático com o uso de I/O locais, requer um gasto
considerável de cabeamento, borneiras, ca...
7
Já nos casos dos Softwares Supervisórios, dão ao projetista uma ampla gama de
comunicação com os mais diversos tipos de ...
9
Gênesis
WinnCC
Citect
FactoryLink
Cimplicity
Intouch (Wonderware)
SUPERVISÓRIO ELIPSE
SUPERVISÓRIO ELIPSE é constituído ...
11
A - ACESSANDO O INTOUCH
- Carregue o aplicativo InTouch, dando um duplo click no ícone localizado no desktop
- O gerenc...
13
2- Na Opção Examinar seleciono o diretório que desejo criar minha nova aplicação
14
2- Pressiono o ícone nova pasta
3- ...
15 16
- Pressione o botão OK
B - WindowMaker - Ambiente de Construção de Projetos de Supervisão Industrial
A Ilustração a ...
17
B.1 A Barra de Título mostra o path e o nome de sua aplicação, bem como o título
da tela corrente que está sendo mostra...
19
COMANDO TECLAS DE
ATALHO AÇÃO
Send to Back F9
Posiciona o(s) objeto(s) selecionado(s) atrás de todos os
outros objetos ...
21
COMANDO TECLAS DE
ATALHO AÇÃO
General Toobar Vizualiza a Barra de Ferramenta Geral
Wizards/AxtiveX Toobar Vizualiza a B...
23
Habilita /Desabilita régua do WindowMaker
Cria nova janela
Abre janela
Fecha janela
Salva janela corrente para o disco
...
25
3- Criação de Projetos no windowmaker
Todos os projetos são desenvolvidos dentro de Janelas/telas que estão ligadas ent...
27
Largura da tela: 600 pixel’s.
Altura da tela: 300 pixel’s.
Borda: Simples.
Solução:
Na barra de Menu em File / New Wind...
29
Importação de bitmap
Gráfico de Tendência Real
Gráfico de Tendencia Histórica
Botão
3.2.3 Objetos Adicionais – Wizard
M...
31
Hist Trend
Variável do gráfico de tendência
histórica. Cada gráfico necessita de
uma. O gráfico de tendência histórica ...
33
3.4.1 Prenchimento de Objetos-Percentil Fill
Este tipo de animação é utilizado em simulações de prenchimento de objetos...
35
Resultado no WindowViewer
3.4.2 Visualização de Variáveis - Value Display
Em todo projeto é importante visualizar as va...
37
-Visualizando a aplicação- Runtime! (WindowViewer):
EXEMPLO 2:
- Faça a implemetação do seguinte projeto:
WindowMaker:
...
39
Observar que a âncora escolhida é a parte inferior do retângulo, ou seja é a base inferior que
será referencia.
Propert...
41
3.4.4 DESLOCAMENTO DE OBJETOS (LOCATION)
O deslocamento vertical e/ou horizontal de um objeto pode ser conseguida em fu...
43
Quando $second=0, o retangulo deve estar na posição inicial.
Ação:
(Value – At Top =0) (Vertical Movement - Up=0)
Quand...
45
3.4.5 TOUCH LINKS
Para animarmos os objetos sem utilizar a tagname $second, precisamos saber como
fazer para mudar o va...
47
2- INPUT ANALOG (Tipo: Real/Contínua)
48
Keypad – Habilita o teclado numérico
Msg to user: Título do keypad.
Min Value:...
49
Keypad – Ativa teclado
Echo Characters – Se desejar que os caracteres sejam mostrados durante a digitação
(opção Yes). ...
51
Clicar no quadrado e abrir a tela de animação.
Propriedades:
a- Configurando a tag
Value:
At Top – 100 (valor máximo da...
53
Tipos:
Direct
Reverse
Toggle
Reset
Set
Função:
4- Botões-Touch Pushbuttons-Action
4.1 Primeira Ação- Action 1: On Key D...
55
Segunda Ação- Action 2: While Down
Deseja-se que ao manter pressionado o botão direito do mouse a tagname
incremente se...
57
5- Show window -Touch Pushbuttons- Navegando entre Telas
Normalmente, em função dos processos industriais serem de gran...
59
Runtime!:
Neste caso a tela 2 está ativa e desejamos acessar a tela 1, para isso basta clicar
sobre o objeto texto, con...
61
Etapa 1 - Selecione a animação - Visibility
Etapa 2 - Coloque a condição que se deseja que o objeto 1 fique visível:
Re...
63
Etapa 1 - Selecione a animação – Blink
Etapa 2 - Coloque a condição que se deseja que o objeto 1 pisque.
64
Atributos d...
65
3- Orientation – Rotação de Objetos
A variação de uma tagname pode provocar um giro do objeto no sentido
horário ou ant...
67
c) Animação: giro horário em torno do ponto (100, 100) distante do centro do
objeto:
OBS.: Deve ser observado que o sin...
69
Para a condição fora do intervalo $second =10, o botão fica no estado abilitado.
Para a condição dentro do intervalo $s...
71 72
2- Animação dos objetos symbol factory
73
Programando – Scripts
Scripts são módulos em linguagem, onde se pode definir linhas de código como na linguagem Basic,
...
75
4- Condicion Script...
É executado sempre que uma determinada condição acontecer;
Vamos ilustrar as 4 condições de Scri...
77
COMENTÁRIOS SOBRE O AMBIENTE DE PROGRAMAÇÃO SCRIPT
1- Condition Type:
Há 3 possibilidades:
On Startup – Será executado ...
79
Visualizando no WindowViwer
Exemplos :
Exemplo 1 (Window Script...)
1- Quando a janela 1 estiver ativa a tagname x deve...
81
Rodando...
Passo 1: - Apago a janela 2
Passo 2: - Ativo a janela 2
Ao ativar a janela 2 a tagname se estabilizarar, já ...
83
Ao rodar o programa pressiono o teclado Ctrl + a e a tagname assumira o valor
1000, ou seja x=1000;
84
COMANDOS DE PROG...
85
Operadores Relacionais na Comparação
No exemplo anterior, foi utilizado o sinal de = (igual) para estabelecer o novo
va...
87
comando 2;
ENDIF;
Operados Lógicos
Existem ocasiões em que é necessário trabalhar com o relacionamento de
duas ou mais ...
89
Algoritmo
{Informe os valores das notas}
{Calcula a soma das notas}
{Compara}
{apresenta o resultado}
Início
A,B
R = A ...
91
Como exemplo iremos importar a aplicação esteira que se encontra em
c:sebaexemplosintouchesteira.
Após selecionar a apl...
93
1) OBS: ?d: | ?r: | ?i: é usada para identificar as variáveis importadas e se desejar
convertê-las (d = discreta, r = r...
95
Exportar telas
Só pode ocorrer ente 2 projetos intouch
1) Abro a aplicação que tem a janela a ser exportada Ex: C:sebab...
97
ALARMES
Alarmes são usados para sinalizar algum tipo problema que está ocorrendo na planta e
então tomar as ações aprop...
99
EXEMPLO:
Implemente 1 tangue com preenchimento entre 0-100%, associados a uma tagname
nivel com respectiva variação ent...
101
Configurar o indicador de alarme muito alto – Lo
Configurar o indicador de alarme muito alto – LoLo
Associar o slider ...
103
Standart Alarm Display
É um visualizador, configurável, de todas as ocorrências os alarmes; disponível na biblioteca d...
105
Para alarmes com tagnames do tipo Discrete, só uma escolha de alarme pode ser feita:
Estado On ou Estado Off, com a re...
107
2 – Sample
Interval – Indica o número de amostra que será plotado no gráfico, no intervalo de
tempo especificado (Time...
109
Bottom Labels - Indica que o tempo especificado em Major Div/Timer Label irá
aparecer na absissa no gráfico, é o que n...
111
5 Pen
Até 4 tagnames podem ser visualizadas ao mesmo tempo.
112
Usuários
Pode-se controlar o acesso a uma aplicação at...
113
O Nome do usuário não deverá exceder a 16 caracteres
Criando Usuários
Digitar o Nome do Usuário, A Senha e o Nível de ...
115
2- Restrições com nível de acesso
2.1- No exemplo a seguir, desejamos que: somente o usuario
ADMINISTRADOR com nível d...
117
Log On para o usuário 1
Em Special/secutity/log On… digite o nome do usuário e a senha
Observar que o botão USUÁRIO 1 ...
119
Selecionar também Trend Zoom/Pan Panel para fazer as visualizações
necessárias:
2o
Passo
Nomeiar as tagnames tipo Tren...
121
4o
Passo:
Nomeiar as tagnames Trend Panel (Opcional)
O Trend Panel é utilizado para atualizar os dados no gráfico e ne...
123
7o
Passo:
Configuração:
No menu Special / Configure / Historical Loggin... as seguintes opções devem
ser assinaladas.
...
125
Modificações nas telas que envolvem Hist Trend, normalmente exigem que WindowViwer
esteja fechado (é diferente de esta...
127
CHECKBOX – Botões especias de opção
Normalmente usado para selecionar uma ou mais opções, quando selecionado a tagname...
129
Script usado para selecionar tipo de máquina a ser usada
WindowViewer
Selecione a máquina de cortar.
Neste caso a tagn...
131
Soma de strings
Strings também podem ser “somadas’ (concatenadas) resultando um novo valor para a tag.
Veja o exemplo ...
133
RECOMENDAÇÕES:
I -Não utilizar as saídas (Yi) do programa ladder que está carregado na memória do PLC nos
itens.
II -V...
135 136
-Observar a paridade Odd (ímpar)
137
-Ver, em anexo, a configuração do CLP matsushita.
- Adicionar um device:
138
139
-Observar o Device Model: Any model
140
CONSIDERAÇÕES:
- Salvar o projeto (*.kdp) (exemplo: aluno.kdp)
- Observar que ...
141
- Colocar o kepdde on-line
- Bem... < ok >;
- Automaticamente a comunicação entre o CLP e o computador é perdida, só p...
143
As entradas e saídas analógicas devem ser configuradas através de um DIP SWITCH,
localizado na frente da unidade analó...
145
- Entrar com o sinal analógico ( 0 – 10 V ) na entrada analógica do CLP (WX2);
1 – Entrada Analógica : WX2
2 – Entrada...
147
- Ver a indicação do nível para uma tensão na entrada WX2 = 9,12 V
- Ver a indicação do nível para uma tensão na entra...
149
- Conectar o Multímetro na saída do PLC e observar a tensão de saída com a mudança na
posição do Slider.
150
REDE PROF...
151
Kbl.dat
Buspar.dat
3.2 - ITEM NAMES
Definidos no controlador Burkert - Padrão profibus
PV= O22T8I200 X Variável do Pro...
153
POSSIVEIS FALHAS NA COMUNICAÇÃO INTOUCH / PLANTA
PROFIBUS
INTOUCH
VIEWER
ATIVA/FECHADA STATUS
LED DA PLACA
PROFIBUS
PL...
155 156
ENDEREÇAMENTO DAS ENTRADAS DIGITAIS
157
STATUS PROFIBUS
158
COMUNICAÇÃO EXCEL X INTOUCH
Considerações iniciais
O Projeto de nível que será utilizado pelo into...
159
- Estabelecer, no menu Configure, o Topic Name = abc no simulate.
abc = É um nome qualquer, deve ser o mesmo nome no T...
161
- Liga /desliga = start (I/O discrete).
- Topic Name = abc, pois caso seja outro nome, a comunicação no simulate
não é...
163
Excell x Intouch KEPSERVER
Comunicação entre o Excel e o Intouch, usando o drive de comunicação
do CLP FPO - C32T da K...
165 166
Abrindo qualquer executável
C: Arquivos de prgramasmicrosoft Officeofficedexcel
Abrir o Excel
C: Arquivos de prgra...
167
Control Name
Usado para fazer seleção de uma lista de opções.
O nome do Control Name não influencia pode permanecer.
C...
169
Para dá sentido ao tipo de seleção ( 1 a 5) devemos associar a tagname inteira
sel ao tipo de veículo escolhido; ou se...
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
27817833 apostila-de-sistema-supervisorio-intouch
Próximos SlideShares
Carregando em…5
×

27817833 apostila-de-sistema-supervisorio-intouch

608 visualizações

Publicada em

dgd

Publicada em: Educação
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
608
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
38
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

27817833 apostila-de-sistema-supervisorio-intouch

  1. 1. 1 SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA CEFETES - SERRA COORDENADORIA DE AUTOMAÇÃO INDUSTRIAL Intouch SEBASTIÃO ALVES CARNEIRO Serra – ES 2007/1 2 VERSO
  2. 2. 3 SUMÁRIO INTRODUÇÃO 4 SISTEMA SUPERVISÓRIO 5 FUNCÕES BÁSICAS DE UM SUPERVISÓRIO 6 TIPOS DE SUPERVISÓRIOS 8 REPRESENTANTES NO BRASIL 10 INSTALANDO OS SUPERVISÓRIOS NO COMPUTADOR 10 INSTALAÇÃO 10 ACESSANDO O INTOUCH 11 CRIANDO UMA NOVA APLICAÇÃO 11 CARREGANDO UMA APLICAÇÃO JÁ EXISTENTE 14 DESCRIÇÃO DAS FERRAMENTAS 21 DESCRIÇÃO DOS ÍCONES 21 CRIAÇÃO DE PROJETOS NO WINDOWMAKER 25 JANELAS/TELAS 25 OBJETOS DE TELA 28 TAGNAMES ( TAG'S) 30 ANIMANDO OS OBJETOS 31 PRENCHIMENTO DE OBJETOS - PERCENTIL FILL 33 VISUALIZAÇÃO DE VARIÁVEIS - VALUE DISPLAY 35 DIMENSÕES DE OBJETOS - (OBJECT SIZE) 38 DESLOCAMENTO DE OBJETOS (LOCATION) 41 TOUCH LINKS 45 BOTÕES-TOUCH PUSHBUTTONS-ACTION 53 PRIMEIRA AÇÃO- ACTION 1: ON KEY DOWN 53 SHOW WINDOW -TOUCH PUSHBUTTONS- NAVEGANDO ENTRE TELAS 57 HIDE WINDOW -TOUCH PUSHBUTTONS- FECHANDO TELAS 59 MISCELLANEOUS-ANIMAÇÕES ADICIONAIS 60 DISABLE – DISPONIBILIDADE DE OBJETOS 68 PLAYSOUND-SOM 70 SYMBOL FACTORY 70 PROGRAMANDO – SCRIPTS 73 COMANDOS DE PROGRAMAÇÃO 84 OPERADORES FUNCIONAIS 84 OPERADORES RELACIONAIS NA COMPARAÇÃO 85 DESVIO OPERADORES COMPOSTOS IF...THEN...ELSE 86 IMPORTAR NO INTOUCH 90 DELETAR TAG 95 ALARMES 97 PRIORIDADES 98 PROJETO ABORDANDO PRIORIDADES 104 TENDÊNCIA REAL 106 USUÁRIOS 112 CRIANDO NOVOS USUÁRIOS 112 TENDÊNCIA HISTÓRICA 118 NOMEIAR AS TAGNAMES TIPO TREND 119 NOMEIAR AS PENAS 120 IMPRIMIR O GRÁFICO TENDÊNCIA TREND 126 CHECKBOX – BOTÕES ESPECIAS DE OPÇÃO 127 SOMA DE STRINGS 131 COMUNICAÇÃO 131 ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS DIGITAIS 131 ENDEREÇAMENTO DE RELÉS ESPECIAIS 132 ENTRADAS E SAÍDAS ANALÓGICAS- EXPANSÃO 1 142 ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS ANALÓGICAS - EXPANSÃO 1 142 LIGAÇÃO DAS ENTRADAS E SAÍDAS ANALÓGICAS 144 RELAÇÃO ENTRE EU E RAW 145 SAIDAS ANALÓGICAS 147 REDE PROFIBUS - FMS E ETHERNET DO LABORATÓRIO DE CONTROLE DE PROCESSOS 150 CONFIGURAÇÃO FÍSICA DA REDE 150 CONFIGURAÇÃO DOS PARAMETROS 150 COMUNICAÇÃO CLP SIEMENS 153 COMUNICAÇÃO EXCEL X INTOUCH 158 CONTROL NAME 167 EXERCÍCIOS 171 ANEXOS 188 4 INTRODUÇÃO A maior preocupação das empresas é aumentar a produtividade, com excelente qualidade, para tornar-se mais eficaz, flexível, competitiva e, sobretudo, mais lucrativa. Desse modo, investir em tecnologias de ponta e soluções sofisticadas é o primeiro passo para alcançar esse objetivo e, conseqüentemente, conquistar o mercado. Com o passar dos tempos, o advento do microprocessador tornou o mundo mais fácil de se viver. A utilização de microcomputadores e computadores no dia a dia nos possibilitou comodidade e rapidez. Na indústria tem-se a necessidade de centralizar as informações de forma a termos o máximo possível de informações no menor tempo possível. Embora a utilização de painéis centralizados venha a cobrir esta necessidade, muitas vezes a sala de controle possui grandes extensões com centenas ou milhares de instrumentos tornando o trabalho do operador uma verdadeira maratona. O sistema supervisório veio para reduzir a dimensão dos painéis e melhorar o performance homem/máquina. Baseados em computadores ou microcomputadores executando softwares específicos de supervisão de processo industrial o sistema supervisório tornou-se a grande vedete da década de 80. O supervisório é um software destinado a promover a interface homem/máquina, onde proporciona uma supervisão plena de seu processo através de telas devidamente configuradas. Possui telas que representam o processo, onde estas podem ser animadas em função das informações recebidas pelo CLP, controlador, etc. Por exemplo: no acionamento de uma bomba, a representação na tela mudará de cor informando que está ligada, um determinado nível varia no campo, a representação na tela mudará de altura informando a alteração de nível. O que o supervisório fez foi ler e escrever na memória do CLP ou controlador para a atualização das telas. Quando falamos de supervisão temos a idéia de dirigir, orientar ou inspecionar em plano superior. Através do sistema supervisório é possível de ligar ou desligar bombas, abrir ou fechar válvulas, ou seja, escrever na memória do CLP. Para a comunicação entre supervisório e CLP necessitamos de: - Hardware : é utilizada uma via de comunicação, que pode ser uma porta serial, uma placa de rede, etc; - Software : para comunicação é necessário que o driver do equipamento esteja sendo executado simultaneamente com o supervisório. O driver é um software responsável pela comunicação, ele possui o protocolo de comunicação do equipamento.
  3. 3. 5 A instalação de um sistema automático com o uso de I/O locais, requer um gasto considerável de cabeamento, borneiras, caixas de passagem, bandejas, projeto e mão-de- obra para a instalação. Os blocos I/O remotos possibilitam uma redução drástica destes gastos, uma vez que todos os sinais não serão encaminhados para o rack do CLP e sim para pontos de entradas e saídas que ficarão localizados no campo. Este módulos de I/O são inteligentes, independentes e configuráveis. Interligados entre si através de um barramento de campo, e este a um controlador de barramento que fica localizado no rack do CLP. SISTEMA SUPERVISÓRIO É um conjunto de softwares que se destina à criação de telas gráficas de interação. É uma das IHM mais simples de ser configurada. Apresenta: Boa configuração Bom desenho Boa biblioteca Linguagem orientada ao objeto 6 Tem as seguintes características: Software aplicativo em um pc convencional. Aplicações para monitoração, supervisão, obtenção de dados e rastreamento de informações do processo produtivo. Visualização em telas animadas que representam o processo a ser controlado. Indicação instantânea das variáveis de processo (vazão, temperatura, pressão, volume, etc). Propicia o controle de processo que garante a qualidade do produto. Facilitam movimentação de informações para gerenciamento e diretrizes. Possibilita a interação no processo (ihm - interface homem-máquina ou mmi – man- machine interface). FUNCÕES BÁSICAS DE UM SUPERVISÓRIO Aquisição de dados Retirada de informações do processo através da conexão que o computador tem com o clp, controlador do processo. Gerenciamento de dados Apresentação, em tempo real de execução, dos dados do processo (telas, relatórios, históricos, etc). Definições: Monitoração: exibir os dados básicos em tempo real. Supervisão: possibilitar alteracões e solicitacões de processo. Alarmes: reconhecimento de eventos excepcionais e relatá-los. Controle: capacidade de ajuste de valores do processo. INTERFACE HOMEM-MÁQUINA – (IHM) Vamos discutir sobre supervisão e controle, a começar pelas Interfaces Homem- Máquina (IHM). Como forma de dotar um sistema automatizado com maior grau de flexibilidade e produtividade, as IHMs( Interfaces Homem-Máquina) vêm cada vez mais se fazendo presente no dia-a-dia. Como substituição aos antigos painéis de operação, essas interfaces dotadas de tela gráfica colorida e teclado/mouse conferem ao sistema melhores condições para o controle e supervisão do extenso número de variáveis existente num processo produtivo. Em geral, as IHMs são atualmente disponíveis em duas principais opções básicas: Hardware específico do fabricante do PLC. Software supervisório executado em computador. Enquanto a primeira opção apresenta vantagem de ser um dispositivo totalmente integrado ao PLC adotado e, via de regra, de possuir elevado índice de adaptação ao ambiente industrial, tem, entretanto, o inconveniente de ser utilizada apenas com os equipamentos disponíveis pelo fabricante adotado.
  4. 4. 7 Já nos casos dos Softwares Supervisórios, dão ao projetista uma ampla gama de comunicação com os mais diversos tipos de marcas e modelos de equipamentos disponíveis no mercado. Como normalmente são executadas em computadores, suas utilizações no chão de fábrica, poderá implicar no uso de computadores industriais, os quais têm maiores garantias de proteção ao ambiente industrial, mas, conseqüentemente, maiores custos. A escolha de uma ou outra forma de IHM a ser adotada dependerá tipicamente de fatores resultantes de uma análise entre ambas de custo versus benefício, e as exigências de cada sistema poderão, em última análise, descartar o uso de uma delas. Independente da forma de hardware adotada, as IHMs podem possuir recursos que tornam seu uso altamente atrativo. Alguns desses recursos são, a seguir, comentados. INTERFACES GRÁFICAS DOS USUÁRIOS Por meio da visualização gráfica em cores e com alta definição, torna-se muito mais prático e rápido ao operador obter informações precisas a respeito do status do processo. Em vez de um simples piscar de lâmpadas (como ocorria nos painéis de comando e quadros sinóticos), o operador tem uma melhor visualização quando efetivamente enxerga o abrir de uma válvula, o ligamento de um motor, ou outra informação do processo de maneira visual. Nesse tipo de visualização, faz-se uso extensivo de informações por cores e textos, podendo-se também dispor de elementos animados graficamente. Na elaboração de uma GUI (Interface gráfica), o projetista pode lançar mão da representação de painéis sinóticos, já familiares aos operadores, ou que expressem um fluxo de produção, ou layout dos equipamentos da planta, ou o Grafcet de controle seqüencial, ou ainda outra organização gráfico-lógica que expresse adequadamente a planta a ser supervisionada. ARMAZENAMENTO DE RECEITAS O elo de comunicação entre a IHM e o PLC (ou outro equipamento de controle monitorado) normalmente se dá por meio de um protocolo de comunicação específico que reproduz na IHM as variáveis do processo, que agora se denominam tag. Assim, uma Tag representa, em última análise, uma variável na IHM que pode ser do tipo discreta, numérica ou alfanumérica. Devido a bidirecionalidade do sentido de comunicação entre PLC e IHM, uma Tag pode tanto monitorar o status do controlador, como também enviar valores (ou setpoints – valores predefinidos) a ele. Um recurso interessante disponível nas IHMs é o armazenamento de conjuntos de setpoints, gravados em arquivos que, ao serem enviados ao controlador, definem as diversas parametrizações do sistema, ou receitas de produção. Assim, torna-se possível, por exemplo, alterar rapidamente a produção de um determinado tipo de peça para um outro tipo, ao simples enviar de um único comando por parte do operador. ALARMES E EVENTOS As IHMs podem liberar a CPU do controlador da monitoração de situações anômalas do processo pela geração de sinais de alarme. Tal procedimento é feito pela constante monitoração das Tags suscetíveis a falhas por parte da IHM que podem, inclusive, ter a 8 vantagem de, em ocorrências, sugerir ao operador que providências devem ser tomadas diante do defeito ocorrido. Em situação similar, a IHM pode simplesmente alertar o operador sobre a troca de situação do processo, por meio da geração de sinais de eventos que são obtidos pela monitoração das variáveis pertinentes. Esses recursos por si mesmo já justificariam o uso de uma IHM. Porém, mais do que isto, em grande parte dos casos, permitem ainda o registro histórico (pelo armazenamento de dados) dos eventos e alarmes, de forma a permitirem posterior a análise de ocorrências pela equipe de engenharia de processo, permitindo a obtenção de dados para controle estatístico, bem como de análise históricos para consulta, plotagem e diversos outros tipos de relatório e gráficos de tendência. É exatamente por intermédio de arquivos de receitas, histórica, linguagem de programação interativa (scripts), entre outros, que os softwares de supervisão e controle devem se comunicar com diferentes tipos de bancos de dados, tal que lhe possibilitem enviar ou receber informações geradas para o chão de fábrica. Isto é possível por meio da ferramenta ODBC (Open Data Base Connectivity) que permite enviar informações vindas da rede corporativa automaticamente para o processo. Outras tecnologias estão facilitando e aumentando a eficiência, o grau de flexibilidade e de controle do processo fabril, pelos sistemas de supervisão, como, por exemplo, a tendência da engenharia de software de desenvolvimento de programas componentizados (módulos que se integram perfeitamente com todo o sistema); recursos de captura, registro e transmissão digital de imagens em tempo real; sistemas de supervisão, gerenciamento e distribuição de informações por meio da Internet; entre outros. COMUNICAÇÃO Quando implementada em ambiente de rede industrial, a IHM pode apresentar a vantagem de poder estar localizada em um ponto distante do processo. Neste caso, diz-se que ela tem operação remota. A presença de ambiente de comunicação entre elementos de controle e monitoração é atualmente uma tendência que traz vários benefícios ao sistema produtivo. Para um nível mais superior da hierarquia de controle, as IHMs podem permitir a comunicação com outros computadores de forma a possibilitar formas dinâmicas de dados pela integração com sistemas de bancos de dados. É principalmente por meio do protocolo TCP/IP que tais recursos de comunicação estão implementados. Quando a IHM é implementada em computadores (como nos supervisórios), torna-se possível, inclusive, a conexão do sistema a redes do tipo coorporativas, internet, e outras, configurando-se assim como um forte esquema de distribuição de informações acerca do processo. DRIVER – Programa tradutor do software do supervisório para o CLP. TIPOS DE SUPERVISÓRIOS Fix (Intellution) Wizcon Operate it (ABB) RSView (Rockwell – Allen Bradley) Unisoft Elipse (nacional)
  5. 5. 9 Gênesis WinnCC Citect FactoryLink Cimplicity Intouch (Wonderware) SUPERVISÓRIO ELIPSE SUPERVISÓRIO ELIPSE é constituído por três versões distintas indicadas segundo as necessidades do usuário: SUPERVISÓRIO ELIPSE VIEW, SUPERVISÓRIO ELIPSE MMI e SUPERVISÓRIO ELIPSE PRO. www. elipse.com.br Porto Alegre: (051) 222-6226 São Paulo: (011) 3061-2828 SUPERVISÓRIO INTOUCH Modos do INTOUCH: DESENVOLVIMENTO – “WINDOW MAKER” – CRIACÃO DAS APLICACÕES E JANELAS, E EDICÃO DAS ANIMACÕES. EXECUCÃO – “WINDOW VIEWER” – EXECUTA A PRODUCÃO DO WINDOW MAKER. HISTÓRICO A WonderwareMR Corporation, com sua central em Irvine, Califórnia, foi estabelecida em abril de 1987, para desenvolver e comercializar produtos de software de interface homem-máquina (HMI) para uso em computadores IBM PC e compatíveis, em aplicações para automação industrial e de processo, sendo hoje líder de mercado nesse segmento. As metas de projeto dos fundadores foram: criar ferramentas gráficas orientadas a objetos para aderir estreitamente ao padrão Microsoft Windows e oferecer facilidade de uso, sofisticados recursos gráficos e de animação e, ao mesmo tempo, o desempenho do produto, a qualidade e a confiabilidade, que antes não se encontravam disponíveis em produtos IHM. Como pioneira no uso do Windows na área de automação industrial, Desde o lançamento, em 1989, do seu principal produto IHM, o InTouch, a partir do início de 1993, quando outros fornecedores começaram a oferecer produtos IHM baseados no Windows, a Wonderware iniciou um programa para desenvolver e oferecer produtos complementares ao InTouch que permitissem aos usuários realizar tarefas adicionais na automação. Já em 1996, a Wonderware tinha crescido e se transformado, passando de uma empresa de basicamente um só produto para um fornecedor de uma grande variedade de produtos compatíveis, baseados no Windows, para aplicações que incluíam IHM, administração de recursos e trabalho em processo (WIP), rastreamento, controle de bateladas, controle baseado em PC, gestão de dados em tempo real, ferramentas para a visualização de aplicações remotas e o maior grupo de servidores de E/S da indústria para interface com dispositivos da área de produção da planta. 10 Em 1997, passou a oferecer toda sua linha de produtos como um só conjunto de ferramentas, chamado Wonderware FactorySuite. Este conjunto de produtos foi modelado com base no conceito do MicrosofteOffice, uma suite de programas para automação de escritório. Isto proporcionou o primeiro conjunto integrado de programas aplicativos da indústria para o desenvolvimento de quase qualquer aplicação nas indústrias da manufatura, de processo contínuo e na produção de bateladas. REPRESENTANTES NO BRASIL SCAN AUTOMAÇÃO LTDA SP-SP TEL 11 30340824 FAX 11 30340804 VENDAS@ SCANSOFT.COM.BR WWW. SCANSOFT.COM.BR IMPORTANTE: Todo o desenvolvimento deste livro, daqui para frente, será feito utilizando o supervisório INTOUCH. INSTALANDO OS SUPERVISÓRIOS NO COMPUTADOR Normalmente os supervisórios requerem a seguinte configuração mínima: 80486DX4 ou superior (Pentium recomendado). 16MB de memória RAM (32MB recomendada). Um monitor VGA. 10Mb de espaço livre em disco. Microsoft Windows 3.1, Microsoft Windows for Workgroups 3.11, Microsoft Windows’95 ou Microsoft Windows NT. Porta paralela. INSTALAÇÃO - Insira o Hardkey (dispositivo de proteção) na porta paralela do seu computador, se já existir uma impressora nesta porta coloque primeiro o Hardkey e conecte a impressora no mesmo. Insira o CD ROOM no drive do seu PC; - Inicie o Windows 3.x e execute o comando Executar (Run) do menu Arquivo (File). Se você estiver usando o Windows 95 selecione o comando Executar (Run) a partir do botão Iniciar (Start). - Digite D:INSTALL e clique OK, onde “D” corresponde ao seu drive. Siga as instruções que aparecem na tela. Se houver mais de um CD de instalação uma mensagem irá aparecer pedindo que você insira o respectivo disco. Uma mensagem “Instalação Completa” irá aparecer quando a instalação for bem sucedida. Um grupo de programas será criado no seu Windows, contendo os ícones do programa.
  6. 6. 11 A - ACESSANDO O INTOUCH - Carregue o aplicativo InTouch, dando um duplo click no ícone localizado no desktop - O gerenciador de aplicativos do InTouch será aberto com as últimas aplicações abertas A.1- CRIANDO UMA NOVA APLICAÇÃO - Na barra de menu File, escolha a opção New, A tela cria nova aplicação aparecerá, conforme a seguir: 12 - Pressione Avançar IMPORTANTE: 1) Toda aplicação nova, caso você não mude, será salva no seguinte diretório: C:Arquivos de programasFactorySuiteInTouchNewApp 2) Caso deseje salvar em outro diretório, basta clicar no botão ao lado Browse e selecionar nova basta com o diretório desejado. Exemplo, desejo que nova aplicação esteja armazenada em C:seba 1- Seleciono o Browse
  7. 7. 13 2- Na Opção Examinar seleciono o diretório que desejo criar minha nova aplicação 14 2- Pressiono o ícone nova pasta 3- Altero o nome pasta nova para o nome da aplicação desejada, para o nosso exemplo seba A.2- CARREGANDO UMA APLICAÇÃO JÁ EXISTENTE Se desejar entrar num projeto já existente, entre em Tools/Find Aplications... e através do browse, localize em que diretório o projeto se encontra e dê um duplo click, o mesmo deverá aparecer na relação de projetos já abertos. Selecione, na lista de projetos já abertos, o projeto desejado e dê um duplo click, assim você entrará no ambiente de construção de projetos de supervisão chamado WindowMaker
  8. 8. 15 16 - Pressione o botão OK B - WindowMaker - Ambiente de Construção de Projetos de Supervisão Industrial A Ilustração a seguir mostra a tela principal do WindowMaker quando uma aplicação está aberta, identificando seus elementos. Quando não existe uma aplicação aberta à tela apresenta menos opções na Barra de menu e na Barra de Ferramentas, mas o seu layout permanece o mesmo.
  9. 9. 17 B.1 A Barra de Título mostra o path e o nome de sua aplicação, bem como o título da tela corrente que está sendo mostrada na área de trabalho. B.2 A Barra de Ferramentas permitem que você execute determinadas tarefas rapidamente sem usar os menus, desta forma você pode criar Objetos de Tela simplesmente pressionando um botão. B.3 A Barra de Telas mostra o título da tela corrente e permite que você alterne entre uma tela e outra simplesmente selecionando o seu nome na lista da combobox. B.4 A Barra de Status mostra informações de ajuda a respeito da área da tela sobre a qual está o ponteiro do mouse. B.5 A Área de trabalho é usada para editar as telas e os relatórios de sua aplicação. 18 Menu do Window Maker File COMANDO TECLAS DE ATALHO AÇÃO New Window... Ctrl+N Cria uma nova janela (janela em branco). Open Window... Ctrl+O Abre uma aplicação já existente, através de um dialog-box Save Window... Ctrl+S Salva a aplicação corrente, através de um dialog-box Close Window... Fecha a aplicação corrente, através de um dialog-box Delete Window... Apaga a(s) tela(s), através de um dialog-box. Save Window As... Salva janela aberta com outro nome. Save All Windows Salva Todas as Janelas. WindowView.. Executa(Run) a aplicação corrente. Print... Opções para imprimir, através de um dialog-box. Export Window... Exportar a janela da aplicação corrente para outra, através de um dialog- box. Import... Importa a janela de outra aplicação, através de um dialog-box. Exit Sai do Supervisório Edit COMANDO TECLAS DE ATALHO AÇÃO Undo Create Ctrl+Z Desfaz a última ação. Nothing to Redo Ctrl+Y Refaz a última ação. Duplicate Ctrl+D Duplica o(s) objeto(s) selecionado(s). Copia o(s) objeto(s) selecionados (s) para oCut Ctrl+X Clipboard e apaga-o(s) janela. Copy Ctrl+C Copia o(s) objeto(s) selecionado (s) para o Clipboard. Paste Ctrl+V Insere o(s) objeto(s) do Clipboard na janela. Erase Del Elimina o(s) objeto(s) selecionado(s). Impot Image Paste Bitmap Size Insere bitmap do Clipboard na janela Bitmap Original Size Coloca bitmap no tamanho original. Edit Bitmap Select All F2 Seleciona todos os objetos da janela. Links Mostra menu de Links Cut Links Copia todas as animações do objeto selecionado para o Clipboard e apaga-as. Copy Links Copia todas as animações do objeto selecionado para o Clipboard. Paste Links Copia as animações do Clipboard para o(s) objeto selecionado(s). Clear Links Elimina todas as animações do(s) objeto(s) selecionado(s). Enlarge Radius Shift+Mais Aumenta o raio do (s)objeto(s) selecionado(s). (retângulo com bordas arredondadas) Reduce Radius Shift+Menos Reduz o raio do(s) objeto selecionado(s) (retângulo com bordas arredondadas). Reshape Object Ctrl+R Permite redesenhar o objeto selecionado. (polígonos e linhas múltiplas). Add Point Adiciona pontos a polígonos e linhas múltiplas. Del Point Elimina pontos de polígonos e linhas múltiplas. Arrange
  10. 10. 19 COMANDO TECLAS DE ATALHO AÇÃO Send to Back F9 Posiciona o(s) objeto(s) selecionado(s) atrás de todos os outros objetos da janela. Bring to Front Shift+F9 Posiciona o(s) objetos selecionados na Frente de todos os outros objetos da janela. Align Mostra menu de alinhamento. Align Left Ctrl+F3 Alinha os objetos selecionados à esquerda. Align Center Ctrl+F5 Alinha os objetos selecionados ao centro (vertical) Align Right Ctrl+F7 Alinha os objetos selecionados à direita. Align Top Ctrl+F4 Alinha os objetos selecionados no topo. Align Middle Ctrl+F6 Alinha os objetos selecionados ao centro (horizontal). Align Bottom Ctrl+F8 Alinha os objetos selecionados na base. Align Center Points Ctrl+F9 Alinha o ponto central dos objetos selecionados. Space Horizontal Crtl+H Espaça horizontalmente os objetos selecionados. Space Vertical Espaça verticalmente os objetos selecionados. Rotate Clockwise F6 Gira o(s) objeto(s) selecionado(s) 90 graus no sentido horário. Rotate CouterClockwise Shift+F6 Espelha o(s) objeto(s) selecionado(s) na horizontal. Flip Horizontal F7 Flip Vertical Shift+F7 Espelha o(s) objeto(s) selecionados na vertical. Make Symbol F5 Agrupa os objetos selecionados como símbolo. Break Symbol Shift+F5 Desagrupa o símbolo. Make Cell F3 Agrupa os objetos selecionados. Break Cell Shift+F3 Desagrupa os objetos selecionados. Snap to Grid Coloca/Retira o Grid. Text COMANDO TECLAS DE ATALHO AÇÃO Fonts... Mostra dialog-box para seleção de fonte. Bold Seleciona negrito/não negrito. Italic Seleciona modo itálico/não itálico. Underline Seleciona modo grifado/não grifado. Left Justified Alinha texto à esquerda. Centered Centraliza o texto. Right Justified Alinha o texto à direita. Enlarge Font Ctrl+Mais Aumenta o tamanho da fonte. Reduce Font Ctrl+Menos Reduz tamanho da fonte. Special 20 COMANDO TECLAS DE ATALHO AÇÃO Security Seleciona comandos referentes à segurança. Animation Links Ctrl+A Mostra dialog-box para animação do objeto selecionado. Substitute Tags... Ctrl+E Troca nome(s) do(s) tag(s) do(s) objeto(s) selecionado(s). Substitute Strings... Ctrl+L Troca conteúdo do(s) string(s) selecionado(s). Tagname Dictionary Ctrl+T Acesa o dicionário de dados. Alarm Groups... Cria ou modifica grupos de alarme. Access Names... Cria ou modifica grupos DDE. Cross Reference Notify Clients Configure... Mostra dialog-box para configuração. Update Use Counts ... Atualiza contadores de tags. Delete Unused Tags ... Mostra dialog-box para eliminar tags não utilizados Scripts Mostra menu dos possíveis scripts. Scripts Aplication Scripts... Permite editar script da aplicação. Window Scripts Permite editar script da janela Key Scripts... Permite editar script associado a uma tecla. Condition Scripts Permite editar script associado a tag ou expressão Data Change Scripts ... Permite editar script associado à mudança de valores de tags. TemplateMaker SPC SQL Access Manager Menu Ajuda (Help) COMANDO Ação Index Mostra o índice do Help. Using Help Explica como o Help deve ser usado. About Supervisório Windows Mostra informações a respeito do Supervisório Windows, como número da versão e direitos de cópia. View
  11. 11. 21 COMANDO TECLAS DE ATALHO AÇÃO General Toobar Vizualiza a Barra de Ferramenta Geral Wizards/AxtiveX Toobar Vizualiza a Barra de Ferramenta Wizard Format Toobar Vizualiza a Barra de Ferramenta formatação Draw Object Toobar Vizualiza a Barra de Ferramenta Desenho View Toobar Vizualiza a Barra de Ferramenta Visual Arrange Toobar Vizualiza a Barra de Ferramenta arranjos Status Toobar Vizualiza a Barra de Ferramenta Status Ruler Vizualiza a Barra de Ferramenta Régua Application Explorer Vizualiza a Barra de Ferramenta Explorer Hide All Esconde todas as barras de ferramentas com exceção da barra de menu e barra de Título. Full Screen Esconde todas as barras de ferramentas inclusive a barra de menu E Titulo. Runtime! Transfere rapidamente do Window Maker para o Window Viewer. Todas as alterações feitas nas janelas abertas no Window Maker serão salvas antes da transferência para o Window Viewer (não pede confirmação!). Descrição das ferramentas A seguir serão descritas as ferramentas que compõem o ambiente de trabalho do WindowMaker. DESCRIÇÃO DOS ÍCONES Ícone Descrição Seleção de objetos, multiplos ou específicos com a tecla SHIFT acompanhada. Retângulo Retângulo com bordas arredondadas Elipse Linha 22 Linha vertical ou horizontal Seqüência de linhas Polígono Texto Importação de bitmap Gráfico de Tendência Real Gráfico de Tendencia Histórica Botão Seleciona e altera tipo de fonte. Altera fonte do texto selecionado para formato Bolbo Altera fonte do texto selecionado para Itálico Altera fonte do texto selecionado para Sublinhado Diminui tamanho da fonte do texto selecionado quando a mesma é tipo True Type (TT) Aumenta tamanho da fonte do texto selecionado quando a mesma é tipo True Type (TT) Alinha texto a esquerda Centraliza texto Alinha texto a direita Altera cor de linha do objeto selecionado Altera cor de enchimento do objeto selecionado. Altera cor da fonte selecionada Altera cor da janela Altera trasparencia Habilita/Desabilita explorer do Intouch Hide/Show todas as ferramentas Mostra janela editada em formato full screen Habilita/Desabilita grade da janela editada
  12. 12. 23 Habilita /Desabilita régua do WindowMaker Cria nova janela Abre janela Fecha janela Salva janela corrente para o disco Salva todas as janela para o disco Duplica objeto selecionado Recorta Copia para área de transferência Cola da área de transferência Retorna ação Avança ação retornada Imprime Alinha objetos selecionados à esquerda Alinha objetos selecionados no meio horizontal Alinha objetos selecionados à direita Alinhamento superior de objetos selecionados Alinhamento no meio vertical de objetos selecionados Alinhamento inferior de objetos selecionados Alinhamento central de objetos selecionados Enviar para trás Trazer para frente Espaçamento horizontal igual Espaçamento vertical igual Agrupara em símbolo Desagrupar símbolo 24 Agrupar célula Desagrupar célula Girar 90 graus sentido horário Gerar 90 graus sentido anti-horário Espelhar horizontal Espelhar Vertical Selecionar Wizard, objetos previamente editados e configurados.
  13. 13. 25 3- Criação de Projetos no windowmaker Todos os projetos são desenvolvidos dentro de Janelas/telas que estão ligadas entre si. 3.1 Janelas/telas Uma janela(window) ou tela, como iremos chamar daqui para frente, pode ser definida como o ambiente de fundo onde será feito toda a construção do processo a ser monitorado. Um processo/aplicação pode ter um número ilimitado de telas. Uma tela pode ser criada, pressionando o botão Nova Tela (New Window...) na barra de ferramentas ou usando o comando Novo (New) no menu File. A seguinte janela de propriedades irá surgir: Figura 3.1 Janela de Propriedades de Telas Novas Onde: Name: Nome da tela. Deve refletir a finalidade a ser visualizada no processo. Comment: Comentário sobre a tela a ser criada. Windows Type: Tipos de telas. •Replace: Tela de sobreposição, apaga as telas do fundo •Overlay •Popup: Tela de superposição, não apagar as telas do fundo. Frame Style: Estilo das brodas • Single:borda simples • Doublé:borda dupla OBS.: Na opção Title Bar ativa, somente a borda simples (single) é disponibilida. Title Bar: opção de aparecer o nome da tela – se estiver inativa, não terá como mudar a posição da tela. 26 Size controls: opção de redimensionar o tamanho da tela. Window Color: cor de fundo da tela. Dimensions X Location: localização do canto superior esquerdo da tela (Ex.: 04) Y Location: localização vertical do canto superior esquerdo da tela (Ex.: 04) Window Width: largura da tela em pixels (Ex.: 632) Window Height: altura da tela em pixels (Ex.: 278) No momento somente o nome da tela é importante. Digite um nome qualquer ( Ex.: Minha Primeira Tela) e click em ok. A seguinte tela irá surgir: Figura 3.2 Primeira Tela Criada Você poderá criar dentro desta tela seus desenhos (bitmaps) em qualquer tamanho e cores que desejar, Lembrando que este desenho deverá refletir o processo industrial que se deseje monitorar. Para visualizar ou editar as propriedades da tela corrente dê um click no botão direito do mouse e pressione em Window Properties... e a janela de propriedade retornará como na Figura 3.1 Exemplo: Desejamos criar uma tela com as seguintes características: Nome da tela: Tela Nova. Fundo: cinza. Tipo de Tela: Replace. Localização X: 50 pixel’s. Localização Y: 100 pixel’s.
  14. 14. 27 Largura da tela: 600 pixel’s. Altura da tela: 300 pixel’s. Borda: Simples. Solução: Na barra de Menu em File / New Window... abra a janela de propriedades a seguir: Figura 3.3 Exemplo de Propriedades de uma nova tela a ser criada Resultado: Figura 3.2 Exemplo de uma Nova Tela Criada 28 3.2 Objetos de Tela São inseridos sobre os bitmaps e desta forma podem ser deletados, copiados, movidos e redimensionados sem mudanças na tela de fundo. Objetos de Tela são elementos gráficos usados para mostrar os valores da Tag de uma forma mais atraente. Os Objetos de Tela podem ser criados a partir da barra de ferramentas. Uma vez selecionado o objeto que se deseja criar mantenha o botão esquerdo do mouse pressionado na área da tela enquanto movimenta o mouse (um retângulo pontilhado mostra o tamanho e a forma do objeto). Ao soltar o botão o objeto será posicionado dentro da área especificada. Os seguintes objetos podem ser criados: · Primitivas do Editor Gráfico (Retas, Círculos, Retângulos, Polígonos, etc..); · Controles (Alarmes, Históricos, etc); · Imagens não vetoriais (Arquivos BMP, JPG, GIF, etc...). · Imagens vetoriais (Arquivos WMF, EMF, etc). · Controles Padrão do Windows (Lista, Editor de texto, Lista de seleção, etc.). . Bibliotecas fornecidas por terceiros. 3.2.1 Ícone de Seleção de Objetos Ícone Descrição Seleção de objetos, multiplos ou específicos com a tecla SHIFT acompanhada. 3.2.2 Descrição dos Objetos Objeto Descrição Retângulo Retângulo com bordas arredondadas Elipse Linha Linha vertical ou horizontal Seqüência de linhas Polígono Texto
  15. 15. 29 Importação de bitmap Gráfico de Tendência Real Gráfico de Tendencia Histórica Botão 3.2.3 Objetos Adicionais – Wizard Mais objetos podem ser selecionados através do Wizard Selecionar Wizard, objetos previamente editados e configurados. Objetos Wizard: Buttons – Botões Clocks – Relógio Frames – Contornos Lights – Lâmpadas Meters – Medidores UV Panels – Painéis Runtime Tools - Ferramentas Sliders – Variadores deslizantes Switches - Chaves Text Displays – Visualizadores de texto Trends - Históricos Value Displays – Vizualizadores de Grandezas Windows Controls: - Controladores Windows 3.2.4 Edição dos objetos A edição dos objetos na Tela, como alinhamento, tamanho, posição e agrupamento são feitos através da barra de ferramentas Arranjar. O último objeto selecionado fica com o foco para ser usado como referência. 30 Figura 3.2 Objeto Tipo Retângulo Criado 3.3 Tagnames (TAG’S) São todas as variáveis numéricas ou alfanuméricas envolvidas na aplicação. São elas que fazem o elo entre o processo e a animação. O tipo deTag pode ser definido na opção Tipo do Tag (Tag Type) de acordo com a função do Tag. 3.3.1 Criando Tagnames Pode-se criar e editar Tags a partir do menu Special, selecionando a opção Tagname Dictionary, ou mesmo quando na animação de um objeto ou no desenvolvimento do script(fase de programação) uma variável(Tag) for digitada, e ainda não foi definida. Uma tela de alerta irá aparecer informando que a Tag é indefenida e se você deseja defini-lá. 3.3.1 Tipos Tagnames TIPO DESCRIÇÃO EXEMPLO DE APLICAÇÃO Discrete Variável que possui apenas dois níveis, 0 ou 1, ativada ou não ativada, ligado ou não ligada. Bombas, válvulas on/off, lâmpadas, alarmes, etc. Integer Variáveis inteiras, ou seja, números inteiros (conjunto Z) Indicações inteiras, saídas inteiras, etc. Real Variável real, ou seja, conjunto R. Indicações reais, saídas reais, etc. Message Variável alfanumérica acumula números e/ou letras. Informações que podem ser números e/ou letras. Group Var Grupo de variáveis, as variáveis podem ser agrupadas para melhorar a organização ou até mesmo para alarmar em uma janela de alarmes. Alarmes, organização, etc.
  16. 16. 31 Hist Trend Variável do gráfico de tendência histórica. Cada gráfico necessita de uma. O gráfico de tendência histórica é o equivalente ao registrador, com as vantagens da carta não “embolar”, a tinta não “borrar” ou acabar, não ocupar espaço no painel, além de poder ser criado diversas vezes. Gráfico de tendência histórica e wizard. I/O Variável usada para trocar informações com os equipamentos de aquisição de dados, usando drivers de I/O fornecidos pelo fabricante do supervisório de acordo com o tipo do equipamento utilizado. PLC, Controladores digitais, etc Tagnames Internas Existem várias Tagnames já pré definidas pelo intouch para auxiliar o projetista, todas iniciam com o caracter $; exemplo, a tagname $second é igual aos segundos do computador já a a tagname $Month é igual ao mês corrente do computador. Em anexo temos a relação de todas as tagnames. 3.4 Animando os Objetos As animações são os recursos usados para dá “vida” aos objetos. Para isso basta dar um duplo click com o mouse no objeto e a janela auxiliar de animações será mostrada na tela do vídeo. Veja o exemplo a seguir: 32 Há nove possibilidades de animações, que são ser subdivididos, como é vista a seguir: 1) Touch Links – Interação com o usuário através de: Entradas (User Imput) Sliders Ações por botões (Touch pushbottons) 2) Line Color – Coloração de linha. 3) Object Size – Tamanho do objeto. 4) Miscellaneous – Animações de diversas: visibilidade do objeto, pisca, rotação. do objeto e indisponibilidade do objeto. 5) Fill Color – Coloração do obejto. 6) Location – Posicionamento do objeto. 7) Value Display – Valor a ser visualizado. 8) Text Color – Coloração do texto. 9) Percent Fill – Percentagem de preenchimento do objeto. Deve-se observar que de acordo com o objeto algumas opções de animações ficam desabilitadas, já que não fazem sentido na animação.
  17. 17. 33 3.4.1 Prenchimento de Objetos-Percentil Fill Este tipo de animação é utilizado em simulações de prenchimento de objetos, simulando processos industriais, tais como: tanques, escalas termométricas etc. O preenchimento pode ser tanto na horizontal, como na vertical. Exemplo: Iremos simular o preenchimento de um reservatório, na vertical, através da variação da tagname de sistema $second, já que não temos os valores reais dos instrumentos de campo. Condições de preenchimento do reservatório que será simulado pela tag $second:. Para $second=0 o reservatório deve estar vazio; Para $second=59 o reservatório deve estar 100% preenchido; Vejas etapas a seguir de configuração: Etapa 1- Selecione a animação desejada(Percent Fill/Vertical) 34 Etapa 2- Estabeleça as condições de preenchimento Expression: nome da tagname($second) Propertiers Para $second=0 o reservatório deve estar vazio; Para $second=59 o reservatório deve estar 100% preenchido; Logo, para o valor da tagname $second=30 o reservatório estará 50% preenchido e assim sucessivamente. Background Color – Selecione uma cor de fundo diferente da cor do “tanque” para que haja contraste. Direction – up (para cima) Conforme figura a seguir:
  18. 18. 35 Resultado no WindowViewer 3.4.2 Visualização de Variáveis - Value Display Em todo projeto é importante visualizar as variáveis do processo, para que possamos ter uma visão das grandezas envolvidas no processo. Assim como nos painéis elétricos temos voltímetros, amperímetros, wattímetros etc. Desejamos visualizar os segundos do computador, através da tagname $second Etapa 1- Na barra de ferramenta de Desenhos, escolher o ícone Texto e digitar o caracter # no local desejado 36 Caso: a) # - Mostrará apenas a parte inteira da variável. b) #.# - Aparecerá variáveis com uma casa decimal. c) #.## - Aparecerá variáveis com duas casa decimal. Cuidado: O ponto (.),entre os caracteres #, é importante para estabelecer a parte decimal. ###=# (001) é diferente de #.## (0,01) Etapa 2- Selecione a animação desejada(Value Display) que apresenta de três sub- divisões de seleção: Discret, Analog, String. É importante observar que tagname do tipo: Discret apresentam só 2 estados( falso ou verdadeira; 0 ou1, liga ou desliga; etc); Analog são Contínuas, Inteiras ou Reais( tensão,corrente, temperatura, etc); String são do tipo mensagem(nome do operador, etc). A tagname $second é do tipo Analog. EXEMPLOS: - CONFIGURANDO:
  19. 19. 37 -Visualizando a aplicação- Runtime! (WindowViewer): EXEMPLO 2: - Faça a implemetação do seguinte projeto: WindowMaker: Runtime!: 38 VISUALIZANDO HORAS E DATAS a) $TimeString – Representa HH:MM:SS b) $DateString– Representa MM:DD:AA tagnames do tipo string. 3.4.3 DIMENSÕES DE OBJETOS –(OBJECT SIZE) As dimensões (altura(Heigth) e largura(Width)) de um objeto podem ser alteradas(diminuídas) em função da mudança de uma variável. Normalmente esta animação é usada para simular o enchimento de um objeto ou fornecer uma idéia de deslocamento em direção ao operador na frente do vídeo. Exemplo: Iremos simular a diminuição da altura de um reservatório até 10% do seu valor real(100x200 pixels), através da variação da tagname de sistema $second, já que não temos os valores reais dos instrumentos de campo. Condições de diminuição da largura do reservatório que será simulado pela tag $second:. Para $second=0 a altura do reservatório deve ser de 10% do normal; Para $second=59 a altura do reservatório deve ser de 100% do normal; Vejas etapas a seguir de configuração: Etapa 1- Desenhar o objeto em tamanho original (100%) com largura =100 pixels e altura =200 pixels Etapa 2- Utilizar a Tag do sistema $second para alterar a altura (height) do objeto.
  20. 20. 39 Observar que a âncora escolhida é a parte inferior do retângulo, ou seja é a base inferior que será referencia. Properties: 1- Value at Max Height =59 Max % Height = 100 Quando $second=59, o retangulo deve estar com 100 % do seu tamanho. 40 2-Value at Mín Height =0 Mín % Height = 10 Quando $second=0, o retangulo deve estar com 10 % do seu tamanho. - Runtime: Dimensões do objeto p/ $ second =0 . Dimensões do objeto p/ $ second =25.
  21. 21. 41 3.4.4 DESLOCAMENTO DE OBJETOS (LOCATION) O deslocamento vertical e/ou horizontal de um objeto pode ser conseguida em função da mudança de uma variável; para simular o movimento de objeto; como por exemplo: movimento de veículos, movimento de peças numa correia transportadora etc. Exemplo: - Animar o deslocamento do objeto(retângulo), conforme figura a seguir: Deslocamento horizontal: 100 pixel’s. Deslocamento vertical: 200 pixel’s. Intervalo de tempo: 60 s. Não necessita de objeto final 250 450 380 480 Auxilia no posicionamento final 42 - Animar o objeto ( Location: vertical horizontal) - Utilizar a variável de sistema ($second) p/ promover o deslocamento vertical
  22. 22. 43 Quando $second=0, o retangulo deve estar na posição inicial. Ação: (Value – At Top =0) (Vertical Movement - Up=0) Quando $second=59, o retangulo deve deslocasse da posição inicial, para baixo(Down) de 200 pixel’s. Ação: (Value – At Top =59) (Vertical Movement - Down = 200) - Utilizar a variável de sistema ($second) p/ promover o deslocamento horizontal. Quando $second=0, o retangulo deve estar na posição inicial. ou seja sem nenhum movimento à esquerda; Ação: (Value – At Left End =0) (Horizontal Movement – To Left =0) Quando $second=59, o retangulo deve deslocasse da posição inicial, para à direita de 100 pixel’s. Ação: (Value – At Right End =59) (Vertical Movement – To Left =100) 44 -RODANDO(WindowViewer) (Runtime). Posição do objeto p/ $second =13 Posição do objeto p/ $second = 56
  23. 23. 45 3.4.5 TOUCH LINKS Para animarmos os objetos sem utilizar a tagname $second, precisamos saber como fazer para mudar o valor da tagname que está sendo utilizada. Para isso, podemos usar na janela de animações: User inputs, Sliders ou Touch Pushbuttons-Discrete Value, que veremos a seguir: 1- User Inputs Como há 3 tipos de tagnames, também há 3 possibilidades de entradas: discrete, analog, string. INPUT DISCRETE (Tipo: 0/1) Msg to User: Mensagem para o usuário Set Prompt – On: Mensagem que irá aparecer no keypad que ativa a tagname para nivel lógico 1 Reset Prompt – Off: Mensagem que irá aparecer no keypad que ativa a tagname para nivel lógico 0 On Mensage On: Mensagem que irá aparecer no keypad que ativa a tagname para nivel lógico 1 Reset Prompt – Off: Mensagem que irá aparecer no keypad que ativa a tagname para nivel lógico 0 46 -RODANDO(WindowViewer) (Runtime).
  24. 24. 47 2- INPUT ANALOG (Tipo: Real/Contínua) 48 Keypad – Habilita o teclado numérico Msg to user: Título do keypad. Min Value: Valor mínimo do keypad (Ex.:0) Max Value: Valor Máximo do keypad (Ex.:100) - RODANDO-WindowViewer (Runtime). 3- INPUT STRING (Tipo: Mensagens/Nomes) Keypad
  25. 25. 49 Keypad – Ativa teclado Echo Characters – Se desejar que os caracteres sejam mostrados durante a digitação (opção Yes). Quando desejar digitar senhas a opções deve ser No. Após a digitação os caracteres podem ser visualizado pelo operador. Input Only Não permite que após a digitação os caracteres sejam visualizado pelo operador. Ou seja para criar entradas para senhas, duas condições devem ser obedecidas: a) Echo Characters (No) b) Input Only – Ativada 1) Input Discrete Botão x Imput only a) Se Input only (Ativa) “O text continuará” b) Input only (Desativada) O text assume o valor da On message (ligado) ou Off message (desligado) 2) Input Analog Imput Only (Destivada) 50 2- Slider’s Usado para atribuir valores ao tag selecionado, deslizando o botão interno. O valor da tag varia conforme uma escala definida no objeto. Há dois tipos de slider um Vertical e outro Horizontal. Você pode editar as propriedades do Slider dando um duplo click sobre o mesmo. Slider Exemplo de Slider Vertical Iremos ilustrar a configuração do slider através do objeto quadrado, que será o curso, associada a tagname x que deverá variar de 0 a 100 em 200 pixel´s verticalmente, conforme a tela a seguir: Configuração ( WindowMaker).
  26. 26. 51 Clicar no quadrado e abrir a tela de animação. Propriedades: a- Configurando a tag Value: At Top – 100 (valor máximo da tag) At Bottom – 0 (valor mínimo da tag) 52 b- Configurando o deslocamento Up – 200 ( deslocamento em pixels acima) Down – 0 ( deslocamento em pixels abaixo,neste caso nenhum) - RODANDO-WindowViewer (Runtime). 3- Botões-Touch Pushbuttons-Discrete Value Há 5 possibilidades de mudar o valor de uma tag através do toque de um botão.
  27. 27. 53 Tipos: Direct Reverse Toggle Reset Set Função: 4- Botões-Touch Pushbuttons-Action 4.1 Primeira Ação- Action 1: On Key Down Deseja-se que ao pressionar o botão direito do mouse a tagname assuma o valor 1000. 54
  28. 28. 55 Segunda Ação- Action 2: While Down Deseja-se que ao manter pressionado o botão direito do mouse a tagname incremente seu valor de uma unidade a cada 1 segundo (1000 Msec). Nota: Se desejar aumentar ou diminuir o tempo de incremento da tagname X basta alterar o tempo de loop que está em Msec. 56 Terceira Ação- Action 3: On Key Up Deseja-se que ao soltar o botão direito do mouse a tagname assuma o valor zero.
  29. 29. 57 5- Show window -Touch Pushbuttons- Navegando entre Telas Normalmente, em função dos processos industriais serem de grande porte ou o processo precise de uma tela de informação adicional, em uma única tela do monitor do computador seria bastante complicado contemplar todas estas situações; nestes casos é preciso dividir a visualização do processo em mais de uma tela. Surge ai a necessidade de se navegar entre telas ou de determinada tela chamar novas telas. Etapa 1- Devemos criar 2 novas telas ( tela 1 e 2) e nelas inserir um objeto tipo texto que chame a tela desejada. Etapa 2- Com o objeto texto (Vá para Tela 2) selecionado na tela 1. Dê um duplo click e na janela de animações(Touch Pushbuttons) selecione a sub-divisão: Show window (mostrar janela). 58 Etapa 3- Selecione a Tela desejada, neste caso a tela 2 Etapa 2- Repita o processo com o objeto texto (Vá para Tela 1) selecionado na tela 2
  30. 30. 59 Runtime!: Neste caso a tela 2 está ativa e desejamos acessar a tela 1, para isso basta clicar sobre o objeto texto, conforme a seguir: Neste caso, da tela 2 ativo a tela 1 e vice-versa. 5- Hide window -Touch Pushbuttons- Fechando Telas Utilizada quando não se deseja mais que a tela permaneça no vídeo do computador. Pode ser usada em conjunto com a opção show window. Ou seja, a medida que solicito que uma tela seja mostrada outra poderá ser fechada, para melhorar a apresentação. 60 3.4.6 MISCELLANEOUS-ANIMAÇÕES ADICIONAIS Serão apresentadas 4 animações adicionais, que são usadas normalmente para simular processos industriais reais. As animações são: Visibility – Visibilidade Blink – pisca Orientation – Rotação Disable - Disponibilidade 1- Visibility – Visibilidade de Objetos O objeto deverá aparecer ou desaparecer sob determinadas condições. Para ilustrar vamos fazer o seguinte exemplo: O objeto tipo texto 1 só deverá aparecer quando a tagname do sistema $second for menor que 30 s. O objeto tipo texto 2 só deverá aparecer quando a tagname do sistema $second for maior ou igual a 30 s.
  31. 31. 61 Etapa 1 - Selecione a animação - Visibility Etapa 2 - Coloque a condição que se deseja que o objeto 1 fique visível: Repita o mesmo procedimento para o objeto 2, observando que sua condição de visibilidade é $second>=30. 62 -RODANDO-WindowViewer (Runtime). Veja as 2 condições de visibilidades. 1- Condição para $second<30 2- Condição para $second>=30 2- Blink– Piscar de Objetos O objeto deverá piscar sob determinadas condições. Para ilustrar vamos fazer o seguinte exemplo: O objeto tipo texto 1 só deverá piscar quando a tagname do sistema $second for menor que 30 s. O objeto tipo texto 2 só deverá piscar quando a tagname do sistema $second for maior ou igual a 30 s.
  32. 32. 63 Etapa 1 - Selecione a animação – Blink Etapa 2 - Coloque a condição que se deseja que o objeto 1 pisque. 64 Atributos da condição de piscar: a- Blink Invisible – O objeto piscar sem nenhuma animação adicional; ou seja, o objeto desaparece e aparece b- Blink visible with these attributes - O objeto piscar com possibilidade de animação adicional; ou seja: Text Color – Seleciono a cor que o texto deve piscar; [somente para objeto tipo texto] Line Color - Seleciono a cor que o contorno deve piscar; [somente para objeto com contorno ex.: retângulo] Fill Color - Seleciono a cor que o objeto deve piscar. [somente para objeto com contorno ex retângulo] OBS.: Se o texto original é preto e escolho a opção Text Color azul o objeto vai piscar entre preto e azul; ou seja, o objeto não desaparece e aparece. Etapa 3 - Coloque na condição que o objeto 1 pisque Blink Invisible Repita o mesmo procedimento para o objeto 2, observando que sua condição de piscar é $second>=30.
  33. 33. 65 3- Orientation – Rotação de Objetos A variação de uma tagname pode provocar um giro do objeto no sentido horário ou anti-horário de no máximo 360o em relação a um ponto de referencia. Para ilustrar vamos fazer os seguintes exemplos: a) O retângulo deverá girar no sentido horário 360o em torno do centro em 60segundos. b) O retângulo deverá girar no sentido anti-horário 360o em torno do centro em 60segundos, c) O retângulo deverá girar no sentido horário 360o distante de (100,100) do centro em 60segundos, 66 a) Animação: giro horário em torno do centro do objeto: horário b) Animação: giro anti-horário em torno do centro do objeto: Anti horário Lembrar: CCW – abreviação de CounterClockWise, traduzindo `a esquerda. CW – abreviação de ClockWise, traduzindo `a direita.
  34. 34. 67 c) Animação: giro horário em torno do ponto (100, 100) distante do centro do objeto: OBS.: Deve ser observado que o sinal negativo se justifica, pois a distancia de giro, vertical (Y Position), está sendo diminuída de 100 pixels do centro do objeto em relação a origem (0,0) que fica localizada no canto superior esquerdo; já na horizontal (X position) a distancia está sendo acrescida de 100 pixels do centro de giro em relação a origem (0,0). Visualizando a animação: 68 4- Disable – Disponibilidade de Objetos Habilita ou desabilita um botão, sob determinadas condições; Deseja-se que o botão Liga/Desliga fique desabilitado entre o intervalo 30 até 50 s Assim, deve-se configurar a Expression e Disable State, conforme a seguir: Expression: $second >30 and $second <50 Disable State: em ON (fica no estado desabilitado)
  35. 35. 69 Para a condição fora do intervalo $second =10, o botão fica no estado abilitado. Para a condição dentro do intervalo $second = 42, o botão fica no estado desabilitado. Nota: Se a condição Disable State for alterada para Off a condição de desabilitado se inverte; ou seja, dentro do intervalo 30-50 o botão fica abilitado. Caso se deseje intervalos diferentes de desabilitação o operador lógico OR deverá ser inserido na expressão. Exemplo: Vamos supor que uma tagname Temp varie de 0 a 1000o C e que desejamos que o botão Temperatura fique desabilitado somente entre as faixas de: 200 – 300o e 500 – 600o e 800 – 900o . Assim, deve-se configurar a Expression e Disable State: Expression: ($second >200 AND $second <300) OR ($second >500 AND $second 600) OR ($second >800 AND $second <900) Disable State: ON 70 PLAYSOUND-SOM Arquivos de som tipo wave são emitidos toda vez que a expressão playsound() for acionada. Sintaxe PlaySound(“arquivo som”,Flags); Parametros Descrição arquivo som. Arquivos com extensão wav Flags Flags can be one of the following: Type Description 0 Play sound synchronously (default) 1 Play sound asynchronously 2 Do not use default sound. Playsound is the filename of a .wav file. PlaySound can also accept an entry name from the [Sounds] section of the win.ini file. As an example, if you have an entry in the win.ini file like the following MouseClick=C:SoundsClick.wav you can enter MouseClick as the SoundName. 3 NOT USED! 4 NOT USED!. 5-7 NOT USED! 8 Repeat the sound until the next time PlaySound() is called. For Windows 95 (or later). 9 PlaySound() is called. For Windows NT 4.0 SP4 (or later). 16 Do not stop any currenlty playing sound. Exemplo(s): PlaySound ("c:horns.wav",1); SYMBOL FACTORY O intouch fornece uma biblioteca de objetos industriais para facilitar e dá uma aparência mais profissional na apresentação na tela do computador. Normalmente estes objetos não acompanham o pacote de instalação intouch e devem ser instalados a parte. Ver em anexo a instalação da biblioteca symbol factory. -Selecione, através do wizard, a opção symbol factory e siga os passos a seguir:
  36. 36. 71 72 2- Animação dos objetos symbol factory
  37. 37. 73 Programando – Scripts Scripts são módulos em linguagem, onde se pode definir linhas de código como na linguagem Basic, desta forma eles permitem uma maior flexibilidade para associar ações a eventos específicos. Scripts são usados para criar ações lógicas e executá-las quando um evento específico ocorrer. Você pode definir Scripts para qualquer objeto que possua um ambiente Scripts, como: Aplicação, Tags, Telas, Objetos, Alarmes etc. Por exemplo, Scripts de Tags normalmente estão associados ao valor do Tag, isto significa que eles são executados quando o valor do Tag mudar ou estiver em uma situação de Alarme. Muitos objetos na sua aplicação possuem um ambiente Scripts como mostrada abaixo, onde podem ser editados Scripts Tipos de ambientes Scripts Os Scripts disponíveis são descritos na tabela abaixo SCRIPTS DISPONÍVEIS Você pode associar Scripts executando-os em uma das situações a seguir: OnKeyPress executa somente quando uma determinada tecla for pressionada OnKeyRelease executa somente quando a tecla for despressionada. OnStartRunning executa quando a aplicação iniciar a execução. OnStopRunning executa quando a aplicação terminar a execução. OnUserLogin executa quando um usuário inicia a sua seção na aplicação. OnUserLogout executa quando um usuário encerra a sua seção na aplicação. WhileKeyPressed executa enquanto uma determinada tecla estiver sendo pressionada. WhileRunning executa enquanto a aplicação estiver executando. O Script irá executar tantas vezes quantas você definir na caixa de texto Rodar a cada: (aparece somente para Scripts WhileRunning) Para criar um Script, pressione vá na barra de menu Special/String/Application. O ambiente Scripts irá aparecer com uma lista de Scripts disponíveis para o objeto corrente. Selecione o Script que você deseja criar 74 PROGRAMANDO VIA SCRIPT Há 6 possibilidades de programação via script, conforme mostrado a seguir: 1- Application Script... É executado sempre que a aplicação estiver no modo running; 2- Window Script... É executado sempre que a janela estiver ativa; 3- Key Script... É executado sempre que a tecla correspondente for pressionada;
  38. 38. 75 4- Condicion Script... É executado sempre que uma determinada condição acontecer; Vamos ilustrar as 4 condições de Script com o exemplos a seguir: 1 - Application Script... Vamos iniciar nossa programaçao com o seguinte problema: Uma variável X deve ser incrementada de um em um, num intervalo de 1 segundo. 1o PASSO: Vamos visualizar a variável X, para isto será necessário definir a tagname X (inteira) Defina o tipo de tagname Mensage integer (inteira) 76 2o PASSO: Abrir o ambiente de programação script , conforme a seguir: Ambiente de programação via sript
  39. 39. 77 COMENTÁRIOS SOBRE O AMBIENTE DE PROGRAMAÇÃO SCRIPT 1- Condition Type: Há 3 possibilidades: On Startup – Será executado ao abrir o programa; While Running – Será executado durante a execução do WindowViwer; On ShutDown – Será executado ao término do programa. Para a nossa aplicação vamos trabalhar durante a execução do windowViwer – opção: While Running. Nota: Ao selecionar esta opção, a mesma ficará em negrito para indicar que está sendo utilizada, pois mais de uma opção poderá ser utilizada conjutamente 78 2- Tempo de LOOP Deve ser digitado no espaço reservado o tempo, em Msec, que se deseja fazer o loop no ambiente de programação, para o nosso problema o tempo é 1 s ou seja 1000 Msec. Se for necessário aumentar a velocidade de varredura o tempo deve ser diminuído, até que se deseja a velocidade desejada. Valores máximos e mínimos para o tloop tloop mín > 0 tloop máx <= 360.000 Msec ( 360 s , 6 h ) Voltado ao nosso problema: Como desejo incrementar a variável de um em um, devo fazer X=X+1, num intervalo de 1 segundo devo digitar 1000 Msec e rodar o programa. t loop = 1000 M
  40. 40. 79 Visualizando no WindowViwer Exemplos : Exemplo 1 (Window Script...) 1- Quando a janela 1 estiver ativa a tagname x deve ser incrementada de 1, já quando a janela 2 estiver ativa a tagname x deve ser diminuída de 1. 80 Vou usar o recurso de que uma janela pode fechar a outra, para melhor observar a implementação. Veja as duas janelas a seguir: Usando a opção Window Script..., com a janela 1 ativada, incremento de 1 a tagname x; Usando novamente a opção Window Script..., com a janela 2 ativada, decremento de 1 a tagname x;
  41. 41. 81 Rodando... Passo 1: - Apago a janela 2 Passo 2: - Ativo a janela 2 Ao ativar a janela 2 a tagname se estabilizarar, já que as duas janelas estão ativas já que a janela 1 manda incrementar e janela 2 manda decrementar. 82 Passo 1: - Apago a janela 1 Ao apagar a janela 1, somente a janela 2 permanecerá ativa, neste caso a tagname começa a decrementar. Exemplos 2 (Key Script...) Utilizando o exemplo anterior, for usar a função teclado Ctrl + a para a tagname assumir o valor 1000, ou seja x=1000;
  42. 42. 83 Ao rodar o programa pressiono o teclado Ctrl + a e a tagname assumira o valor 1000, ou seja x=1000; 84 COMANDOS DE PROGRAMAÇÃO Foram apresentados situações de programação que envolvem a utilização do conceito de entrada, processamento e saída de informações de várias formas. Neste capitulo, será abordada a utilização de tomadas de decisão em um programa, utilizando desvios condicionais simples e compostos. Operadores Funcionais No exemplo anterior, foi utilizado o sinal de igual = e soma + para estabelecer o novo valor da variável. Diferentemente em uma operação poderá haver: multiplicação, divisão, potenciação. Essas operações são efetuadas com a utilização da tabela abaixo. Símbolo Significado + Soma - Subtração / Divisão * Multiplicação ** Potenciação = igual Exemplo: a) Soma X = 2+3; X= 5 b) Subtração: X= 3 –2; X= 1 c) Divisão X= 3 /2; X= 1,5 d) Multiplicação X= 3 *2; X= 6 e) Potenciação X= 3 **2; X= 9
  43. 43. 85 Operadores Relacionais na Comparação No exemplo anterior, foi utilizado o sinal de = (igual) para estabelecer o novo valor da variável. Diferentemente em uma condição de comparação, poderá ser verificada como: diferente, igual a, menor que, maior ou igual que e menor ou igual que. Essas verificações são efetuadas com a utilização da tabela abaixo. Símbolo Significado == Igual a <> Diferente de > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a Nota: Há uma diferença substancial entre = e ==, o primeiro estabelece um novo valor a tagname, já o == deve ser usado para comparação de igualdade. Desvio Condicional Simples - IF...THEN...THEN O IF . . . THEN é usado para testar um condição, e se a condição for verdadeira, ele executa o comando que estiver em seu interior, ou seja até encontrar um ENDIF. Comando IF expressão lógica THEN comando 1; comando 2; . ENDIF; Se a condição for falsa, não serão executadas as instruções que estejam após a instrução IF. . . THEN e o comando será direcionada para o final da condição, ou seja após o ENDIF IF expressão lógica THEN comando 1; comando 2; 86 ENDIF; Adicionando Comentários ao Script Um programa pode conter comentários feitos pelo próprio programador com o objetivo de mais tarde torná-lo mais fácil de ser modificado e entendido. Todo comentário deve ser colocado entre chaves {.....} em qualquer linha de programação. Exemplo: aum=0; {Isto é um comentário – Aprenda programar passo a passo desenvolvendo um aplicação} sp = -1; { o valor da variável sp deve ser inicialmente -1 } IF sp<0 THEN { para um valor de sp menor que zero faça aum=1 } aum=1; ENDIF; Desvio Operadores Compostos IF...THEN...ELSE Anteriormente, foi visto como fazer uso da instrução if...then do tipo simples. Agora será estudado como fazer uso da instrução if...then...else, em que, sendo a condição falsa, será executada a instrução else. Caso seja necessário considerar mais de uma instrução para as condições Verdadeira ou Falsa, utilizar-se o conceito de blocos. Sendo assim, essa instrução possuía a seguinte estrutura: IF expressão lógica THEN comando 1; { instrução p/ condição verdadeira } ELSE comando 2; { instrução p/ condição falsa } ENDIF; O ELSE executa a expressão lógica se mesma não for verdadeira. Veja: IF expressão lógica THEN comando 1; . . ELSE
  44. 44. 87 comando 2; ENDIF; Operados Lógicos Existem ocasiões em que é necessário trabalhar com o relacionamento de duas ou mais condições ao mesmo temo na mesma instrução if...then, efetuando, desta forma, testes múltiplos. Para estes casos é necessário trabalhar com a utilização de operadores lógicos, também conhecidos como operadores Booleanos. Os operadores lógicos são três; and, or e not. Em instruções if...then encadeadas. Operador lógico : AND O operador do tipo and é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. Abaixo, é apresentada a tabela-verdade para esse tipo de operador. Condição 1 Condição 2 Resultado Falsa Falsa Falsa Verdadeira Falsa Falsa Falsa Verdadeira Falsa Verdadeira Verdadeira Verdadeira O operador and faz que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras, gerando assim um resultado lógico verdadeiro. Operador lógico : OR O operador do tipo OR é utilizado quando pelos menos um dos relacionados lógicos (quando houver mais de um relacionamento) de uma condição necessita ser verdadeiro. Abaixo, é apresentada a tabela-verdade para esse tipo de operador. Condição 1 Condição 2 Resultado Falsa Falsa Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Verdadeira Verdadeira Verdadeira Verdadeira 88 O operador OR faz que seja executada uma determinada operação se pelo menos uma das condições mencionadas gerar um resultado lógico verdadeiro. Operador Lógico : NOT O operador do tipo not é utilizado quando se necessita estabelecer que uma determinada condição deve ser não verdadeira ou deve ser não falsa. O operador not se caracteriza por inverter o estado lógico de uma condição. Abaixo, é apresentada a tabela-verdade para esse tipo de operador lógico. Condição Resultado Verdadeira Falsa Falsa Verdadeira O operador lógico not faz que seja executado uma determinada operação invertendo o resultado lógico da condição. Para exemplificar a utilização de decisão dentro de um programa, considere a necessidade de desenvolver um programa que efetue a leitura de dois valores numéricos inteiros, efetue a adição dos valores e apresente o seu resultado, caso o valor somado seja maior ou igual que 5, indique aprovado, caso contrário, indique reprovado . Algoritmo Definir 3 tagnames (A, B, R), tipo inteira; Definir 2 botões para entradas de valores e associá-los as tagnames A e B; Definir 1 botão para visualização do resultado, associando a tagname R; 1. Entrar com um valor na tagname A; 2. Entrar com um valor na tagname B; 3. processar a adição dos valores na tagname R = A + B; 4. apresentar o resultado APROVADO; caso R seja maior ou igual que 5; 5. apresentar o resultado REPROVADO; caso R seja menor que 5;
  45. 45. 89 Algoritmo {Informe os valores das notas} {Calcula a soma das notas} {Compara} {apresenta o resultado} Início A,B R = A + B R >=5 Fim APROVADO SN REPROVADO 90 IMPORTAR NO INTOUCH Para importar devo iniciar um projeto novo: (exemplo importar objeto) 1)WindowViewr – Deve estar desativado. 2)Todas as janelas devem estar fechadas Selecionar a aplicação que se deseja importar.
  46. 46. 91 Como exemplo iremos importar a aplicação esteira que se encontra em c:sebaexemplosintouchesteira. Após selecionar a aplicação devo selecionar o que desejo importar. Select p/ importar quais janelas se deseja. Importar somente as janelas feitas na aplicação esteira 92 OBS: 1) Posso selecionar 01 ou todas as janelas; 2) Se desejar, importar no futuro alguma janela que não foi importada, todas as janelas devem ser fechadas. Importar também o programa script Na importação as variáveis (tag´s) devem ser convertidas (convert) ou alteradas, conforme gosto do projetista; Deve-se ir ao script e convertê-las.
  47. 47. 93 1) OBS: ?d: | ?r: | ?i: é usada para identificar as variáveis importadas e se desejar convertê-las (d = discreta, r = real, i = inteira) A opção local deve ser acionada 94 2) Todos os objetos também devem ter suas variáveis convertidas.
  48. 48. 95 Exportar telas Só pode ocorrer ente 2 projetos intouch 1) Abro a aplicação que tem a janela a ser exportada Ex: C:sebabotoes2) 2) Fecho todas as janelas 3) File Export window... Seleciono o novo projeto que ira receber a telas. (botões1) 4) Seleciona a janela a ser exportada (EX: botão) 5) Basta fechar a aplicação corrente e abrir a aplicação onde à tela foi exportada. Para deletar TAG Exemplo: Duas tagnames não estão sendo utilizadas x e y e queremos eliminá- las Fechar todas as janelas Special Update User Count... 96 Special Tagname Dicnary... a) Escolha a tagname a ser deletada e deleta. Ou b) Deletar todas as tagnames não usadas. Delete Unused Tags...
  49. 49. 97 ALARMES Alarmes são usados para sinalizar algum tipo problema que está ocorrendo na planta e então tomar as ações apropriadas. Iremos inicialmente abortar alarmes com tagnames do tipo Real ou Inteira. Para visualizar os Alarmes configurados para um Tag você precisa criar um Objeto de Tela Alarme e atribuir uma nova Tag a ele. A página de Alarmes dos Tags aparece quando apção Alarmes no topo das páginas do Tag for selecionada. Cada Tag que você define possui uma página de Alarmes como a mostrada a seguir, onde podem ser configurados 4 intervalos de valores e prioridades. 98 A seguir os campos de alarme são descritos na tabela que segue. campo descrição LoLo Alarme Baixo Crítico. Define um intervalo de valores (menor igual) onde o Tag é considerado em um estado de Alarme Baixo Crítico. É usado quando o valor do Tag está abaixo de um mínimo, ou seja, extremamente baixo.. Low Alarme Baixo. Define um intervalo de valores (menor igual) onde o Tag é considerado em estado de alarme baixo. É usado quando o valor do Tag está abaixo do normal. High Alarme Alto. Define um intervalo de valores (maior igual) onde o Tag é considerado em estado de Alarme Alto. É usado quando o valor do Tag está mais alto do que o normal. HiHi Alarme Alto Crítico. Define um intervalo de valores (maior igual) onde o Tag é considerado em estado de Alarme Alto Crítico. É usado quando o valor do Tag é está acima de um máximo, ou seja, extremamente alto. Prioridades Define a prioridade para cada situação de alarme.É um campo importante quando desejamos selecionar o tipo de gravidade de cada alarme ocorrido e para um melhor controle os alarmes de maior prioridade irão aparecer em primeiro plano na janela de alarmes. É disponibilizada quando o valor de alarme é digitado. Pode variar entre 1 a 999. Números pequenos indicam alta prioridade e valores sugestivos são dados conforme a tabela a seguir: Prioridades: Crítico: 1 – 249 Maior: 250 – 499 Menor: 500 – 749 Aconselhado: 50 - 999
  50. 50. 99 EXEMPLO: Implemente 1 tangue com preenchimento entre 0-100%, associados a uma tagname nivel com respectiva variação entre 4-20, através de slider’s. As condições de alarme são tangue campo Valor LoLo 5 Low 7 High 17 HiHi 19 100 Definir a tagname nível (Tipo real) com seus respectivos valores de alarmes: Configurar o indicador de alarme muito alto – HiHi - Configurar o indicador de alarme muito alto – Hi
  51. 51. 101 Configurar o indicador de alarme muito alto – Lo Configurar o indicador de alarme muito alto – LoLo Associar o slider a tagname nível e um visiluazador de tag. 102 - RODANDO-WindowViewer (Runtime). Valor da tagname nivel = 16,9 - Normal Valor da tagname nivel = 18,3 – Alarme Hi indicou Valor da tagname nivel = 19,1 – Alarme HiHi indicou (Além do Hi)
  52. 52. 103 Standart Alarm Display É um visualizador, configurável, de todas as ocorrências os alarmes; disponível na biblioteca do wizard. O Standart Alarm Display pode ser configurável conforme a janela a seguir: 104 Através das opções de intervalo de prioridade (From Priority e To From Priority), é que se filtra os alarmes a serem listados no Standart Alarm Display Projeto abordando Prioridades Implemente 4 tangues com preenchimento entre 0-100%, associados a 4 tagnames com respectiva variação entre 4-20, através de slider’s. As condições de alarme são as mesmas para todos os tangues (LoLo = 5, Lo = 7, Hi = 15 e HiHi =17), já as condições de prioridades de cada tangue são dadas a seguir: Tangue 1 : Prioridade – 100 Tangue 2 : Prioridade – 350 Tangue 3 : Prioridade – 550 Tangue 4 : Prioridade – 850 Associe a cada tangue um Standart Alarm Display que monitore somente a ocorrência de alarme do respectivo tangue e um Standart Alarm Display que monitore todas as ocorrências de alarme.
  53. 53. 105 Para alarmes com tagnames do tipo Discrete, só uma escolha de alarme pode ser feita: Estado On ou Estado Off, com a respectiva prioridade. O exemplo a seguir mostra está condição, quando a tagname falha for para o estado On a mesma deve alarmar, quando a mesma for para o estado Off volta ao normal. 106 TENDÊNCIA REAL TRENDREAL Este objeto é usado para visualizar um gráfico de tendência com até 4 Tags. O gráfico é constantemente atualizado a medida que o processo evolui e os valores dos Tags mudam. Usando Tendências você pode fazer gráficos como ValorXTempo e ValorXValor. Devido a estas características pode-se efetuar a análise dos dados a medida que o processo evolui. Você pode editar as propriedades da Tendência dando um duplo click sobre a mesma. 1- Time Time Span – Estabelece o intervalo de tempo que se deseja visualizar da variável no eixo da absissa.
  54. 54. 107 2 – Sample Interval – Indica o número de amostra que será plotado no gráfico, no intervalo de tempo especificado (Time Span). O número de amostras no intervalo de tempo não poderá ser superior a 1024 amostras. Caso isso ocorra, aumenta-se o tempo do intervalo ou diminui o nímero de amostras Exemplo: Para Time Span =11s = 11000 Ms e Interval =10 Msec Logo: Time Span / Interval + 1 = 11000 / 10 +1 = 1101 > 1024 COMENTÁRIOS: Ou seja, se a cada 10Msec se eu pegar uma amostra em 11000 Msec eu terei 1100 amostras, logo 1100>1023. Desconsiderando é claro, na a análise o +1. È importante observar que: 1) Quanto maior o intervalo a ser observado, mais nitido fica a variável, porém mais lento será a visualização da atualização das variáveis. Veja o exemplo a seguir: 108 2) O Interval deverá ser Múltiplo e óbvio menor que Time Span, ou seja Time Span / Interval deve ser um número inteiro. Exemplo: Time Span = 11 s = 11000 Msec e Interval =12 Msec não é possível embora a conta Time Span / Interval + 1 < 1024 2 Eixo da Absissa (Tempo)Time Divisions – 2.1 Numer of Major Div – Determina quantas divisões o eixo da absissa terá, para o nosso exemplo 6 divisões; 2.2 Numer Div / Major Div - Determina quantas sub-divisões o eixo da absissa terá, para o nosso exemplo 3 sub-divisões; 2.3 Major Div/Timer Label – Indica onde o tempo irá aparecer no gráfico. Deve ser múltiplo e menor ou igual a Numer of Major Div ( 6 ), para o nosso exemplo pode ser 1,2,3 e 6. Top Labels - Indica que o tempo especificado em Major Div/Timer Label irá aparecer acima no gráfico, é pouco usual.
  55. 55. 109 Bottom Labels - Indica que o tempo especificado em Major Div/Timer Label irá aparecer na absissa no gráfico, é o que normalmente é usado. EXEMPLO: Exemplo 1: = 6 Exemplo 2: = 3 110 Observação deve ser múltiplo de 3 e 6, pois somente em uma dessas linhas posso localizar o tempo; não faz sentido por exemplo 4. 4 Eixo da Ordenada (Tagnames) 4.1 Numer of Major Div – Determina quantas divisões o eixo da ordenada terá, para o nosso exemplo 4 divisões; 4.2 Numer Div / Major Div - Determina quantas sub-divisões o eixo da ordenada terá, para o nosso exemplo 2 sub-divisões; 4.3 Major Div/Value Label – Indica onde as sub-divisões irá aparecer na ordenada. Deve ser múltiplo e menor ou igual a Numer of Major Div ( 4 ), para o nosso exemplo pode ser 1,2. Left Labels - Indica que as sub-divisões especificada em Major Div/Value Label irá aparecer à esquerda do gráfico, é o que normalmente é usado Right Labels - Indica que as sub-divisões especificada em Major Div/ Value Label irá aparecer à direita do gráfico, é pouco usual. EXEMPLO:
  56. 56. 111 5 Pen Até 4 tagnames podem ser visualizadas ao mesmo tempo. 112 Usuários Pode-se controlar o acesso a uma aplicação através de uma lista de nomes, podendo atribuir uma senha a cada usuário e configurar níveis de segurança no seu sistema. O usuário “Administrador” possui acesso ilimitado ao sistema. Os demais usuários possuem um nível de segurança associado que permite a eles acessarem apenas as características atribuídas ao seu nível de acesso. Para se alterar as configurações dos usuários o usuárior deve ter nível de acesso maior ou igual a 9000. Ao entrar no windowmaker o usuário sempre terá os privilégio de administrator com nível de acesso máximo, ou seja 9999. (cuidado! Não é administrador, lembre-se a wonderware é americana) Ao entrar no WindowViewer o usuário perde o privilégio de administrador e terá nível de acesso mínimo, ou seja 0; obrigando o usuário a se logar novamente. 1- Criando Novos Usuários Special/Security/Configure Users
  57. 57. 113 O Nome do usuário não deverá exceder a 16 caracteres Criando Usuários Digitar o Nome do Usuário, A Senha e o Nível de Acesso Ex.: Nome do Usuário: USUARIO 1 A Senha: U1 Nível de Acesso: 1 114 Adicionar: Add Repetir para os usuários 2 Nome do Usuário: USUARIO 2 A Senha: U2 Nível de Acesso: 2 Repetir para os usuários 3 Nome do Usuário: USUARIO 3 A Senha: U3 Nível de Acesso: 3
  58. 58. 115 2- Restrições com nível de acesso 2.1- No exemplo a seguir, desejamos que: somente o usuario ADMINISTRADOR com nível de acesso 9999 acesse o primeiro botão. Veja o procedimento a seguir: O primeiro botão não(off) deve estar desabilitado para o nível de acesso = 9999; ou seja ADMINISTRADOR 116 2.2- No exemplo a seguir, desejamos que: somente o usuario 1 com nível de acesso 1 acesse o segundo botão. Veja o procedimento a seguir: O segundo botão não(off) deve estar desabilitado para o nível de acesso = 1; ou seja USUARIO 1 Repetir o procedimento para os demais usuários No WindowViewer Observar que todos os botões estão desabilitados, pois ao entrar WindowViewer, o usuário estabelecido é o None com nível de acesso Zero. O passo seguinte é se logar.
  59. 59. 117 Log On para o usuário 1 Em Special/secutity/log On… digite o nome do usuário e a senha Observar que o botão USUÁRIO 1 fica habilitado para este usuário obs.: Caso se deseje que um usuário com nível de acesso maior tenha acesso também a uma determinada restrição, basta na restrição em vez de usar o sinal de igual usar o maior ou igual. A tagname interna string $operator fornece o nome do usuário logado. 118 A tagname interna discreta $changePassword quando levado a 1 abre uma caixa de diálogo para mudança de senha de quem estiver logado.(tem que haver um usuário diferente de None, já que este não pode ser alterado). TENDÊNCIA HISTÓRICA TRENDHIST Históricos permitem armazenar dados de processos para análises futuras. Você pode criar tantos arquivos de Históricos quanto desejar, cada um contendo até 8 Tags. Históricos podem ser definidos no Wizard durante a configuração da aplicação ou em tempo de execução usando Funções Especiais através de Scripts. Cada arquivo de Histórico possui uma taxa de amostragem que determina com que freqüência os dados serão escritos no arquivo. 1o Passo Para criar ou editar um Histórico você precisa selecionar no Wizard a opção Trends , conforme figura a seguir:
  60. 60. 119 Selecionar também Trend Zoom/Pan Panel para fazer as visualizações necessárias: 2o Passo Nomeiar as tagnames tipo Trend O histórico necessita de 2 nomes de tagnames para identifica-lo. Basta teclar em Suggest para que seja sugerido os nomes das tagnames; ou seja, Hist trend iar ra o gráfico histórico e HistTrend1PenScale para associá-lo a escala das penas. 120 3o Passo: Nomeiar as Penas Somente as tagnames que foram ou serão definidas com a opção Log Data ativa que aparecerão no gráfico. Por exemplo, a tagname do sistema $second não é do tipo Log Data, por esse motivo não será mostrada, apesar de ser a 4a pena.
  61. 61. 121 4o Passo: Nomeiar as tagnames Trend Panel (Opcional) O Trend Panel é utilizado para atualizar os dados no gráfico e necessita de 2 nomes de tagnames para associá-lo ao gráfico. Basta teclar em Suggest para que seja sugerido os nomes das tagnames; ou seja, Hist trend para associa-lo ao gráfico histórico e HistTrendPanMins para associá-lo ao Panel. ( Pode ser omitido, se usar a função HTUpdateToCurrentTime("Trend"), como será visto a seguir. ) 5o Passo: Nomeiar as tagnames das Legendas (Opcional) O Trend Legend é utilizado para mostrar os dados instantâneos e necessita de 2 nomes de tagnames para associá-lo ao gráfico. Basta teclar em Suggest para que seja sugerido os nomes das tagnames; ou seja, Hist trend para associá-lo ao gráfico histórico e HistTrendPenScale para associá-lo a legenda. 122 6o Passo: Definição das Tagnames Log Data Com esta opção ativa a tagname poderá ser plotada; deste que seja configurada como uma das Penas. Valores mínimos e máximos Ao criar as tag´s é fundamental colocar os valores mínimos e máximos, pois o final da escala do eixo (Y) toma esses valores para montar o gráfico.
  62. 62. 123 7o Passo: Configuração: No menu Special / Configure / Historical Loggin... as seguintes opções devem ser assinaladas. Enabled Historical Logging – Permite armazenar os dados, ou seja as tagnames tipo Log Data; Keep Log Files for: ____ days - Armazenar os dados por tantos dias; Store Log Files in Appliation Directory – Salva os arquivos de dados no próprio diretório do aplicativo. O único problema é que eles ficam misturados com os demais arquivos. Store Log Files in Specific Directory – Direciona os arquivos de dados armazenados para um diretório especifico, neste exemplo, para c:sebatrend. Veja figura a seguir: Vale a pena comentar que os arquivos de dados gerados levam em seu nome a data de sua geração. No nosso exemplo temos os seguintes arquivos gerados: 03061700.idx onde: 03 indica o ano de sua geração 2003 06 indica o mês de sua geração junho (06) 17 indica o dia de sua geração 17 00 sem significado. Idx extensão do arquivo gerado para armazenar os dados 03061700.lgd 03061700.alg 124 Atualizações dos dados apresentados Devemos observar que os dados apresentados não são atualizados dinâmicamente. Para isto, devemos utilizar a função HTUpdateToCurrentTime("Trend") que atualizará os dados apresentados no gráfico histórico. Para o nosso caso vamos atualizar os dados a cada 5 s (5000 Msec), usando para nos auxiliar a programação Scrip, conforme visto a seguir:
  63. 63. 125 Modificações nas telas que envolvem Hist Trend, normalmente exigem que WindowViwer esteja fechado (é diferente de estar minimizado). Deve-se observar que, se o WindowViwer for fechado os dados não mais serão armazenados. 126 Imprimir o gráfico tendência Trend Pode ser associado a um botão para imprimir o gráfico de Tendência Histórica associado com a tagname especificada ( tipo Hist Tend). O gráfico de Tendência Histórica deve ser visível na tela, quando usando esta função. Sintaxe PrintHT (Trend_Tag ); Parâmetro Descrição Trend_Tag Tagname do gráfico de Tendência Histórica., tagname tipo mensagem, ou string atual Exemplos: Botão - imprimir
  64. 64. 127 CHECKBOX – Botões especias de opção Normalmente usado para selecionar uma ou mais opções, quando selecionado a tagname associada muda de estado, ou seja, normalmente de 0 para 1. Procedimento no WindowMaker 1 - Importar do Winzard o primeiro CheckBox Control ( opção : cortar) Exemplos aplicativos no próprio: intouch a) Abrir e fechar janelas no próprio b) Na tela auxiliar de animação. 128 Fica visível Habilita a opção/ fica visível, mas não habilita a entrada. Caption = mensagem desejada; CheckBox Control : quando habilitado torna a tagname discreta (selecione-cortar) p/ “1”.. Exemplo: Desejo optar entre dois tipos de máquinas, cortar ou misturar. 2 - Importar o segundo CheckBox Control (opção : misturar) 3 - Em cada um dos CheckBox, faço o script de opção
  65. 65. 129 Script usado para selecionar tipo de máquina a ser usada WindowViewer Selecione a máquina de cortar. Neste caso a tagname selecione_cortar vai p/ 1 Observe: Se as duas opções forem selecionadas, as mesmas serão encaminhadas, como mostra o exemplo. If selecione_cortar THEN Machine=”cortar” ENDIF; If selecione_misturar THEN Machine=”misturar” ENDIF; 130 A> 2 tagnames selecione_cortar e selecione misturar vão p/ 1 Função do checkbox Selecione a máquina de misturar. Neste caso, somente a tagname selecione_mistura vai p/ 1. Selecione_cortar=1; Selecione_misturar=1;
  66. 66. 131 Soma de strings Strings também podem ser “somadas’ (concatenadas) resultando um novo valor para a tag. Veja o exemplo a seguir: Exemplo: M1= “ba”; M2= “lá”; Soma=m1+m2; If soma= “bala” then Res= “sucesso” else Res= “falha”; endif; COMUNICAÇÃO (INTOUCH x CLP) Drivers O Supervisório permite a comunicação com equipamentos de aquisição de dados e outros computadores executando o Supervisório, através de Drivers de I/O ou Drivers de Rede fornecidos pelo fabricante de supervisório de acordo com o tipo do equipamento de I/O ou da conexão de rede. Os Drivers do Supervisório são arquivos separados com extensão DLL. COMUNICAÇÃO CLP MATSUSHITA CLP MATSUSHITA ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS DIGITAIS O CLP MATSUSHITA apresenta 15 ENTRADAS DIGITAIS e SAÍDAS DIGITAIS e são endereçadas conforme a Tabela a seguir: ENTRADAS DIGITAIS X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 SAÍDAS DIGITAIS Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 132 Endereçamento de Relés especiais A comunicação será feita utilizando o exemplo a seguir: Exemplo: Deseja-se que ao pressionar o botão LIGA no supervisório a saída Y1 do CLP MATSUSHITA comute para on e ao pressionar o botão DESLIGA no supervisório a saída Y1 do CLP MATSUSHITA comute para off. EXEMPLO APLICATIVO:
  67. 67. 133 RECOMENDAÇÕES: I -Não utilizar as saídas (Yi) do programa ladder que está carregado na memória do PLC nos itens. II -Verificar, fazendo download para o computador. III- Velocidade recomendada para o script 300 Msec. IV- Ver os tipos de protocolos em anexo. 134 Ativar o drive de comunicação KEPSERVER - Criar o canal de comunicação:
  68. 68. 135 136 -Observar a paridade Odd (ímpar)
  69. 69. 137 -Ver, em anexo, a configuração do CLP matsushita. - Adicionar um device: 138
  70. 70. 139 -Observar o Device Model: Any model 140 CONSIDERAÇÕES: - Salvar o projeto (*.kdp) (exemplo: aluno.kdp) - Observar que só posso colocar o projeto on-line depois de salvá-lo. - A conexão entre o clp e computador COM1 deve estar perfeita (carregar o progama a seguir e observar a comunicação) - Kepdde deve estar off-line (se estiver on-line a com1 já estará sendo usada) - Carregar o programa a seguir para a memória do CLP;
  71. 71. 141 - Colocar o kepdde on-line - Bem... < ok >; - Automaticamente a comunicação entre o CLP e o computador é perdida, só poderá ser restabelecida quando kepdde for para o modo off-line; Fazer as conexões na bancada do CLP; Reinicialize a comunicação -Observar o travamento do relé e a lâmpada acender. -Após a comunicação verificada o fpsoft poderá ser fechado*. O cpl deve estar no modo RUN 142 RESUMO Equivalência INTOUCH e KEEPSERVER INTOUCH KEPSERVER Access Name = a Channel = a Application name = Kepdde Kepdde.exe Topic Name = b Device = b * Não foi preciso nem carregar (abrir) o fpsoft Intouch Kepserver Basta observar np clp se ele está RUN. ** Ao adicionar uma saída, mais de uma acender ou alguma coisa estranha acontecer, verificar senão há conflito nas tags. ENTRADAS E SAÍDAS ANALÓGICAS- EXPANSÃO 1 A maioria dos processos industriais utilizam as variáveis analógicas para representarem seu processo. Em anexo é mostrado os endereçamentos das entradas e sidas analógicas do CLP FPO-C32 As saídas do PLC também podem ser analógicas. A exemplo das entradas, as saídas analógicas são resultado da conversão de um valor digital gerado pela UCP. CONFIGURAÇÃO DAS I/O ANALÓGICAS DO CLP MATSUSHITA ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS ANALÓGICAS - EXPANSÃO 1 O CLP MATSUSHITA apresenta na expansão 1 duas entradas analógicas e 1 saída analógica e são endereçadas conforme a tabela a seguir: ENTRADAS ANALÓGICAS WX2 WX3 SAÍDAS ANALÓGICA WY2
  72. 72. 143 As entradas e saídas analógicas devem ser configuradas através de um DIP SWITCH, localizado na frente da unidade analógica, de acordo com o sinal de entrada e saída da instrumentação do local. CONFIGURAÇÃO DO DIP SWITCH 144 LIGAÇÃO DAS ENTRADAS E SAÍDAS ANALÓGICAS Exemplo: Utilizaremos um sinal variável de 0 -10 V que deverá indicar o nível de um reservatório ( 0 – 100 % )
  73. 73. 145 - Entrar com o sinal analógico ( 0 – 10 V ) na entrada analógica do CLP (WX2); 1 – Entrada Analógica : WX2 2 – Entrada Analógica : WX3 RELAÇÃO ENTRE EU E RAW Os valores Min EU = -2000 e Max EU = 2000, corresponde os Vmáx = –10 V e + 10 V reais do PLC; Os valores Min Raw e Max Raw, corresponde uma mudança, se assim desejar, nos valores Min EU = -2000 e Max EU = + 2000, exemplo: 146 EXEMPLO 1 Min EU = -2000 e Max EU = 2000, para WY2 = 2000 Vo = 10 V Min Raw = -4000 e Max Raw = 4000, para WY2 = 4000 Vo = 10 V De uma forma geral, podemos fazer a seguinte conversão de valores: Vo = WY2 * ( Vmáx/EU) *( Raw/EU) Assim para WY2 = 1000 Vo = 1000* (10/2000) * 4000/2000 = 10 V. Observe que antes era preciso WY2 = 2000 para termos Vo = 10 V EXEMPLO 2 Min EU = -2000 e Max EU = 2000, para WY2 = 2000 Vo = 10 V Min Raw = -20.000 e Max Raw = 4000, para WY2 = 20.000 Vo = 10 V De uma forma geral, podemos fazer a seguinte conversão de valores: Vo = WY2 * ( Vmáx/EU) *( Raw/EU) Assim para WY2 = 171 Vo = 171* (10/2000) * 20.000/2000 = 8,5 V.
  74. 74. 147 - Ver a indicação do nível para uma tensão na entrada WX2 = 9,12 V - Ver a indicação do nível para uma tensão na entrada WX2 = 5,04 V SAIDAS ANALÓGICAS O exemplo a seguir ilustrará a manipulação da saída analógica do CLP Matsushita: 148 O Slider ilustrado deverá forçar a saída analógica WY2 entre seus valores máximos, ou seja, -10 V a + 10 V. Ver referencia em anexo. - Rever a posição dos Dip switch e as ligações da saída analógica no KIT de experiência.
  75. 75. 149 - Conectar o Multímetro na saída do PLC e observar a tensão de saída com a mudança na posição do Slider. 150 REDE PROFIBUS - FMS E ETHERNET DO LABORATÓRIO DE CONTROLE DE PROCESSOS 1. CONSIDERAÇÕES INICIAIS “Acesso aos processos via rede TCP/IP + PROFIBUS” ESTABELECER COMUNICAÇÃO TCP/IP ENTRE AS MÁQUINAS Para isso 3 procedimentos devem ser observados: a) Placa de Rede( Gerenciador de dispositivo, cabos conectados, Ping 10.0.0.10 etc) b) Endereço TCP/IP corretos c) Mesmo Grupo de Trabalho (EX.: AUTOMACAO) Check? – no ambiente dos > ping professor Submask: 255.0.0.0 2. CONFIGURAÇÃO FÍSICA DA REDE 3. CONFIGURAÇÃO DOS PARAMETROS 3.1- TÓPICOS REMOTO BURKERT PROFIBUS São os tópicos que correspondem aos endereços de acesso remoto Burkert PROFIBUS KR4, KR5, KR2, KR3, KR6 Definidos nos arquivos da festo para a I/O SERVER
  76. 76. 151 Kbl.dat Buspar.dat 3.2 - ITEM NAMES Definidos no controlador Burkert - Padrão profibus PV= O22T8I200 X Variável do Processo MV= O27T8I500 Y Variável manipulada ( Vazão da bomba) SP= O24T8I500 W Set Point P= O151T8I500 Kp_level I= O153T8I500 Tn D=O154T8I500 Tv Manual= O37T5I500 =O Auto= O37T5I500=1 Processo= O41T5I500=1 Configuração= O41T5I500=2 pode alterar os parâmetros do PID Padrão profibus PROFIBUS, ‘TOPIC, ITEM STORAGE TAG ACCESS NAME TOPIC NAME ITEM X_ Flow O22T8I200 W_ Flow O24T8I500 Y_ Flow Flow_control KR 3 O27T8I500 FILTRATION TAG ACCESS NAME TOPIC NAME ITEM X_ Flow O22T8I200 W_ Flow O24T8I500 Y_ Flow Level_control KR4 O27T8I500 PRESSURE TAG ACCESS NAME TOPIC NAME ITEM X_Pressure O22T8I200 W_Pressure O24T8I500 Y_Pressure Pressure_control KR6 O27T8I500 152 REACTOR TAG ACCESS NAME TOPIC NAME ITEM X_Temp O22T8I200 W_Temp O24T8I500 Y-_temp Temp_control KR2 O27T8I500 INTERRUPÇÕES NA REDE 1- INTRODUÇÃO Situações de falha pode ocorrer na rede de comunicação entre o processo e o supervisório e a seguir descrevemos o comportamento destas falhas, nem sempre bem compreendidas pelos operadores. 2-INTERRUPÇÃO NO CONTROLADOR BACKER 2.1- CONTROLADOR DESLIGADO Quando o controlador é desligado acidentalmente, os valores na tela do supervisório permanecem “congelados” (não zeram) e só são atualizados, ou sejam zerados, já que o controlador está desligado, se reinicializar a comunicação em Special / Reinitialize I/O 2.2- CONTROLADOR RELIGADO Ao ligar o controlador os valores na tela do supervisório são atualizados automaticamente, sem a necessidade de reinicializar a comunicação em Special / Reinitialize I/O 3-INTERRUPÇÃO NA REDE ETHERNET Quando a rede ETHERNET está fora do ar, os valores na tela do supervisório congelam de vez , nem reinicializando em Special / Reinitialize I/O os valores são atualizados, ou seja deveriam zerar. Voltando a Internet, os valores não são atualizados, é preciso a reinicialização em Special / Reinitialize I/O para restabelecer os valores atuais na tela do supervisório.
  77. 77. 153 POSSIVEIS FALHAS NA COMUNICAÇÃO INTOUCH / PLANTA PROFIBUS INTOUCH VIEWER ATIVA/FECHADA STATUS LED DA PLACA PROFIBUS PLANTA SOLUÇÃO DO PROBLEMA RODANDO ATIVA BAD LIGADO DESLIGADA LIGAR A PLANTA RODANDO DESATIVADA X APAGADO LIGADA ATIVAR PROFIBUS E REINICIALIZAR CONVERSAÇÃO I/O (VIEWER) DESATIVADO ATIVA X APAGADO LIGADA REINICIALIZAR CONVERSAÇÃO I/O (VIEWER) RODANDO ATIVA X APAGADO LIGADA VERIFICAR O TOPIC NAME, NUM DA ESTAÇÃO E REINICIALIZAR CONVERSAÇÃO I/O (VIEWER) CONDIÇÕES PARA A OPERAÇÃO NORMAL DO INTOUCH - PLANTA MPS RODANDO ATIVA GOOD LIGADO LIGADA COMUNICAÇÃO NORMAL COMUNICAÇÃO CLP SIEMENS CLP SIEMENS Exemplo: Deseja-se que ao pressionar qualquer um dos botões LIGA ( L1...L15) no supervisório a saída no CLP comute para on e ao pressionar qualquer botão DESLIGA( D1...D15) no supervisório a saída no CLP comute para off. Bem como, monitorar todas as 15 entradas do CLP. EXEMPLO APLICATIVO: 154 ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS DIGITAIS O CLP SIEMENS apresenta 15 ENTRADAS e SAÍDAS DIGITAIS e são endereçadas conforme a Tabela a seguir: NOME.ENDREÇO – EX.: IN.07 – ENTRADA 7 DO CLP OUT.12 – SAÍDA 12 DO CLP PARA O NOSSO EXEMPLO USAREMOS ET200_IN. PARA AS ENTRADAS E ET200_OUT. PARA AS SAÍDAS ET200_IN. ENTRADAS DIGITAIS 00 01 02 03 04 05 06 07 08 08 10 11 12 13 14 15 ET200_OUT. SAÍDAS DIGITAIS 00 01 02 03 04 05 06 07 08 08 10 11 12 13 14 15 NOME.ENDEREÇO – EX.: ET200_IN.07 – ENTRADA 7 DO CLP ET200_OUT.12 – SAÍDA 12 DO CLP ENDEREÇAMENTO DAS SAÍDAS DIGITAIS
  78. 78. 155 156 ENDEREÇAMENTO DAS ENTRADAS DIGITAIS
  79. 79. 157 STATUS PROFIBUS 158 COMUNICAÇÃO EXCEL X INTOUCH Considerações iniciais O Projeto de nível que será utilizado pelo intouch será o driver de comunicação Simulate, que já conta internamente com os itens name abaixo. - Ativar o Simulate.
  80. 80. 159 - Estabelecer, no menu Configure, o Topic Name = abc no simulate. abc = É um nome qualquer, deve ser o mesmo nome no Topic Name utilizado na Tagname do Intouch. - Não mexer nos demais parâmetros. - Deixá-lo ativado. - Escrever os endereços em qualquer célula do Excel, conforme descrição a seguir: = Application name| topic name! ‘Item’ Para o nosso caso: = simulate | abc ! L1 Observar que todos os valores já estão sendo lidos, neste caso como start = 0; todos os demais também deverão ser zeros. Veja a seguir: 160 - Montar o projeto do nível do tanque no Intouch.
  81. 81. 161 - Liga /desliga = start (I/O discrete). - Topic Name = abc, pois caso seja outro nome, a comunicação no simulate não é estabelecida. - Application Name = simulate, pois estabelece a comunicação do drive (simulate.exe). - Access Name = teste, para a comunicação entre o simulate e o excel, o nome do Access name não importa. - Rodar (Run). - Ligar o projeto (botão liga /desliga = START) e observar que o excel faz a captura instantânea do valor das variáveis. Observação: -Algumas vezes o Excel demora a iniciar a comunicação com o intouch, neste caso é aconselhável clicar na célula e aguardar. - Se desativar o simulate a comunicação é interrompida. - Mesmo alterando o Access Name = qualquer, não há nenhuma mudança no processo, como no excel. Value % 0-100 0- 100% I/O Real Mín – Max 20 980 162 - Comportamento do processo e do excel normais mesmo para Access Name = qualquer
  82. 82. 163 Excell x Intouch KEPSERVER Comunicação entre o Excel e o Intouch, usando o drive de comunicação do CLP FPO - C32T da Kepserver Matsushita, que utiliza o arquivo kepdde.exe no application Name. 164 Obs: Caso y1 não tenha sido definida no intouch, seu valor default é O (falso).
  83. 83. 165 166 Abrindo qualquer executável C: Arquivos de prgramasmicrosoft Officeofficedexcel Abrir o Excel C: Arquivos de prgramasmicrosoft Officeofficedword Abrir o Word Obs.: Se já estiver aberto OK
  84. 84. 167 Control Name Usado para fazer seleção de uma lista de opções. O nome do Control Name não influencia pode permanecer. Colocar o nome da tagname que selecionará a opção desejada (ex.: tagname=sel) Colocar em Buttons o número de opções desejada, para o nosso caso Buttons = 5. Deletar todos e incluir novos no Caption e incluir 5 novos Captions (Volks, Fiat, Ford, Honda e BMW). 168 Ao configurar a tagname, neste caso sel, observar que o valor inicial deverá ser 1, como também seu valor mínimo 1, já que neste tipo de seleção pelo menos 1 deverá ser escolhido. Ver a seguir: Veja a implementação no WindowViewer
  85. 85. 169 Para dá sentido ao tipo de seleção ( 1 a 5) devemos associar a tagname inteira sel ao tipo de veículo escolhido; ou seja: Sel=1 (Volks); Sel=2 (Fiat); Sel=3 (Ford); Sel=4 (Honda); Sel=5 (BMW). Isto deve ser feito através do script, associando a tag sel com outra do tipo message ex.: carro, veja exemplo a seguir: 170

×