Hands – On
Programação avançada em ambiente Galileo.
Proibida a reprodução total ou parcial deste material, por qualquer meio ou processo sem expressa autorização por escrito da EATON Ltda. Electrical – Divisão Electrical PDO. A violação dos direitos autorais é crime, podendo cominar em pena de prisão e/ou multa, conjuntamente com busca e apreensão do material, sem prejuízo das indenizações civis (de acordo com o artigo 184 e parágrafos do Código Penal Brasileiro c/c a Lei nº 9.610/98, Lei dos Direitos Autorais). As informações contidas nesta apostila correspondem ao estado atual da técnica e estão sujeitas a alterações sem aviso prévio. Os programas de exemplo contidos nesta apostila são para efeitos didáticos, a EATON não se responsabiliza por quaisquer danos e/ou acidentes que a utilização indevida destes softwares venha a causar. A participação e/ou aquisição do treinamento não dá nenhum direito ao participante sobre os softwares utilizados durante o treinamento, incluindo cópias, versões de demonstração e/ou versões originais. O treinamento tem como base a utilização de produtos EATON. A EATON não se responsabiliza por quaisquer adaptações, conversões e/ou utilização dos conceitos contidos nesta apostila com produtos de outra fabricação.
19 de novembro de 2012 Página: 2
www.eaton.com www.eaton.com
Página 2
Proibida a reprodução total ou parcial deste material, por qualquer meio ou processo sem expressa autorização por escrito da EATON Ltda. Electrical – Divisão Electrical PDO. A violação dos direitos autorais é crime, podendo cominar em pena de prisão e/ou multa, conjuntamente com busca e apreensão do material, sem prejuízo das indenizações civis (de acordo com o artigo 184 e parágrafos do Código Penal Brasileiro c/c a Lei nº 9.610/98, Lei dos Direitos Autorais). As informações contidas nesta apostila correspondem ao estado atual da técnica e estão sujeitas a alterações sem aviso prévio. Os programas de exemplo contidos nesta apostila são para efeitos didáticos, a EATON não se responsabiliza por quaisquer danos e/ou acidentes que a utilização indevida destes softwares venha a causar. A participação e/ou aquisição do treinamento não dá nenhum direito ao participante sobre os softwares utilizados durante o treinamento, incluindo cópias, versões de demonstração e/ou versões originais. O treinamento tem como base a utilização de produtos EATON. A EATON não se responsabiliza por quaisquer adaptações, conversões e/ou utilização dos conceitos contidos nesta apostila com produtos de outra fabricação.
19 de novembro de 2012 Página: 2
www.eaton.com www.eaton.com
Página 2
INDEX:
User Management .............................................................................................................................. 4 Introdução ao gerenciamento de usuários. .................................................................................... 4 Configuração geral. ........................................................................................................................ 4 Configuração dos grupos ................................................................................................................ 6 Configuração dos direitos do usuário. ............................................................................................ 7 Direitos do sistema ......................................................................................................................... 8 Criando usuários ............................................................................................................................. 8 User overview ................................................................................................................................. 9 Download e Upload do banco de dados de usuários. .................................................................... 9 Function Keys relacionadas com gerenciamento de usuários. .................................................... 10 Escalonamento de variáveis pela IHM. ............................................................................................ 11 Units Translation ........................................................................................................................... 11 Function Keys relacionados ao escalonamento de variáveis. ...................................................... 12 Help Handling ................................................................................................................................... 13 Mask(Help) .................................................................................................................................... 13 Botão de help ................................................................................................................................ 14 Lista de variáveis .............................................................................................................................. 15 Function Keys para Parameter List .............................................................................................. 18 Help text para Parameter List. ...................................................................................................... 19 Receitas ............................................................................................................................................ 21 Enhanced Recipes ........................................................................................................................ 21 Recipe Tags .................................................................................................................................. 23 Confirmações ................................................................................................................................ 24 Objeto Recipe ............................................................................................................................... 25 Function Keys utilizados em receitas. .......................................................................................... 26 Máscaras de Confirmação. ...................................................................................................... 26 Elementos da mascara de confirmação .................................................................................. 27 Upload, Download e edição de receitas. ...................................................................................... 28 Error Handling .................................................................................................................................. 29 Criando TAGs de erro. .................................................................................................................. 29 Configurando as mensagens. ....................................................................................................... 31 Error window ................................................................................................................................. 32 Function Keys para Error Window ................................................................................................ 32 Sub Masks ........................................................................................................................................ 33 Place Holders................................................................................................................................ 33 Animação e segurança contra toques acidentais. ........................................................................... 35 Segurança contra toques acidentais. ........................................................................................... 36 Gráfico .............................................................................................................................................. 38
19 de novembro de 2012 Página: 3
www.eaton.com www.eaton.com
Página 3
User Management Introdução ao gerenciamento de usuários. O gerenciamento de usuário permite que você proteja certas funcionalidades de sua IHM de acessos não autorizados, por exemplo: alteração de set-points, acesso a certas páginas, etc. Este recurso permite a definição máxima de 200 grupos com até 500 usuários. Todos os direitos são definidos nos grupos. Um usuário só pode pertencer a um grupo, porém um grupo pode ter vários usuários. Os grupos não são hierarquicamente organizados e todos os grupos devem ser definidos no GALILEO, ou seja, não se pode criar novos grupos na IHM, porém os usuários de cada grupo, podem ser excluídos, criados e editados na IHM. O gerenciamento de usuários tem uma importância central no projeto. Portanto, é aconselhável pensar sobre as restrições que você deseja fazer no projeto. Na maioria dos casos, uma estrutura hierárquica de autorizações é útil. Aqui estão algumas idéias e perguntas para orientar seu projeto: 1-) O que deve ser restrito no projeto? 2-) Quais são os direitos de cada grupo? 3-) Como é a hierarquia dos grupos? 4-) Quem é o administrador? 5-) Os usuários são criado ou excluído na IHM? 6-) Quais usuários têm os mesmos direitos? Para que possamos configurar os grupos e seus usuários de forma eficiente é recomendado seguir este procedimento: 1-) Criar um grupo para todos os usuários com os mesmos direitos. Comece com o grupo, que é mais restrito, ou seja, tem menos direito. 2-) Criar um grupo de administradores que tem o maior acesso, ou seja, a maioria dos direitos. 3-) Criar e definir os direitos dos grupos intermediários 4-) Lembre-se que o administrador também deve ser capaz de gerir a si mesmo. 5-) Crie os usuários já conhecidos. 6-) Atribuir a cada usuário a um grupo.
Configuração geral. Na opção Config-> User management:
19 de novembro de 2012 Página: 4
www.eaton.com
Página 4
Save the actual user in string...
Assim que o Login for efetuado com sucesso, o nome do usuário sera arquivado nesta variável que pode ser enviada ao CLP. Quando um Logout for realizado esta variável fica vazia. Store actual group ID in...
Assim que o Login for efetuado com sucesso, o número do grupo a que o usuário pertence será arquivado nesta variável. Quando um Logout for realizado esta variável é carregada com o valor definido em Tag value when logged out. After a logout change to mask
Com esta opção habilitada assim que o usuário realizar um Logout, por solicitação ou então por tempo, a IHM irá para uma máscara pré definida. Automatic language change (on login or logout)
Esta opção habilita a mudança de linguagens no Login e no Logout. Veja o capítulo mudança de linguagem para compreender melhor este recurso. Com esta opção habilitada, assim que o usuário realiza um Login o sistema vai para a última linguagem ativa que este usuário utilizava. Quando ocorre um Logout o sistema volta para a linguagem padrão. Keyboard to input the password
Nesta opção escolhemos o modelo de teclado que queremos para entrar com o password. Um teclado numeric garantirá que os usuários utilizem senhas numéricas somente. Um teclado alfanumérico permitirá senhas com letras e numeros. Keyboard to input the user name
Idem ao anterior, porém neste caso é o teclado desejado para entrar com o nome do usuário. Keyboard to change the password (aging)
Idem ao anterior, porém neste caso é o teclado desejado para entrar com o nome do usuário. Minimum length of the passwords
Quantidade minima de caracteres permitidos para compor o Password. Password history: check the last x passwords
Habilita a memorização de uma quantidade X de password e garante que o usuário renove de fato sua senha.
19 de novembro de 2012 Página: 5
www.eaton.com
Página 5
Configuração dos grupos
Clicando com o botão direito sobre as diferentes linha e colunas da tabela de configuração dos grupos, podemos criar novos grupos, deletar grupos e configurar propriedades dos grupos, ou mesmo, desativá-las. Group
Define o nome do grupo. ID
Define o número do grupo (ID) Password Aging [Days]
Define o tempo de vida que um password dentro deste grupo tem. Após este período o sistema irá requisitar um novo password assim que o usuário realizar um novo Login. Podemos desativar este recurso, deixando a célula em branco, estipular um valor constante ou mesmo atribuir um valor dinâmico, ou seja, um TAG do Galileo é que terá a informação de dias que o sistema irá esperar. Start Password
Quando esta opção está ativa, significa que o sistema irá solicitar um novo password assim que o usuário realizar um Login pela primeira vez no sistema. Isto é muito interessante quando queremos ter certeza de que um supervisor que acaba de criar um novo usuário, não saberá a senha do mesmo! Auto Logout Time [Sec.]
Esta opção determina que um usuário deste grupo será automaticamente desativado após X segundos de inatividade na tela. Bad Logins
Quando parametrizada esta opção trava um usuário “Lock” assim que uma quantidade X de tentativas fracassadas de Login são realizadas. User
Quando houverem usuários criados, podemos ver quais são os usuários de cada grupo. Export
Permite que exportemos todas as configuração desta tela para um arquivo do tipo texto.
19 de novembro de 2012 Página: 6
www.eaton.com
Página 6
Configuração dos direitos do usuário. A configuração dos direitos do usuário utiliza uma tabela de bits para determinar qual o grupo que está habilitado no momento. Este bit pode ser utilizado no PLC para liberar uma determinada operação na máquina, ou então utilizada no Galileo para tornar botões de acesso, ou de alteração de set-points invisíveis ou bloqueados.
Para adicionarmos TAGs a esta tabela basta clicarmos com o botão da direita, selecionar a opção Change Rights e então selecionarmos os TAGs que utilizaremos para definição dos direitos de acesso.
19 de novembro de 2012 Página: 7
www.eaton.com
Página 7
Direitos do sistema Nesta tela definimos os direitos inerentes ao gerenciamento de usuários via IHM. Veja o exemplo abaixo:
Neste caso, os usuários do grupo “Operacao” conseguem apenas mudar seu próprio password. Porém os usuários do grupo “Supervisor” podem criar novos usuários, apagar usuários, bloquear ou desbloquear usuários, trocar usuários de grupos e até mesmo trocar a senha de qualquer usuário de qualquer grupo. A última coluna, “Destination Groups” é a que determina sobre quais grupos um determinado grupo tem poder.
Criando usuários Finalmente criamos os usuários na aba “Users”, para adicioná-los basta clicar com o botão direito do mouse na tela.
Podemos selecionar se determinado usuário estará bloqueado, qual sua senha inicial e finalmente a que grupo ele pertence.
19 de novembro de 2012 Página: 8
www.eaton.com
Página 8
User overview Finalmente na opção User overview é possível visualizarmos todos os usuários já criados, seus direitos de acesso e a que grupo pertence. Nesta tela não é possível alterar estas informações , esta tela é apenas para conferência e para exportar os dados a um outro arquivo se necessário.
Download e Upload do banco de dados de usuários. Sem dúvida está claro neste ponto que o banco de dados de usuários na IHM é algo dinâmico, ou seja, com o passar do tempo podemos ter novos usuários, usuários antigos podem ser removidos e senhas podem ser alteradas a todo o momento. Nesta situação torna-se imperativo garantir que, em caso de alterações no software da IHM o banco de dados de usuários permaneça inalterado, do contrário teremos vários usuários que deixarão de existir, senhas que se tornarão inválidas e assim por diante. Por este motivo sempre que selecionamos a opção Download no Galileo, o mesmo pergunta o que queremos atualizar na IHM.
Se temos intenção de atualizar os dados dos usuários “Password Data” então selecionamos esta opção, o banco de dados que existe na IHM será apagado e um novo, que foi definido no Galileo, será enviado à mesma. Por outro lado, se vamos realizar alterações mais pesadas na máquina, e mesmo o banco de dados de usuários sofrerá alterações, então podemos recuperar este arquivo da IHM, basta selecionar a opção Build – Upload Data.
19 de novembro de 2012 Página: 9
www.eaton.com
Página 9
Function Keys relacionadas com gerenciamento de usuários. Os botões que criamos na tela da IHM que permitem o gerenciamento de usuários são botões do tipo: Function Keys
Estes botões realizam funções de sistema, e existe um grupo de botões para cada funcionalidade, assim que inserimos um destes botões na tela a tela de configuração se abre:
Na opção grupo escolhemos a opção “User Management”, na opção função escolhemos a função desejada do botão em questão. As opções Parameter 1 e Parameter 2 só são habilitadas quando determinadas função precisam de mais dados para ser executadas. Com estes botões podemos selecionar as funções de Login, troca de password, logout, criação de novo usuário, apagar usuário, etc...
19 de novembro de 2012 Página: 10
www.eaton.com
Página 10
Escalonamento de variáveis pela IHM. No momento em criamos variáveis na IHM e conectamos estas variáveis ao CLP, as mesmas podem ser escalonadas. Por exemplo, uma entrada analógica do CLP terá variação de 0 a 1024, em verdade esta variação é relativa à um sensor de temperatura que varia conforme a temperatura, ou seja, em verdade esta variação de 0 a 1024 corresponde a uma variação de 0 a 100 graus Celsius. Quando criamos um tag podemos definir vários parâmetros. Estas configurações aparecem quando clicamos duas vezes no TAG em questão. Formato
As variáveis podem aparecer como números decimais, hexadecimais, etc...
Limites
As variáveis podem receber limites, estes limites podem ser constantes ou dinâmicos, ou seja, os limites podem ser valores pre definidos ou então outros TAGs. Estes limites são utilizados, por exemplo, para determinar a cor de exibição dos números e dos Bargraphs na tela da IHM. Se os valores estiverem abaixo do “Lower Limit” teremos a cor vermelha. Se os valores estiverem normais entre o “Lower Limit” e o “Upper Limit” a variável ou o bargraph estará verde. Se estiver acima do “Upper Limit” a cor apresentada será a amarela, por exemplo. Todas as cores podem ser livrementes definidas no Galileo.
Units Translation CLP.
Finalmente na aba Unit Translation podemos escalonar a variável que é lida apartir do
Na aba “Group” selecionamos a que grupo esta variável pertence, podemos renomear os grupos. Por exemplo podemos batizar o Group1 de temperaturas e todas as temperaturas atrelamos a este grupo. Na aba, Mode A e Mode B definimos o cálculo para o escalonamento, as abas são idênticas entre si.
19 de novembro de 2012 Página: 11
www.eaton.com
Página 11
Repare que no modo A temos um cálculo de conversão e uma unidade definida, neste caso, graus Celsius, já no modo B temos outro cálculo e outra unidade definida, neste caso graus Fahrenheit. Para todas as variáveis podemos ter dois modos diferentes de exibição. Sendo que o modo A é o principal, ou seja, é o que será apresentado primeiramente.
Function Keys relacionados ao escalonamento de variáveis. Ao selecionarmos uma Function Key, selecionamos a opção Group: Units. Em Unit Group escolhemos o grupo que desejamos alterar, neste caso Group1. Com o exemplo acima acabamos de criar um botão que muda minha escala na IHM de graus Celsius para graus Fahrenheit.
19 de novembro de 2012 Página: 12
www.eaton.com
Página 12
Help Handling Podemos criar telas de ajuda, textos de ajuda para botões, listas de parâmetros, receitas, erros, etc. Nesta etapa iremos estudar as telas de ajuda criadas para botões específicos colocados nas telas da IHM. As rotinas de HELP para erros, parâmetros e outros serão explicados em seus respectivos capítulos.
Mask(Help) Em primeiro lugar criamos uma máscara de HELP, que é a máscara que aparecerá quando selecionarmos algum botão de HELP na IHM. Quando uma máscara de HELP é ativa, automaticamente, qualquer toque em qualquer posição da tela, provoca um retorno à última máscara ativa. Para criar uma máscara de HELP, nós clicamos na aba Masks, selecionamos o folder Masks(Help) e, como botão direito, selecionamos a opção NEW.
Back color//Color
Qual a cor de fundo desta máscara, podemos selecionar uma cor dentro da paleta, ou podemos deixar com fundo transparente. Script Calls
Podemos criar Scripts de entrada e saída para estas telas. Uma vez que a máscara está criada agora nós montamos onde ficarão os desenhos e
onde aparecerão os textos de Help na tela. Utilizamos o objeto help information ( Bitmap (
) para inserir os textos e desenhos.
19 de novembro de 2012 Página: 13
www.eaton.com
Página 13
) e Draw
Information Type:
Aqui escolhemos qual o tipo de HELP esta caixa de diálogo em questão irá apresentar: O Help Text 1, o Help Text 2 ou então o HELP Picture. Podemos ter uma, duas ou três caixas de Help Information por tela de help.
Botão de help Na tela standard criamos agora botões de help( ) sobre pedaços de desenhos, variáveis ou botões de help no canto das telas. Cada um destes botões poderá chamar uma tela diferente de ajuda e chamar diferentes textos.
Assim que criamos o botão de Help, selecionamos a Máscara que este botão irá chamar e os textos que este botão irá chamar!
19 de novembro de 2012 Página: 14
www.eaton.com
Página 14
Lista de variáveis Um recurso pouco explorado, mas que traz inúmeras vantagens no galileo é a lista de parâmetros. Esta ferramenta permite criar uma tabela com variáveis. Para configurar uma lista de parâmetros selecione a opção: Config -> Parameter List manager...
Tag
Todos os TAGs que fazem parte de alguma listagem, estes TAGs depois podem ser agrupados para facilitar sua exibição e seu controle. Number
O número é mostrado no objeto Parameter List na tela da IHM. Diferentes tags podem ser atribuídos ao mesmo número. Utilizando o botão “...” automaticamente o sistema atribui o próximo número livre. Group
Cada tag deve ser colocado em um grupo. Estes grupos são utilizados para definer quais variáveis devem aparecer na tela da IHM. Novos grupos podem ser criados através do botão “Definition of Groups” localizado na parte superior do Parameter List Manager. Keyboard
Se um teclado for definido nesta opção, então o tag poderá ser alterado através da lista de parametros, nesta coluna nós escolhemos também qual o teclado desejamos utilizar para alterar o valor. Existem teclados numéricos, alpha numéricos e com botões de increment. Description Text
Nem sempre o TAG representa o nome da variável reconhecida pelo operador, falando de programação, normalmente não utilizamos espaço ou caracteres especiais em nomes de tags. Nesta coluna inserimos o nome que deverá aparecer na tabela, este nome estará ligado ao TAG. Bitmap.
Aqui você pode atribuir imagens a cada variável. Normalmente se recomenda imagens pequenas! (24x24) ou (36x36). Esta imagem irá aparecer em uma coluna ao lado de cada variável.
19 de novembro de 2012 Página: 15
www.eaton.com
Página 15
Visibility / Accessibility
Nesta tela podemos configurar algumas regras para visualização e acessibilidade de TAGs. Nesta tela podemos apenas visualizar os TAG’s, se necessário proceder a alguma alteração, então a mesma deve ser feita na tela anterior. Tag
Todos os TAGs criados anteriormente na aba General irão aparecer aqui.
Visibility 1/Visibility 2
Variável não sera exibida, e por consequência acessada, caso um destes TAG’s esteja habilitado. Na coluna lógica definimos em que nível lógico a variável sera exibida, caso esta opção seja: ON(=1) então a variável estará visível quando um dos TAGs estiver em 1. Se a opção for OFF(=0) ) então a variável estará visível quando um dos TAGs estiver em 0. Accessibility 1/ Accessibility 2
A Variável sera exibida, porém seu acesso para edição de valores depende de um destes TAG’s. Na coluna lógica definimos em que nível lógico a variável terá acesso liberado, caso esta opção seja: ON(=1) então a variável estará acessível quando um dos TAGs estiver em 1. Se a opção for OFF(=0) ) então a variável estará visível quando um dos TAGs estiver em 0. Exibição
Através da opção Parameter Lista no menu de objetos de visualização ( ) conseguimos inserir nossa tabela de parâmetros na tela. A princípio teremos quatro colunas nesta tabela a saber: Bitmap, ID, Descrição e valor. Estas colunas podem ser removidas conforme nossa necessidade.
19 de novembro de 2012 Página: 16
www.eaton.com
Página 16
Name
Definimos o nome desta tabela, qualquer Key Functions utilizada, por exemplo, para rolar a tabela, uma linha, ou uma página para cima ou para baixo, será designada para a tabela de nome definido por este parâmetro. Columns
Selecionamos quais colunas desejamos ver na tela da IHM. Figura, Número, descrição e/ou valor. No caso de valores, existe a opção de se exibir, através da check box, a unidade desta variável do lado de seu valor, as funções estudadas anteriormente para escala e troca de escala funcionam aqui também. Column Width
Define o tamanho de cada coluna em % do tamanho total definido para esta coluna.
Tag groups
19 de novembro de 2012 Página: 17
www.eaton.com
Página 17
Na opção de grupo de TAGS nós escolhemos quais grupos serão exibidos nesta tabela. Podemos ter um ou mais grupos por tabela. Color/Font
Nesta aba selecionamos as cores de texto e fundo, bem como a fonte e tamanho de letra para as duas situações: Para quando a variável estiver habilitada para alteração e quando a variável estiver desabilitada para alteração.
Function Keys para Parameter List Inserimos Function Keys para controlar a lista recém inserida.
Em Group escolhemos a opção “Parameter List”, em “Function” escolhemos a função que devemos realizar com esta tabela e em “Param. List” qual o nome da tabela que desejamos atuar. Para uma lista mais completa de funções disponíveis para os “Function Keys” solicitamos a leitura do HELP do próprio sistema do Galileo.
19 de novembro de 2012 Página: 18
www.eaton.com
Página 18
Help text para Parameter List. Podemos criar para cada TAG um help contend textos de ajuda para que o Operador saiba: do que se trata aquela variável, algum desenho para ilustrar a variável bem como orientá-lo em algum funcionamento ou então advertência com relação a aquela variável. A tela é chamada através de uma Function Key, no caso do Parameter List: “Show Tag Help” do Group “Parameter List”. Primeiramente criamos uma tela de HELP, esta tela será chamada sempre que solicitarmos um help para algum tag. Na parte do “Project View” aba Masks você seleciona o folder Masks(HELP), clicando com o botão direito do mouse opção “new”. Vá no menu principal opção config HELP Manager
TAG
Help.
Aqui carregamos os TAGs que pertecem à lista de parâmetros e que terão um texto de
Mask
Aqui colocamos qual tela de HELP será chamada quando o help deste TAG for selecionado.
Na Aba Help Text definimos os Helps para cada TAG. Estes TAGs são carregados automaticamente da aba “Help Mask”.
19 de novembro de 2012 Página: 19
www.eaton.com
Página 19
Na aba Help Picture atrelamos um desenho de ajuda para cada TAG. TAG
Help.
Aqui carregamos os TAGs que pertecem à lista de parâmetros e que terão um texto de
Bitmap:
Aqui nós selecionamos a imagem que desejamos apresentar com o HELP deste TAG.
KEEP Size // Background:
Se selecionarmos a opção Keep Size então o desenho, quando for exibido na tela irá manter seu tamanho original, neste caso escolhemos uma cor de fundo, Background, para preencher os possíveis espaços vazios que possam aparecer entre o desenho e as bordas da caixa definida. Marker//Enable//Type//Color//Width//Position:
Em alguns casos, nós carregamos a imagem de um processo ou máquina e desejamos marcar nesta imagem onde está determinada peça ou posição. Estas ferramentas permitem criar um marcador, em forma de círculo, elipse, etc... em um determinado ponto do desenho.
19 de novembro de 2012 Página: 20
www.eaton.com
Página 20
Receitas Receitas são conjuntos de valores diferentes, que podem ser carregados a diferentes TAGS. Por exemplo, em nosso CLP definimos um número X de TAGS, que receberão valores da IHM: TemperaturaDesejada PressaoDesejada TempoEsterilizacao
BYTE REAL TIME
Agora imagine que podemos realizar quatro processos diferentes apenas alterando os valores detes TAG’s Receita1 Receita2 Receita3 TemperaturaDesejada 10 20 25 PressaoDesejada 1,00 2,56 3,65 TempoEsterilizacao 10S 15S 67S O sistema de receitas da IHM aguarda uma definição via operador ou CLP de qual receita deseja enviar ao CLP, então o Galileo escreve todos os valores correspondentes à receita escolhida em seus respectivos TAGs. Cada receita no Galileo pode possuir até 2000TAG’s diferentes, e cada receita pode armazenar até 9999 combinações diferentes de receitas.
Enhanced Recipes Para criação do banco de dados de receitas devemos ir à aba de “Project Views” e selecionar a opção Recipe. Podemos criar receitas no modo Standard e no modo Enhanced. Nesta apostila estaremos focando receitas do tipo Enhanced, mais completas que as do tipo Standard.
Clique com o botão direito sobre a pasta Enhanced Recipes e crie uma nova receita. Em seguide dê um duplo clique sobre a receita criada e faça a parametrização da mesma!
19 de novembro de 2012 Página: 21
www.eaton.com
Página 21
No. of Recipe Entries
Aqui inserimos qual a quantidade maxima de opções que teremos nesta receita.
Entry Name Length
Qual o tamanho máximo para o nome de identificação de cada receita.
Path
O caminho onde o arquivo de receita (*.TAB) sera salvo dentro da IHM. Esta opção nós não alteramos, pois podemos ter problemas de localização mais adiante. Store the actual Recipe Entry Number in Tag
Quando esta opção está habilitada o número da receita selecionada na tela é armazenado em um TAG do tipo BYTE. Store the actual Recipe Entry-Name in the String
Quando esta opção está habilitada o nome da receita atual é armazenado em um TAG do tipo String. Number of the Recipe Object // Recipe external changeable
Este recurso permite a inicialização da receita aprtir do CLP, ou seja, é possível criar u programa no CLP que escolhe qual receita deve ser lida ou escrita na IHM. As receitas são endereçadas entre sí atarvés deste número que pode variar de 0 a 15, ou seja podemos acessar até 16 receitas diferentes via CLP. Através do recurso CONTROL DATA BLOCK e STATUS DATA BLOCK escolhemos qual receita desejamos, e qual item de receita. Estes recursos serão estudados mais adiante. Rules for Entry Names // N o empty entry names allowed
Podemos bloquear ou não a entrada de nomes de receita em branco.
Rules for Entry Names // No identical entry names allowed
Cada receita deve ser salva na IHM com um nome único.
19 de novembro de 2012 Página: 22
www.eaton.com
Página 22
Recipe Tags
Na aba Recipe Tags selecionamos quais Tags farão parte desta receita. Até 2000TAGs podem ser endereçados para cada receita. Com a opção INFO temos um detalhamento da receita, número de TAGs, número de receitas diferentes e tamanho do arquivo em Bytes.
19 de novembro de 2012 Página: 23
www.eaton.com
Página 23
Confirmações Através dos Function Keys selecionamos opções para ler, escrever, copiar ou limpar receitas. Se necessário podemos criar telas de confirmação, ou seja, quando selecionamos limpar uma determina receita, uma tela se abrirá perguntando se temos certeza de que queremos realizar esta operação.
Para esta função nós escolhemos qual operação precisamos de confirmação, e qual máscara será chamada na opção mask. As máscaras devem ser criadas antes de serem selecionadas através desta tela.
19 de novembro de 2012 Página: 24
www.eaton.com
Página 24
Objeto Recipe Quando inserimos um objeto receita na tela o que temos é uma tabela parecida com a lista de parâmetros, porém ao invés de visualizar TAGs e seus valores nós visualizamos as receitas disponíveis.
Recipe
Nome da receita que desejamos exibir neste objeto.
Display Columns
Quais colunas eu desejo exibir neste objeto? O nome da receita, o número da receita ou a proteção contra escrita da receita.
Rows
Configuramos o tamanho das linhas que apareção na tabela.
Save ID in...
Aqui podemos salvar o número da linha iluminada na tabela em um TAG. Atenção, este número representa qual linha você selecionou na tabela, lembre-se que a receita só será carregada ao CLP quando você proceder ao comando de Load. 19 de novembro de 2012 Página: 25
www.eaton.com
Página 25
Function Keys utilizados em receitas. Assim como o Parameter List, o objeto de receita possui várias Function Keys para controle e gerenciamento de receitas na IHM. Desde comandos de Line UP e Line Down até comandos de escrita e leitura de receitas. Para acessar estas funções primeiro selecione em Group a opção “Recipes”, logo em seguida escolha a função que você deseja realizar, no caso abaixo, faremos um line UP com o objeto de receita na tela da IHM. Finalmente qual o nome da receita que você deseja exercer esta funções
Neste exemplo abaixo temos a função de leitura da Receita, este comando envia os valores da receita, da IHM para o CLP. A opção Save, por conseguinte carrega os valores do CLp para a IHM. Para alguns processos podemos criar telas de confirmação.
Máscaras de Confirmação. Para criar máscaras de confirmação, nós vamos na aba MASK, localizada no Project Views sob o folder “Masks(Keyboard)” pois em verdade o que vamos criar é uma máscara de teclado para confirmação. Clicamos com o botão direito e selecionamos a opção new. Tenha em mente que estas telas são chamadas automaticamente desde que sejam atribuídas a função na configuração da receita.
19 de novembro de 2012 Página: 26
www.eaton.com
Página 26
Keyboard Type:
Selecionamos a opção Confirmation, pois vamos criar um Keyboard de confirmação.
Back Color
Aqui escolhemos qual a cor de fundo que queremos em nossa tela, neste caso temos opção de optar por uma tela transparente. Como o teclado aparece sobre a tela original de chamada, ao fundo podemos visualizar todo a tela a nterior. Script Calls
Aqui podemos atribuir Scripts de entrada ou saída de tela. Scripts são rotinas de programação que criamos no Galileo, este item será estudado mais adiante.
Elementos da mascara de confirmação Utilizando o objeto “Function Key” criamos botões para confirmer ou não a nossa operação. Repare que nas telas de confirmação, além de criarmos botões de caracteres, também podemos criar atalhos de status: Function Key utilizada para confirmar o operação
Function Key utilizada para cancelar a operação.
Preste atenção que em “Group” selecionamos a opção “Characters”, o equivalente a teclas neste caso.
19 de novembro de 2012 Página: 27
www.eaton.com
Página 27
Quando escolhemos a opção “Group” Recipes, então temos funções de visualização, neste exemplo a caixa irá exibir qual o nome da receita em questão que será, apagada, copiada, etc...
Upload, Download e edição de receitas. Assim como no Password, as receitas são alteradas ao longo do tempo e, para evitar perda de dados quando realizamos alterações no Galileo em sistemas que já operam a algum tempo, temos a opção de realizar o download do programa do Galileo sem enviar o banco de dados da receita, ou seja, o banco de dados que existe hoje na IHM será preservado. Da mesma forma podemos, em caso de necessidade, realizar um upload apenas do banco de dados de receitas. Em conjunto com o Galileo, um software chamado Recipe Editor é criado para auxiliar na edição de receitas apartir do PC. Após criar as receitas, abra o Recipe Manager que se encontra na mesma pasta que o ícone do Galileo.
O arquivo de receita, que possui extensão.TAB pode ser aberto nesta ferramenta, aqui podemos editar, nome por nome e valores pré-definidos. É possível ainda editarmos esta tabela em um excell e através dos comando de cortar e colar podemos colocar a receita rapidamente em nosso programa.
19 de novembro de 2012 Página: 28
www.eaton.com
Página 28
Error Handling Variáveis criadas no Galileo com o tipo “error”, são variáveis que informam o Galileo a respeito de erros ocorridos no processo que estamos automatizando, mensagens ou avisos. Por exemplo: Mensage: Mensagens de operações do processo que queremos armazenar para referência futura, tais como: Início do processo, Término do processo, temperatura de trabalho atingida, etc... Warning: Mensagens de alerta do processo, não representam erros, mas valores ou situações do processo que demandam uma atenção maior: Tanque com nível máximo, porta aberta, tempo de trabalho terminado, etc... Error: Mensagens de erro no processo, Disjuntor em curto circuito, motor não liga, temperatura em nível crítico, pressão fora de escala, sensor de pressão inexistente, etc...
Criando TAGs de erro. Assim que importamos, ou criamos, os TAGs do CLP para o Galileo, selecionamos os bits ou arrays de bits que representam alarmes, erros, etc... com o botão direito do mouse e escolhemos a opção Change data type.
de bits.
Selecionamos a opção “to error”, se for um bit, ou a opção “to error array”, se for um array Os bits e arrays selecionados serão movidos para a pasta error.
19 de novembro de 2012 Página: 29
www.eaton.com
Página 29
Quando trabalhamos com arrays damos um clique duplo no nome do array para configurá-lo, os demais elementos dentro deste array, automaticamente, assumem asmesmas configurações e seus respectivos endereços dentro do array.
Quando trabalhamos com o bit de erro sozinho, clicamos duas vezes e selecionamos a aba Address para configurar este bit!
Bits de erro não podem ser “Write”, por definição todos os bits de erro são apenas READ. Habilitamos as opções On Demand e At Startup e logo em seguida definimos o Polling. Se selecionarmos a opção “fast” quer dizer que o Galileo irá atualizar estes bits o mais rápido possível. Normalmente, para otimizar o tempo de leitura das demais variáveis, usamos um tempo conhecido para atualização dos erros, em média 1segundo.
Clicando duas vezes no tag de error entramos no TAG settings e selecionamos Error Display: Name:
Nome da variável
Message type:
Aqui escolhemos qual o tipo desta mensagem, ela pode er um erro, um warning ou então uma message, as cores definidas aqui: vermelho, amarelo e verde respectivamente pode ser alterada, vamos estudar isso mais adiante. No.
Nós atribuímos um número de prioridade para cada erro, podemos configurar a tela de erros de forma que os erros apareçam de duas formas: Primeiro os mais novos ou então primeiro os de prioridade mais baixa. O número definido aqui irá aparecer na tela da IHM, podemos atribuir números de identificação segundo a necessidade do cliente. Print
Adicionando uma impressora ao processo temos a opção de imprimir os erros quando estes são ativos ou não. Need Confirmation
Os erros mais críticos, normalmente, devem ficar visíveis até que o operador os reconheça. Habilitando esta check box todos os erros que forem ativos ficarão na tela, mesmo que voltem a ficar desativados. Assim que o operador os reconhece através de uma function key, os mesmo desaparecem da tela.
19 de novembro de 2012 Página: 30
www.eaton.com
Página 30
Add to History
Aqui você seleciona se os seus alarmes serão armazenados em um histograma para consulta futura. Este histograma armazena horário que o alarme foi ligado, desligado e reconhecido. Entrando agora na aba “Texts” nós definimos qual o texto de erro desejamos exibir em nossa IHM. Este erro irá aprecer na tabela de erros que definiremos mais adiante.
Configurando as mensagens. No menu principal selecione agora a opção Config “Project Settings”, esta caixa de diálogo é responsável pela configuração de vários parâmetros para o Galileo, para este capítulo vamos ver a aba “Error Window” Colors
Aqui escolhemos as cores para cada tipo distinto de erro, por definição erros aparecem na cor vermelha, warnings amarelo e Messages na cor verde. Confirmation Mode
Quando criamos erros que devem ser reconhecidos para que saiam da tela de alarmes temos duas situações, o operador pode reconhecer o alarme quando este está ativo ou não. Através das duas opções apresentadas podemos obrigar o operador a reconhecer apenas alarmes que estiverem desligados. History
Qual o tamanho máximo de eventos que o histórico do Galileo irá reter. Quando este atinge seu tamanho máximo o evento mais antigo é descartado para que o mais novo possa ser registrado. Actions// Close help window if the error is not active any more.:
HELP
Assim como o Parameter List, a lista de alarmes também pode direcionar a uma tela de
Actions// Execute Mask change:
Em caso de erro, warning ou message podemos atribuir uma troca de máscara. Basta habilitarmos a check box e escolher a máscara de destino para cada opção. Default order:
Aqui selecionamos como as mensagens devem ser apresentadas na IHM, por ordem cronológica ou por ordem de prioridade.
19 de novembro de 2012 Página: 31
www.eaton.com
Página 31
Error window Através do Objeto error window ( exibição dos erros e do histórico de erros.
) nós inserimos na tela da IHM uma caixa para
A mesma tabela que utilizamos para exibição dos erros também serve para exibir o histórico de erros. Columns
Aqui escolhemos quais colunas desejamos que apareçam na tela da IHM, algumas delas permitem a formatação. Priority
Como são as prioridades entre erros, mensagens e avisos. Column order
Aqui configuramos qual coluna ficará mais a esquerda na tabela. Sorting
Definição se os erros mais novos devem entrar por cima ou por baixo.
Function Keys para Error Window Dentre as várias funções existentes para controlar a lista de alarmes (pertencentes ao Group Internal) algumas tem destaque principal: Error Confirm//Error Confirm(Actual Window)
Estas funções fazem o reconhecimento dos erros. A primeira reconhece o erro que estiver selecionado naquele momento, a segunda reconhece todos os erros que estiverem aparecendo na tela da IHM naquele momento. Error Help
Da mesma forma que temos tabelas de Help para a lista de parâmetros, assim também podemos chamar telas de Help para os alarmes ativos. O procedimento é exatamente o mesmo utilizado para o Parameter List. Criação de uma tela de help, e criação de mensagens de help amarradas aos TAGs de erros no menu principal, Config-> Help Manager.
19 de novembro de 2012 Página: 32
www.eaton.com
Página 32
Sub Masks Sub máscaras são elementos que nos permitem criar modelos de máscaras a serem utilizados em várias máscaras standard. Exemplificando, imagine que em todas as telas de nosso projeto nós queremos um cabeçário com o logotipo de nossa empresa, um relógio, um botão de retorno para a tela inicial e uma lista com os quatro últimos alarmes. Nestas situações criamos uma Sub Máscara, montamos todos os elementos e ela se transforma em um objeto para ser adicionado nas demais telas Standard. A grande vantagem deste processo é que, se precisarmos alterar algo na sub máscara a alteração é automaticamente replicada para todas as máscaras que utilizam esta sub máscara. Para criar uma sub-máscara, vamos até a aba “mask” no folder “Mask(Sub)” e clicamos com o botão direito, selecionando a opção “New”.
Podemos criar sub máscaras com fundo transparente, ou então com dimensões menores que a máscara principal para podermos encaixá-la em uma parte da mesma. Do mesmo jeito que criamos botões, tabelas, function Keys nas máscaras standard, da mesma forma colocamos estes objetos na sub-máscara.
Com o objeto “ Sub Mask” inserimos a sub-máscara criada em alguma máscara Standard.
Place Holders Quando a Sub máscara possui botões, entrada de valores, flags, etc...estes se apresentarão com uma configuração a mais: teremos a opção de selecionar uma check box “Input Parameter”. No lugar de escolher um tag, nós agora selecionamos um tipo de variável e adicionamos um nome para aquele objeto na sub máscara:
19 de novembro de 2012 Página: 33
www.eaton.com
Página 33
Podemos criar inúmeros objetos desta forma em uma mesma Sub máscara. No momento que inserimos a Sub máscara na máscara standard o sistema pede que façamos a conexão entre este “Input Parameter” e um TAG real do Galileo.
Para cada vez que nós importamos esta sub máscara em nossa máscara convencional, nós endereçamos os “Input Parameter” da sub máscara (Name) com um tag (Parameter Tag);
19 de novembro de 2012 Página: 34
www.eaton.com
Página 34
Animação e segurança contra toques acidentais. A criação de elementos animados no CoDeSys se dá utilizando-se o objeto Flag. Podemos animar apenas um bit, uma imagem para ON e outra para OFF, ou podemos animar um ventilador, por exemplo. Para tanto nós criamos um bitmap, ou pegamos uma foto de um ventilador. Criamos um giro de 90 graus, por exemplo e salvamos com outro nome. O paint possue ferramentas para girar o desenho, crie quatro ou mais imagens distintas que dêem a ilusçao de movimento:
Nesta figura por exemplo, apartir da primeira, o que fizemos foi girar 90 graus e salvar novamente com outro nome. Podemos fazer algo similar com nível por exemplo, para animar um tanque que está enchendo podemos desenhar algumas ondas e, para dar a impressão de movimento, espelhamos a onda, ou seja invertemos:
Basta alternarmos estes dois desenhos e teremos a ilusão de água em movimento. Para evitarmos distorção na tela da IHM, o melhor é desenhar um objeto quadrado no espaço onde nossa animação ficará e através de um duplo clique, nas propriedades deste objeto,
No exemplo abaixo temos uma largura máxima de 90 pixels e uma altura de 190 pixels. Se nosso desenho tiver esta dimensão, ou esta proporção entre altura e largura, então não teremos distorção. Podemos colocar também fotos, ou senhos no fundo da IHM e as animações por cima, tudo é uma questão de verificar as dimensões e o tamanho de cada animação. Inserimos o objeto FLAG em nossa tela,
19 de novembro de 2012 Página: 35
www.eaton.com
Página 35
Selecionamos qual TAG irá gerenciar a mudança dos desenhos e quantos valores, ou seja, quantos desenhos diferentes teremos. O CLP ficará encarregado de mudar este TAG para controlar a velocidade e as figuras! Podemos deixar as animações invisíveis através da aba “Visibility”. Outra forma de animar elementos na tela é través da aba Size/Position.
na tela.
Através desta aba podemos mover os objetos no eixo X, Y e também alterar seu tamanho
Segurança contra toques acidentais. Para prevenir toques acidentais na tela da IHM nós criamos botões com duplo clique ou então com delay:
19 de novembro de 2012 Página: 36
www.eaton.com
Página 36
Através desta opção o botão não é atuado no instante que o pressionamos. Delay:
O operador precisa manter o dedo sobre o botão por um determinado tempo para que ele reconheça o toque. Double click:
O operador precisa pressionar duas vezes o botão, em um curto espaço de tempo, para que a IHM reconheça o toque. Através do menu Config Settings, na aba Touch nós definimos estes tempos de duplo clique e delay.
19 de novembro de 2012 Página: 37
www.eaton.com
Página 37