Preview only show first 10 pages with watermark. For full document please download

Supervisório Intouch

XXXXXXXXXXXXXXXXXXXXXXXX

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    4.5MB
  • Views

    1,604
  • Categories


Share

Transcript

MEC MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA CEFETES - UNED / SERRA COORDENADORIA DE AUTOMAÇÃO INDUSTRIAL SUPERVISÓRIOS Intouch SEBASTIÃO ALVES CARNEIRO Serra – ES 2005/2 1 VERSO 2 SUMÁRIO INTRODUÇÃO SISTEMA SUPERVISÓRIO FUNCÕES BÁSICAS DE UM SUPERVISÓRIO TIPOS DE SUPERVISÓRIOS REPRESENTANTES NO BRASIL INSTALANDO OS SUPERVISÓRIOS NO COMPUTADOR INSTALAÇÃO ACESSANDO O INTOUCH CRIANDO UMA NOVA APLICAÇÃO CARREGANDO UMA APLICAÇÃO JÁ EXISTENTE DESCRIÇÃO DAS FERRAMENTAS DESCRIÇÃO DOS ÍCONES CRIAÇÃO DE PROJETOS NO WINDOWMAKER JANELAS/TELAS OBJETOS DE TELA TAGNAMES ( TAG'S) ANIMANDO OS OBJETOS PRENCHIMENTO DE OBJETOS - PERCENTIL FILL VISUALIZAÇÃO DE VARIÁVEIS - VALUE DISPLAY DIMENSÕES DE OBJETOS - (OBJECT SIZE) DESLOCAMENTO DE OBJETOS (LOCATION) TOUCH LINKS BOTÕES-TOUCH PUSHBUTTONS-ACTION PRIMEIRA AÇÃO- ACTION 1: ON KEY DOWN SHOW WINDOW -TOUCH PUSHBUTTONS- NAVEGANDO ENTRE TELAS HIDE WINDOW -TOUCH PUSHBUTTONS- FECHANDO TELAS MISCELLANEOUS-ANIMAÇÕES ADICIONAIS DISABLE – DISPONIBILIDADE DE OBJETOS PLAYSOUND-SOM SYMBOL FACTORY PROGRAMANDO – SCRIPTS COMANDOS DE PROGRAMAÇÃO OPERADORES FUNCIONAIS OPERADORES RELACIONAIS NA COMPARAÇÃO DESVIO OPERADORES COMPOSTOS IF...THEN...ELSE IMPORTAR NO INTOUCH DELETAR TAG ALARMES PRIORIDADES PROJETO ABORDANDO PRIORIDADES TENDÊNCIA REAL USUÁRIOS CRIANDO NOVOS USUÁRIOS TENDÊNCIA HISTÓRICA NOMEIAR AS TAGNAMES TIPO TREND NOMEIAR AS PENAS IMPRIMIR O GRÁFICO TENDÊNCIA TREND CHECKBOX – BOTÕES ESPECIAS DE OPÇÃO SOMA DE STRINGS COMUNICAÇÃO ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS DIGITAIS ENDEREÇAMENTO DE RELÉS ESPECIAIS ENTRADAS E SAÍDAS ANALÓGICAS- EXPANSÃO 1 ENDEREÇAMENTO DAS ENTRADAS E SAÍDAS ANALÓGICAS - EXPANSÃO 1 LIGAÇÃO DAS ENTRADAS E SAÍDAS ANALÓGICAS RELAÇÃO ENTRE EU E RAW SAIDAS ANALÓGICAS REDE PROFIBUS - FMS E ETHERNET DO LABORATÓRIO DE CONTROLE DE PROCESSOS CONFIGURAÇÃO FÍSICA DA REDE CONFIGURAÇÃO DOS PARAMETROS COMUNICAÇÃO CLP SIEMENS COMUNICAÇÃO EXCEL X INTOUCH CONTROL NAME EXERCÍCIOS ANEXOS 3 4 5 6 8 10 10 10 11 11 14 21 21 25 25 28 30 31 33 35 38 41 45 53 53 57 59 60 68 70 70 73 84 84 85 86 90 95 97 98 104 106 112 112 118 119 120 126 127 131 131 131 132 142 142 144 145 147 150 150 150 153 158 167 171 188 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. 4 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-deobra 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 5 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 – manmachine 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 HomemMá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. 6 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 7 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) 8 • • • • • • 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. 9 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. 10 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: 11 - Pressione Avançar IMPORTANTE: 1) Toda aplicação nova, caso você não mude, será salva no seguinte diretório: C:\Arquivos de programas\FactorySuite\InTouch\NewApp 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 12 2- Na Opção Examinar seleciono o diretório que desejo criar minha nova aplicação 13 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 14 15 - 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. 16 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. 17 Menu do Window Maker File COMANDO New Window... Open Window... Save Window... Close Window... Delete Window... Save Window As... Save All Windows WindowView.. Print... Export Window... TECLAS DE ATALHO Ctrl+N Ctrl+O Ctrl+S Import... Exit AÇÃO Cria uma nova janela (janela em branco). Abre uma aplicação já existente, através de um dialog-box Salva a aplicação corrente, através de um dialog-box Fecha a aplicação corrente, através de um dialog-box Apaga a(s) tela(s), através de um dialog-box. Salva janela aberta com outro nome. Salva Todas as Janelas. Executa(Run) a aplicação corrente. Opções para imprimir, através de um dialog-box. Exportar a janela da aplicação corrente para outra, através de um dialogbox. Importa a janela de outra aplicação, através de um dialog-box. 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). Ctrl+X Copia o(s) objeto(s) selecionados (s) para o 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 Cut Elimina o(s) objeto(s) selecionado(s). Impot Image Paste Bitmap Size Bitmap Original Insere bitmap do Clipboard na janela Size Coloca bitmap no tamanho original. Edit Bitmap Select All F2 Links Seleciona todos os objetos da janela. 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 Enlarge Radius Reduce Radius Reshape Object Elimina todas as animações do(s) objeto(s) selecionado(s). Aumenta o raio do (s)objeto(s) selecionado(s). (retângulo com bordas Shift+Mais arredondadas) Reduz o raio do(s) objeto selecionado(s) (retângulo com bordas Shift+Menos arredondadas). Permite redesenhar o objeto selecionado. (polígonos e linhas múltiplas). Ctrl+R Add Point Adiciona pontos a polígonos e linhas múltiplas. Del Point Elimina pontos de polígonos e linhas múltiplas. Arrange 18 COMANDO TECLAS DE ATALHO Send to Back F9 Bring to Front Shift+F9 Align AÇÃO Posiciona o(s) objeto(s) selecionado(s) atrás de todos os outros objetos da janela. Posiciona o(s) objetos selecionados na Frente de todos os outros objetos da janela. 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 Rotate Clockwise Rotate CouterClockwise Flip Horizontal Flip Vertical Espaça verticalmente os objetos selecionados. F6 Shift+F6 Gira o(s) objeto(s) selecionado(s) 90 graus no sentido horário. Espelha o(s) objeto(s) selecionado(s) na horizontal. F7 Shift+F7 Espelha o(s) objeto(s) selecionados na vertical. Make Symbol F5 Agrupa os objetos selecionados como símbolo. Break Symbol Shift+F5 Make Cell F3 Break Cell Shift+F3 Snap to Grid Desagrupa o símbolo. Agrupa os objetos selecionados. Desagrupa os objetos selecionados. 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 19 COMANDO TECLAS DE ATALHO Security AÇÃO 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. Mostra dialog-box para eliminar tags não utilizados Scripts Mostra menu dos possíveis scripts. Delete Unused Tags ... Scripts Aplication Scripts... Window Scripts Key Scripts... Condition Scripts Data Change Scripts ... Permite editar script da aplicação. Permite editar script da janela Permite editar script associado a uma tecla. Permite editar script associado a tag ou expressão Permite editar script associado à mudança de valores de tags. TemplateMaker SPC SQL Access Manager Menu Ajuda (Help) COMANDO Index Using Help About Supervisório Windows Ação Mostra o índice do Help. Explica como o Help deve ser usado. Mostra informações a respeito do Supervisório Windows, como número da versão e direitos de cópia. View 20 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 Esconde todas as barras de ferramentas com exceção da barra de menu e barra de Título. Esconde todas as barras de ferramentas inclusive a barra de menu E Titulo. Hide All Full Screen 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 21 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 22 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 23 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. 24 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. 25 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. 26 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 27 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 específicos objetos, com a multiplos tecla 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 28 ou SHIFT 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. 29 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, Bombas, válvulas on/off, lâmpadas, 0 ou 1, ativada ou não ativada, ligado alarmes, etc. ou não ligada. Integer Variáveis inteiras, ou seja, números Indicações inteiras, saídas inteiras, inteiros (conjunto Z) etc. Real Variável real, ou seja, conjunto R. Indicações reais, saídas reais, etc. Message Variável alfanumérica números e/ou letras. acumula Informações que números e/ou letras. Group Var Grupo de variáveis, as variáveis podem ser agrupadas para melhorar a Alarmes, organização, etc. organização ou até mesmo para alarmar em uma janela de alarmes. 30 podem ser Hist Trend I/O 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 Gráfico de tendência histórica e vantagens da carta não “embolar”, a wizard. tinta não “borrar” ou acabar, não ocupar espaço no painel, além de poder ser criado diversas vezes. Variável usada para trocar informações com os equipamentos de aquisição de dados, usando drivers de I/O PLC, Controladores digitais, etc fornecidos pelo fabricante do supervisório de acordo com o tipo do equipamento utilizado. 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: 31 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. 32 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) 33 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: 34 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 35 Caso: a) # b) #.# c) #.## - Mostrará apenas a parte inteira da variável. - Aparecerá variáveis com uma casa decimal. - 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 subdivisõ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: 36 -Visualizando a aplicação- Runtime! (WindowViewer): EXEMPLO 2: - Faça a implemetação do seguinte projeto: WindowMaker: Runtime!: 37 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. 38 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. 39 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. 40 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. 480 380 250 Auxilia no posicionamento final 450 Não necessita de objeto final 41 - Animar o objeto ( Location: vertical horizontal) - Utilizar a variável de sistema ($second) p/ promover o deslocamento vertical 42 • 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) 43 -RODANDO(WindowViewer) (Runtime). Posição do objeto p/ $second =13 Posição do objeto p/ $second = 56 44 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 45 -RODANDO(WindowViewer) (Runtime). 46 2- INPUT ANALOG (Tipo: Real/Contínua) 47 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). Keypad 3- INPUT STRING (Tipo: Mensagens/Nomes) 48 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) 49 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). 50 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) 51 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. 52 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. 53 54 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. 55 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. 56 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). 57 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 58 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. 59 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. 60 • 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. 61 -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. 62 Etapa 1 - Selecione a animação – Blink • Etapa 2 - Coloque a condição que se deseja que o objeto 1 pisque. 63 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. 64 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, 65 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. 66 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: 67 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) 68 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 1000oC 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 69 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:\Sounds\Click.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: 70 71 2- Animação dos objetos symbol factory 72 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 73 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; 74 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) 75 2o PASSO: Abrir o ambiente de programação script , conforme a seguir: Ambiente programação sript 76 de via 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 77 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. t loop = 1000 Msec Se for necessário aumentar a velocidade de varredura o tempo deve ser diminuído, até que se deseja a velocidade desejada. t Valores máximos e mínimos para o loop 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. 78 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. 79 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; 80 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. 81 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; 82 Ao rodar o programa pressiono o teclado Ctrl + a e a tagname assumira o valor 1000, ou seja x=1000; 83 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 84 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; 85 ⇒ ⇒ 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 86 ⇒ 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 Falsa Verdadeira Falsa Verdadeira Condição 2 Falsa Falsa Verdadeira Verdadeira Resultado Falsa Falsa Falsa 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 Falsa Verdadeira Falsa Verdadeira Condição 2 Falsa Falsa Verdadeira Verdadeira 87 Resultado Falsa Verdadeira Verdadeira Verdadeira 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 Verdadeira Falsa Resultado 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. 2. 3. 4. Entrar com um valor na tagname A; Entrar com um valor na tagname B; processar a adição dos valores na tagname R = A + B; apresentar o resultado APROVADO; caso R seja maior ou igual que 5; 5. apresentar o resultado REPROVADO; caso R seja menor que 5; 88 Algoritmo Início A,B R=A+B N R >=5 {Informe os valores das notas} {Calcula a soma das notas} S {Compara} APROVADO REPROVADO Fim 89 {apresenta o resultado} 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. 90 Como exemplo iremos importar a aplicação esteira que se encontra em c:\seba\exemplos\intouch\esteira. 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 91 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. 92 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 93 2) Todos os objetos também devem ter suas variáveis convertidas. 94 Exportar telas Só pode ocorrer ente 2 projetos intouch 1) Abro a aplicação que tem a janela a ser exportada Ex: C:\seba\botoes2) 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... 95 Special Tagname Dicnary... a) Escolha a tagname a ser deletada e deleta. Ou b) Deletar todas as tagnames não usadas. Delete Unused Tags... 96 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. 97 A seguir os campos de alarme são descritos na tabela que segue. campo LoLo Low High HiHi descrição 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.. 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. 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. 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 98 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 campo LoLo Low High HiHi Valor 5 7 17 19 tangue 99 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 100 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. 101 - 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) 102 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: 103 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. 104 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. 105 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. 106 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: 107 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. 108 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 109 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: 110 5 Pen Até 4 tagnames podem ser visualizadas ao mesmo tempo. 111 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 112 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 113 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 114 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 115 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. 116 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. 117 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: 118 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. 119 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. 120 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. 121 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. 122 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:\seba\trend. 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 123 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: 124 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. 125 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 Parâmetro Trend_Tag PrintHT (Trend_Tag ); Descrição Tagname do gráfico de Tendência Histórica., tagname tipo mensagem, ou string atual Exemplos: Botão - imprimir 126 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. 127 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 128 Script usado para selecionar tipo de máquina a ser usada If selecione_cortar THEN Machine=”cortar” ENDIF; If selecione_misturar THEN Machine=”misturar” ENDIF; 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. 129 A> 2 tagnames selecione_cortar e selecione misturar vão p/ 1 Função do checkbox Selecione_cortar=1; Selecione_misturar=1; Selecione a máquina de misturar. Neste caso, somente a tagname selecione_mistura vai p/ 1. 130 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 131 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: 132 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. 133 Ativar o drive de comunicação KEPSERVER - Criar o canal de comunicação: 134 135 -Observar a paridade Odd (ímpar) 136 -Ver, em anexo, a configuração do CLP matsushita. - Adicionar um device: 137 138 -Observar o Device Model: Any model 139 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; 140 O cpl deve estar no modo RUN 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*. 141 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 SAÍDAS ANALÓGICA 142 WX2 WX3 WY2 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 143 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 % ) 144 - 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: 145 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. 146 - 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: 147 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. 148 - 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. 149 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 150 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 KR 3 O22T8I200 O24T8I500 O27T8I500 X_ Flow W_ Flow Flow_control Y_ Flow FILTRATION TAG ACCESS NAME TOPIC NAME ITEM KR4 O22T8I200 O24T8I500 O27T8I500 X_ Flow W_ Flow Level_control Y_ Flow PRESSURE TAG ACCESS NAME TOPIC NAME ITEM Pressure_control KR6 O22T8I200 O24T8I500 O27T8I500 X_Pressure W_Pressure Y_Pressure 151 REACTOR TAG ACCESS NAME TOPIC NAME ITEM KR2 O22T8I200 O24T8I500 O27T8I500 X_Temp W_Temp Temp_control Y-_temp 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. 152 POSSIVEIS FALHAS NA COMUNICAÇÃO INTOUCH / PLANTA INTOUCH VIEWER PROFIBUS ATIVA/FECHADA STATUS PLANTA LED DA PLACA PROFIBUS LIGADO DESLIGADA SOLUÇÃO DO PROBLEMA RODANDO ATIVA BAD 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) RODANDO LIGAR A PLANTA CONDIÇÕES PARA A OPERAÇÃO NORMAL DO INTOUCH - PLANTA MPS 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: 153 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 ENTRADAS DIGITAIS SAÍDAS DIGITAIS 00 01 02 03 04 05 06 ET200_IN. 07 08 08 10 11 12 13 14 15 00 01 02 03 04 05 06 ET200_OUT. 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 154 155 ENDEREÇAMENTO DAS ENTRADAS DIGITAIS 156 STATUS PROFIBUS 157 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. 158 - 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: 159 - Montar o projeto do nível do tanque no Intouch. 160 - 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. Value 0-100 % 0100% I/O Real Mín – Max 20 980 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. 161 - Comportamento do processo e do excel normais mesmo para Access Name = qualquer 162 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. 163 Obs: Caso y1 não tenha sido definida no intouch, seu valor default é O (falso). 164 165 Abrindo qualquer executável C:\ Arquivos de prgramas\microsoft Office\officed\excel Abrir o Excel C:\ Arquivos de prgramas\microsoft Office\officed\word Abrir o Word Obs.: Se já estiver aberto OK 166 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). 167 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 168 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: 169 170 EXERCÍCIOS 1) Descreva duas funcões básicas de um supervisório Industrial 2) Descreva 7 características de supervisórios Industriais: 3) Além do Intouch cite 3 outros nomes de supervisórios Industriais 4) A empresa que desenvolveu o Intouch foi a _______________________ no ano de 19___ com, sede em ______________(cidade) na ______________(Estado). 5) Supervisório Industriais possui telas que representam o processo, onde estas podem ser animadas em função das informações recebidas pelos ______________, _______________ etc. (Motores, Contatores, CLP´s, fusíveis, controladores de processos) 6) Em geral, as IHMs são atualmente disponíveis em duas principais opções básicas: a) Hardware específico do fabricante do PLC. b) Software supervisório executado em computador. Cite qual a desvantagem em se utilizar a primeira opção 7) Explique a finalidade de cada um dos ícones a seguir: __________________________________________________ ___________________________________________________ • Nome do arquivo executável: ________________ __________________________________________________ __________________________________________________ • Nome do arquivo executável: ________________ __________________________________________________ ___________________________________________________ 171 • Nome do arquivo executável: ________________ 8) Qual a diferença entre os ícones de agrupamento Make Symbol e Make Cell Resp.:_____________________________________________ Resp.:_____________________________________________ 9) Estando no Application Manager do Intouch (Gerenciador de Aplicativos), qual a finalidade de Find Application em Tools. (Ver Figura a seguir). 10) Crie uma nova aplicação chamada Reservatório de Leite no seguinte diretório C:\Fabrica de Chocolate ABC\Reservátorios\Leite 11) Crie uma nova aplicação chamada Reservatório de Corante no seguinte diretório C:\Fabrica de Chocolate ABC\Reservátorios\ Corante 12) Crie uma nova aplicação chamada Reservatório de Açucar no seguinte diretório C:\Fabrica de Chocolate ABC\Reservátorios\ Açucar 13) Salve as aplicações das questões 10,11 e 12 em um disqueste 3 ½” a:\Fabrica de Chocolate ABC\Reservátorios\Leite a:\Fabrica de Chocolate ABC\Reservátorios\ Corante a:\Fabrica de Chocolate ABC\Reservátorios\ Açucar 172 14) Desenhar um circulo na janela tipo Poup e animá-lo para quando a tagname var for maior ou igual a 10s a cor do circulo seja azul e quando a variável for menor que 30s o mesmo seja verde. A tagname deve variar, segundo uma animação de slider. 15) Desenhar um retângulo na janela tipo Replace e animá-lo para quando a variável do sistema $second for maior ou igual a 40s o retângulo comece a piscar e quando a variável do sistema $second for menor que 10s o mesmo desapareça. 16) Desenhar um retângulo (200 x 100 pixels), fundo preto, na janela tipo Overlay e animá-lo para quando a variável do sistema $second for igual a 39s o retângulo esteja totalmente preenchido, verticalmente, na cor amarela. 17) Desenhe qualquer figura no paintbrush e cole em um retangulo. 18) Anime um botão de entrada (Input) do tipo String (exemplo: ) com as opçoes de animações Keypad (opção Yes) e Echo Characters (opção Yes) e que essa entrada seja carregada pela tecla F2 do teclado. 19) Crie uma variável (Tag) conforme a seguir: Nome: Nivel, Tipo: Memory Real, Valor inicial: 10 . Valor mínimo: 5 Valor máximo: 25 20) Implemente o seguinte projeto no intouch: Uma bola deve subir uma rampa de 150 pixels de altura em 30 segundos e desçer em 15 s, indefinidamente, conforme mostra a figura a seguir: 21) 8Q)) Implemente o seguinte projeto no intouch: Um retângulo de dimensões A x L deve percorrer uma distancia de 320 pixel’s em 20 s, chegando com uma altura de 15% da original; logo em seguida o retângulo deve descer 265 pixel’s em 40 s, chegando com uma largura de 20% da original, conforme ilustra a tela a seguir. 173 OBS.: Utilizar um único retângulo para implementar o projeto 22) Salvar os programas no disquete (exemplo a:\nome do aluno) 23) Marque a opção correta das questões a seguir: - Os tipos de janelas do Supervisório são: a) Window, Popup, Application b) Application, Overlay, Window c) Real Time Trend, Application, Window d) Popup, Replace, Overlay e) Application, Overlay, Popup - O comando que permite a navegação entre janelas é: a) Show Window b) Replace Window c) Wizard d) Bitmap e) Overlay Window - A meta de comunicação entre um CLP e um Supervisório é: a) criar um canal de comunicação entre os dois b) fazer o software de comunicação reconhecer o dispositivo a comunicar c) relacionar as tagnames com as variáveis do CLP d) estabelecer as tagnames do supervisório e) selecionar o melhor software de comunicação 174 - Um canal de comunicação tem início no seu estabelecimento, ou seja, começa a ser estabelecido a partir do: a) Application Name b) Access Name c) Node Name d) Topic Name e) Device Name - Para conseguir registrar, com precisão, as oscilações de uma variável que acontecem a uma freqüência de 100 Hz, qual é o valor do tempo para recolhimento de amostras (valores), desta variável em um Gráfico de Tendência Real? a) 100 segundos b) 10 segundos c) 1 segundo d) 0,1 segundo e) 0,01 segundo 24) Faça o projeto conforme a seguir, nas seguintes condições: CONDIÇÕES: 1. O tanque 02 esvazia, enquanto o tanque 01 enche; 2. O processo inicia somente quando: a chave de partida(0/1), as válvulas 01 e 02 e a bomba estejam todos ligados; 3. O processo pára se: a chave de partida(0/1) ou a válvulas 01 ou a 02 ou a bomba seja desligada; 4. Quando o nível atingir 10% dos limites máximos (inferiores/superiores) os sensores devem acusar. 5. Criar duas novas telas: uma para indicação de nível e outra para a indicação de alarme; 6. Possibilidade de navegar entre as 3 telas do processo 7. Tela nível só tem permissão usuário Paulo com nível de acesso igual a 200 8. Tela de alarme só tem permissão usuário Carlos com nível de acesso igual a 300 9. Criar o usuário João no nível de acesso = 400 que possa entrar nas suas duas telas Obs: Os usuários Paulo a Carlos só tem acesso as suas telas Tela 1 – Principal 175 Tela 2 – Nivel Tela 2 – Alarme Alarme Real 25) Faça o seguinte projeto no Intouch. a) Um retângulo deve mover-se, 350 pixel´s, da esquerda para direita em 30s e da direita para a esquerda em 45s, continuamente, quando o botão de partida for acionado; b) Os led´s L1 e L2 devem alarmar em valores: mínimo de 10 % e máximo de 90 % do valor da variável (que deve se chamar var) que controla o movimento do retângulo; c) Apresentar os gráficos de Alarme, d) Tendência Real, e) Tendência Histórica. f) Os arquivos de registros dos dados históricos devem ser armazedos em c:\ aluno 26) Faça o seguinte projeto entre o Intouch e o clp Matsushita - Um botão que liga e desliga uma lâmpada na saída Y5 do CLP Matsushita e um LED que monitora esta saída. 176 OBS.: - Utilizar para a comunicação os seguintes parâmetros: Access Name: comunicação Topic Name: CLP - Configurar o drive de comunicação Kepserver. - Apresentar o projeto com a comunicação de fato. 27) Faça o projeto de um Slider de modo que o mesmo possa alterar o valor da variável(tagname) Deslocamento entre os valores de zero a 80, através da mudança de 250 pixel’s na horizontal do retângulo abaixo. 28) Faça o projeto no Intouch de uma bola descendo uma rampa de 200 pixels de altura e 160 pixels de largura em 40 s; em seguida a bola percorre 100 pixels na horizontal, conforme mostra a figura a seguir: 177 29) Implemente a animação de um Tanque 3D Tanque 3D desejado: 30) 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. 178 31) Anime um botão 1 que somente o servidor Paulo com senha P possa acessá-lo e um botão 2 que somente o servidor Carlos com senha C possa acessá-lo. 32) Identifique no canto superior esquerdo o nome do operador logado. (tagname interna string $operator ) 33) Crie 5 janelas novas : USUÁRIOS, PLANTA ELÉTRICA, PLANTA INDUSTRIAL, PLANTA QUÍMICA E FÓRMULAS. A janela USUÁRIOS é a principal, logo da mesma pode se ter acesso a qualquer uma das demais janelas (desde que se tenha permissão para acessar a janela pretendida ver Tabela a seguir). Das demais janelas, deve ser possível retornar para a janela USUÁRIOS. 179 TABELA 1 – USUÁRIO e PERMISSÕES USUÁRIO SENHA FUNÇÃO PAULO P JOAO CARLOS J C PERMISSÃO ACESSA SOMENTE A PLANTA OPERADOR PLANTA INDUSTRIAL INDUSTRIAL ACESSA SOMENTE A PLANTA OPERADOR PLANTA ELÉTRICA ELÉTRICA OPERADOR PLANTA QUÍMICA ACESSA SOMENTE A PLANTA QUÍMICA TELES LUIZ T L SUPERVISOR ADMINISTRADOR ACESSA TODAS AS PLANTAS, MENOS A PLANTA FORMULAS ACESSO IRRESTRITO 180 34) Desenvolva um projeto no Intouch, usando CHECKBOX, para totalizar a pontuação dos trabalhos, realizados pelos alunos em sala de aula, considerando que nem todos possam ter feitos todos os trabalhos. Conforme é mostrado a seguir: 35) Faça um projeto onde uma tagname TEMP representa a temperatura de um processo que varia de 100-900oC, onde a mesma possa ser alterada através de um slider, e que um botão(liga/desliga) associado a tagname possa ser desabilitado entre os valores de 200-300oC e 500-600oC e 800900oC. 36) Faça um projeto onde uma tagname NIVEL representa o nivel de um reservatório (simulado por um retângulo azul 200x500) que varia de 0100 m, onde a mesma possa ser alterada através de um botão de entrada, e que o reservatório, pisque lentamente, com fundo vermelho, entre os valores de 10-30m e 50-60m e 80-90m. 37) Faça um projeto onde um objeto se desloque 250 pixel’s na horizontal à esquerda e 350 pixel’s na vertical para baixo, pela variação da tagname MV que deve variar de 0-50. 181 RESPOSTAS RESPOSTA EXERCÍCIO Q08): Animação: Deslocamento horizontal: Animação: Deslocamento vertical: Animação: Diminuição da altura: 182 Animação: Diminuição da largura: RESPOSTA EXERCÍCIO Q11): SCRIPT’S Special Script’s Application script While running ... Every 1 Msec NIVEL2=100-NIVEL1; IF NIVEL2 >= 11 THEN M2L=1; ELSE M2L=0; ENDIF; IF NIVEL2 >= 90 THEN M2H=1; ELSE M2H=0; ENDIF; IF NIVEL1 >= 11 THEN M1L=1; ELSE M1L=0; 183 ENDIF; IF NIVEL1 >= 90 THEN M1H=1; ELSE M1H=0; ENDIF; IF START == 1 AND NIVEL1>=90 THEN AUXILIAR=1; ENDIF; IF START==1 AND NIVEL1<=10 THEN AUXILIAR=0; ENDIF; IF START==1 AND VALV01==0 AND VALV02==0 AND AUXILIAR==0 THEN NIVEL1 = NIVEL1 + 1; ENDIF; IF START==1 AND VALV01==0 AND VALV02==0 AND AUXILIAR==1 THEN NIVEL1 = NIVEL1 - 1; ENDIF; RESPOSTA EXERCÍCIO Q16): Tanque 3D desejado: 184 Veja montagem passo a passo: 1. 2. 3. 4. 5. 6. Retângulo frente Retângulo fundo Tampa superior Traços das arestas inferiores que devem sobrepor o retângulo 6 Traços das arestas superiores que devem sobrepor o retângulo 6 A figura 6 é a composição das figuras 1,2 e 3 Obs.:1- a altura do retângulo inferior 2 deve ser maior 2- O deslocamento vertical da figura 6 deve ser da altura do retângulo 1 7. Contorno externo do retângulo 6 (Torná-lo invisível) 185 186 187 ANEXOS TAGNAMES INTERNAS Relação de tangames internas System Tagname Description $AccessLevel Read only integer security tagname used in expressions or scripts to control the operator's ability to perform specific functions. $AlarmLogging Read/write only discrete tagname that is set to 1 to restart alarm logging and printing during runtime. Equal to the Restart Alarm Log command on the WindowViewer Special menu. $AlarmPrinterError Read only discrete tagname that is equal to 1 if there is a printer error. $AlarmPrinterNoPaper Read only discrete tagname that is equal to 1 if the printer is out of paper. $AlarmPrinterOffline Read only discrete tagname that is equal to 1 if the printer is offline. $AlarmPrinterOverflow Read only discrete tagname that is equal to 1 if there is printer overflow. $ApplicationChanged Read only real tagname that reflects whether or not the remote application has changed in distributed systems. This number is incremented each time the Notify Clients command is selected on the Server node's WindowViewer Special menu. $ApplicationVersion Read only real tagname that reflects the current version number of the application. This number changes each time a tagname or QuickScript is changed, added or deleted. $ChangePassword Write only discrete security tagname that allows the operator to set the value of the $ChangePassword tagname to 1, causing the generic Change Password dialog box to be displayed for the operator. $ConfigureUsers $Date Write only discrete security tagname that can be used on a discrete button to allow the operator to set the value of the $ConfigureUsers tagname to 1, causing the generic Configure Users dialog box to be displayed for editing the security user name list. Read only integer tagname that displays the 188 whole number of days which have passed since 1/1/70. $DateString Read only memory message tagname that displays the date in the same format set in the WIN.INI file, for example, 4/18/1992.(This date format is set through the Windows Control Panel.) $DateTime Read only real tagname that displays the fractional number of days which have passed since 1/1/70. $Day Read only integer tagname that displays the current day (value may be 1-31). $HistoricalLogging Read/write discrete tagname that monitors/controls starting and stopping of historical logging. This is a global command for the whole application. $Hour Read only integer tagname that displays the current hour of the day (value may be 0-23). Read only discrete security tagname that equals 1when the time configured for automatic log off ofthe operator has elapsed. $InactivityTimeout $InactivityWarning Read only discrete security tagname that equals 1when the time configured for warning the operator that log off is about to occur has elapsed. $LogicRunning Read/write discrete tagname used to monitor and/or control the running of scripts. Note Asynchronous User Defined Function scripts that are currently executing cannot be stopped. However, you can prevent new scripts from executing. $Minute Read only integer tagname that displays the current minute (value may be 0-59). Read only integer tagname that displays the current month (value may be 1-12). $Month $Msec $NewAlarm $ObjHor $ObjVer Read only integer tagname that displays milliseconds (value may be 0-999). Read/write discrete tagname that is equal to 1 each time a new alarm occurs. Read only integer tagname used to display the horizontal pixel location of the center of a selected object. Read only integer tagname used to display the vertical pixel location of the center of a selected object. 4-82 Chapter 4 System Tagname Description 189 $Operator Read only security message tagname that can be used in an expression or QuickScript to control the operator's ability to perform specific functions. $OperatorEntered Read/write security message tagname that sets the "User Name" for the operator. $PasswordEntered Write only security message tagname that sets the "Password" for the operator. $Second Read only integer tagname that displays the current seconds (value may be 0-59). $StartDdeConversations Read/write discrete tagname used to start uninitiated conversations during runtime when the Special menu has been disabled. $System Read only Alarm Group type tagname for the alarm root group. If a tagname is not assigned to a specific Alarm Group name, it is automatically assigned to this root group by default. All defined $Time Alarm Groups are descendants of $System. Read only integer tagname that displays the time in milliseconds since midnight. $TimeString Read only memory message tagname that displays the time in the same format set in the WIN.INI file, e.g., 12:01:59 PM. (This time format is set through the Windows Control Panel.) $Year Read only integer tagname that displays the year in four digits, e.g., 1990. Protocolos de comunicação DDE é um protocolo de comunicação desenvolvido pela Microsoft para permitir troca de dados nas aplicações no ambiente Windows, tipo enviar/receber e de/para. Implementa uma relação de cliente-servidor entre duas aplicações correntes. O servidor fornece e aceita os dados de qualquer outra aplicação. Aplicações que solicita os dados são chamadas de clientes. Algumas aplicações como InTouch e Microsoft Excel podem ser simultaneamente cliente e servidor. 190 SuiteLink Utiliza um protocolo TCP/IP. SuiteLink é projetado especificamente para satisfazer as necessidades industriais, como integridade de dados, alta velocidade de processamento e diagnósticos mais fáceis. Este padrão de protocolo só roda em Microsoft Windows NT 4.0 SP4 (ou menos recente). FastDDE Provê muitos Wonderware DDE mensagens em uma única Microsoft mensagem DDE. Esta embalagem melhora a eficiência e o desempenho, reduzindo assim o número total de DDE entre o cliente e servidor. Devido o seu desempenho FastDDE está sendo utilizada em ambientes distribuídos. NetDDE Estende a funcionalidade de comunicação da DDE para incluir comunicação entre redes locais e portas seriais. É utilizada para permitir vínculos de DDE entre aplicações que ocorrem em computadores diferentes conectados em redes ou em modem. Por exemplo, NetDDE comunica DDE entre aplicações de IBM PCs conectadas por LAN ou modem e aplicações DDE-atentas que correm em equipamento não-PC com ambientes operacionais tipo VMS e UNIX. 191