Prévia do material em texto
<p>Nº Doc.: 0682-227</p><p>Rev.: 01</p><p>Data: 01/08/2002</p><p>Treiname</p><p>Teoria e</p><p>nto iFIX</p><p>Prática</p><p>Teoria e Prática</p><p>Treinamento iFIX</p><p>Nº Doc.: 0682-227</p><p>Rev.: 01</p><p>Data: 01/08/2002</p><p>ATAN Nome Assinatura Data</p><p>Elaborado por Luciana C. Fernandes Rocha e David</p><p>Reis 01/08/2002</p><p>Verificado por Luciana C. Fernandes 01/08/2002</p><p>Aprovado por Luciana C. Fernandes 01/08/2002</p><p>Nº Doc.: 0682-227</p><p>Rev.: 01</p><p>CONTROLE DE REVISÃO DE</p><p>DOCUMENTOS</p><p>Página: 1/1</p><p>Nº de págs. ATAN</p><p>Rev. Natureza da Revisão Total</p><p>do doc.</p><p>Corpo</p><p>principal</p><p>Data</p><p>Elaborado Verificado Aprovado</p><p>00 Emissão Inicial 100 93 26/07/2002 Luciana C.</p><p>Fernandes</p><p>Rocha e David</p><p>Reis</p><p>Luciana C.</p><p>Fernandes</p><p>Luciana C.</p><p>Fernandes</p><p>01 Revisão 121 112 01/08/2002 Luciana C.</p><p>Fernandes</p><p>Rocha e David</p><p>Reis</p><p>Luciana C.</p><p>Fernandes</p><p>Luciana C.</p><p>Fernandes</p><p>0682-227 (Rev.: 01) I</p><p>Índice</p><p>1. VISÃO GERAL ................................................................................................................................. 1</p><p>1.1 Características Gerais ..............................................................................................................................................1</p><p>1.2 Perfil do Produto .....................................................................................................................................................1</p><p>1.3 Arquitetura Básica....................................................................................................................................................4</p><p>2. REQUISITOS DE HARDWARE, SOFTWARE E REDE PARA RODAR O IFIX .......................6</p><p>2.1 Requisitos Mínimos de Hardware...........................................................................................................................6</p><p>2.2 Requisitos de Software ..............................................................................................................................................6</p><p>2.3 Requisitos de Rede ..................................................................................................................................................6</p><p>3. LICENÇAS DISPONÍVEIS NA CHAVE ........................................................................................7</p><p>4. CONFIGURAÇÃO DO SISTEMA...................................................................................................8</p><p>4.1 Configuração de Caminhos....................................................................................................................................9</p><p>4.2 Configuração de Alarmes e Mensagens .............................................................................................................10</p><p>4.2.1 Considerações Importantes sobre Alarmes.......................................................................................................12</p><p>4.3 Configuração de Rede...........................................................................................................................................13</p><p>4.4 Configuração de Tarefas.......................................................................................................................................14</p><p>5. O AMBIENTE WORKSPACE....................................................................................................... 16</p><p>5.1 Estruturando o Ambiente Workspace para Trabalhar .......................................................................................18</p><p>5.1.1 Criando um Diretório Específico para a Aplicação .........................................................................................18</p><p>5.1.2 Visualizando Barra de Ferramentas no Ambiente Workspace .........................................................................21</p><p>6. LABORATÓRIO 1 ..........................................................................................................................25</p><p>7. ANIMAÇÃO DE OBJETOS...........................................................................................................26</p><p>7.1 Animação Utilizando Objetos Básicos...............................................................................................................27</p><p>7.1.1 Exemplos de Animação Utilizando Objetos Básicos ......................................................................................27</p><p>7.1.2 Animações Experts ...............................................................................................................................................33</p><p>8. CONFIGURANDO O AMBIENTE WORKSPACE .....................................................................37</p><p>9. LABORATÓRIO 2..........................................................................................................................39</p><p>10. DRIVERS DE COMUNICAÇÃO ..................................................................................................43</p><p>10.1 Configurando um Driver de Comunicação.......................................................................................................43</p><p>11. BLOCOS DE DADOS ....................................................................................................................48</p><p>11.1 Bloco de Entrada Digital – DI ............................................................................................................................48</p><p>11.2 Bloco de Saída Digital - DO ................................................................................................................................51</p><p>11.3 Bloco de Entrada Analógica – AI .......................................................................................................................53</p><p>11.4 Bloco de Saída Analógica – AO..........................................................................................................................57</p><p>11.5 Bloco de Cálculo – CA .........................................................................................................................................61</p><p>11.5.1 Operadores Possíveis para Trabalhar no Bloco de Cálculo............................................................................62</p><p>11.6 Bloco de Evento ....................................................................................................................................................63</p><p>12. LABORATÓRIO 3..........................................................................................................................64</p><p>13. TENDÊNCIA.................................................................................................................................68</p><p>13.1 Tendência Real .......................................................................................................................................................68</p><p>13.2 Tendência Histórica ..............................................................................................................................................69</p><p>13.2.1 Arquitetura Geral...................................................................................................................................................70</p><p>13.2.2 Passos para Criação de uma Tendência Histórica ............................................................................................71</p><p>14. SCHEDULER.................................................................................................................................75</p><p>14.1 Inserindo um Scheduler na Aplicação...................................................................................................................77</p><p>0682-227 (Rev.: 01) II</p><p>14.2 Para Rodar um Scheduler ........................................................................................................................................79</p><p>15. LABORATÓRIO 4..........................................................................................................................82</p><p>16. TRABALHANDO COM VBA ........................................................................................................86</p><p>mostrado na Figura 47, vamos destacar os pontos mais importantes, nas</p><p>opções de configuração:</p><p>Driver:</p><p>Selecione o driver, previamente instalado e configurado conforme item 10.1</p><p>Configurando um Driver de Comunicação.</p><p>•</p><p>• I/O Address:</p><p>Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.</p><p>Esta sintaxe é gerada, automaticamente bastando substituir o endereço, desde</p><p>que o aplicativo de configuração do driver esteja previamente configurado.</p><p>0682-227 (Rev.: 01) 48</p><p>Hardware Options:</p><p>Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer</p><p>para aquela variável. Esta opção é importante para, em caso de necessidade, adaptar</p><p>o tipo de dado vindo do hardware do processo com o dado configurado no iFIX.</p><p>Alarms:</p><p>Veja detalhes da configuração:</p><p>Figura 48</p><p>Conforme mostrado na Figura 48, vamos destacar os pontos mais importantes, nas</p><p>opções de configuração:</p><p>•</p><p>−</p><p>−</p><p>•</p><p>−</p><p>−</p><p>Alarm Options:</p><p>Enable Alarming:</p><p>Habilita o armazenamento de informações de alarme.</p><p>Enable Event Messaging:</p><p>Habilita o armazenamento de informações de evento para o bloco em</p><p>configuração. É importante observar que estas mensagens não precisam de</p><p>reconhecimento. Tanto as mensagens de evento quanto as mensagens de</p><p>alarme são enviadas para o mesmo destino (caminho configurado para alarme</p><p>no SCU), porém as mensagens de evento não aparecem no objeto sumário de</p><p>alarmes.</p><p>Alarm Type:</p><p>Change of State:</p><p>Gera um alarme a cada transição de estado do bloco. Os alarmes de transição</p><p>de estado Os alarmes configurados nesta opção deve estar associados a um</p><p>bloco baseado em tempo, pois a transição é avaliada pelo sistema dentro de</p><p>um período de varredura.</p><p>Open:</p><p>Gera um alarme quando o valor do bloco for igual a zero.</p><p>0682-227 (Rev.: 01) 49</p><p>−</p><p>•</p><p>•</p><p>Close:</p><p>gera um alarme quando o valor do bloco for igual a um.</p><p>Alarm Priority:</p><p>Seta a prioridade do bloco para baixa, média, alta. Esta propriedade é interessante</p><p>quando iremos utilizar filtro de alarmes (através do objeto sumário de alarmes) na</p><p>aplicação. Um dos critérios possíveis para o filtro de alarmes é a prioridade.</p><p>Alarm Areas:</p><p>Permite selecionar a qual área de alarme o bloco estará associado. Esta</p><p>configuração também é importante para permitir a filtragem de alarmes por área.</p><p>Advanced:</p><p>Veja detalhes da configuração:</p><p>Figura 49</p><p>Alarm Extension Field:</p><p>Campo que permite a entrada de informações pelo usuário. Pode ser utilizado</p><p>como um campo complementar de descrição ou até mesmo adicionar</p><p>informações contidas em um arquivo do tipo txt. Devemos observar que todos</p><p>estes campos poderão ser manipulados posteriormente, conforme a conveniência</p><p>do usuário, para montagem da estrutura de alarmes da aplicação.</p><p>•</p><p>•</p><p>•</p><p>•</p><p>Enable Output:</p><p>Habilita o envio de valores do bloco para o endereço de I/O, ou seja permite a</p><p>escrita na variável em questão.</p><p>Invert Output:</p><p>Inverte o valor vindo da tabela do driver antes de atribuí-lo ao bloco.</p><p>Startup:</p><p>Define o modo de inicialização do bloco. Esta inicialização pode ser dar quando</p><p>a base de dados é carregada ou quando o bloco é setado para On Scan.</p><p>0682-227 (Rev.: 01) 50</p><p>Auto:</p><p>Em modo automático o bloco recebe dados da tabela imagem do driver</p><p>(DIT). Para relembrar conceitos sobre a DIT, consulte o item 1.3 Arquitetura</p><p>Básica.</p><p>−</p><p>−</p><p>Manual:</p><p>Com esta configuração o bloco passa a aceitar entrada de dados manuais, ou</p><p>seja, passa a funcionar como uma variável interna sem ter retorno de</p><p>atualização do hardware do processo.</p><p>11.2 Bloco de Saída Digital - DO</p><p>Utilizado para enviar valores da base de dados para um endereço de I/O na tabela</p><p>imagem do driver e conseqüentemente para hardware do processo.</p><p>Exemplo:</p><p>A38BV104_LIGA – comando liga equipamento de tag A38BV104.</p><p>Basic:</p><p>Veja detalhes da configuração:</p><p>Figura 50</p><p>Driver:</p><p>Selecione o driver, previamente instalado e configurado conforme item 10.1</p><p>Configurando um Driver de Comunicação.</p><p>•</p><p>• I/O Address:</p><p>Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.</p><p>Esta sintaxe é gerada, automaticamente, bastando substituir o endereço desde</p><p>que o aplicativo de configuração do driver esteja previamente configurado.</p><p>0682-227 (Rev.: 01) 51</p><p>•</p><p>Hardware Options:</p><p>Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer</p><p>para aquela variável. Esta opção é importante para, em caso de necessidade,</p><p>adaptar o tipo de dado a ser enviado para o hardware do processo com o dado</p><p>configurado no iFIX.</p><p>Alarms:</p><p>Veja detalhes da configuração:</p><p>Figura 51</p><p>Conforme mostrado na Figura 51, vamos destacar os pontos mais importantes, nas</p><p>opções de configuração:</p><p>•</p><p>−</p><p>−</p><p>•</p><p>Alarm Options:</p><p>Enable Alarming:</p><p>Habilita o armazenamento de informações de alarme.</p><p>Enable Event Messaging:</p><p>Habilita o armazenamento de informações de evento para o bloco em</p><p>configuração. É importante observar que estas mensagens não precisam de</p><p>reconhecimento. Tanto as mensagens de evento quanto as mensagens de</p><p>alarme são enviadas para o mesmo destino(caminho configurado para alarme</p><p>no SCU), porém as mensagens de evento não aparecem no objeto sumário de</p><p>alarmes.</p><p>Alarm Areas:</p><p>Permite selecionar a qual área de alarme o bloco estará associado. Esta</p><p>configuração também é importante para permitir a filtragem de alarmes por área.</p><p>Advanced:</p><p>Veja detalhes da configuração:</p><p>0682-227 (Rev.: 01) 52</p><p>Figura 52</p><p>Alarm Extension Field:</p><p>Campo que permite a entrada de informações pelo usuário. Pode ser utilizado</p><p>como um campo complementar de descrição ou até mesmo adicionar</p><p>informações contidas em um arquivo do tipo txt. Devemos observar que todos</p><p>estes campos poderão ser manipulados posteriormente, conforme a conveniência</p><p>do usuário, para montagem da estrutura de alarmes da aplicação.</p><p>•</p><p>•</p><p>Security Areas:</p><p>Áreas de segurança da aplicação que podem ser configuradas para o bloco.</p><p>11.3 Bloco de Entrada Analógica – AI</p><p>Utilizado para ler valores numéricos do processo e armazená-lo na base de dados.</p><p>Aplicação em leitura de analógicas.</p><p>Exemplo:</p><p>A36LI300 – corrente no motor.</p><p>Basic:</p><p>Veja detalhes da configuração:</p><p>0682-227 (Rev.: 01) 53</p><p>Figura 53</p><p>Conforme mostrado na Figura 53, vamos destacar os pontos mais importantes, nas</p><p>opções de configuração:</p><p>•</p><p>•</p><p>•</p><p>−</p><p>Driver:</p><p>Selecione o driver, previamente instalado e configurado conforme item 43.</p><p>I/O Address:</p><p>Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.</p><p>Esta sintaxe é gerada, automaticamente, bastando substituir o endereço desde</p><p>que o aplicativo de configuração do driver esteja previamente configurado.</p><p>Signal Conditioning:</p><p>Permite selecionar opções disponibilizadas pelo driver selecionado para executar o</p><p>condicionamento do sinal vindo do hardware do processo para ser carregado na</p><p>tabela imagem do driver.</p><p>Exemplo de condicionamento de sinal:</p><p>Campo Faixa do sensor Valor no PLC Base de dados</p><p>iFIX</p><p>Limite Inf Eng 4 mA 0 -150</p><p>Limite Sup Eng 20 mA 32767 700</p><p>Tipo Condic. Sinal 15AL (0 – 32767)</p><p>Exemplo 1 12 mA 16383 275</p><p>Tabela 6</p><p>0682-227 (Rev.: 01) 54</p><p>Veja como chegar aos valores das faixas levantando a equação:</p><p>Figura 54</p><p>Para cada opção selecionada no campo “tipo de condicionamento de sinal” teremos</p><p>uma faixa de ajuste da escala disponível no hardware utilizado com a faixa EGU</p><p>configurada na Base de Dados do iFIX para a variável.</p><p>•</p><p>Hardware Options:</p><p>Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer</p><p>para aquela variável. Esta opção é importante para, em caso de necessidade,</p><p>adaptar o tipo de dado vindo do hardware do processo com o dado configurado</p><p>no iFIX. Esta opção é disponibilizada pelo driver selecionado.</p><p>Alarms:</p><p>Veja detalhes da configuração:</p><p>Figura 55</p><p>0682-227 (Rev.: 01) 55</p><p>Conforme mostrado na Figura 55, vamos destacar</p><p>os pontos mais importantes, nas</p><p>opções de configuração:</p><p>•</p><p>•</p><p>•</p><p>•</p><p>−</p><p>−</p><p>−</p><p>Enable Alarming:</p><p>Habilita o armazenamento de informações de alarme.</p><p>Priority:</p><p>Seta a prioridade do bloco para baixa, média, alta. Esta propriedade é interessante</p><p>quando iremos utilizar filtro de alarmes(através do objeto sumário de alarmes) na</p><p>aplicação. Um dos critérios possíveis para o filtro de alarmes é a prioridade.</p><p>Alarm Areas:</p><p>Permite selecionar a qual área de alarme o bloco estará associado. Esta</p><p>configuração também é importante para permitir a filtragem de alarmes por área.</p><p>Alarms:</p><p>Neste campo é possível configurar os limites de alarme para o bloco.</p><p>Alarmes LO e LOLO:</p><p>Valores abaixo destes limites geram alarme.</p><p>Alarmes HI e HIHI:</p><p>Valores acima destes limites geram alarme.</p><p>Rate of Change:</p><p>Variação máxima possível dentro da faixa EGU entre uma varredura e outra.</p><p>Advanced:</p><p>Veja detalhes da configuração:</p><p>Figura 56</p><p>0682-227 (Rev.: 01) 56</p><p>Alarm Extension Field:</p><p>Campo que permite a entrada de informações pelo usuário. Pode ser utilizado</p><p>como um campo complementar de descrição ou até mesmo adicionar</p><p>informações contidas em um arquivo do tipo txt. Devemos observar que todos</p><p>estes campos poderão ser manipulados posteriormente, conforme a conveniência</p><p>do usuário, para montagem da estrutura de alarmes da aplicação.</p><p>•</p><p>•</p><p>•</p><p>Enable Output:</p><p>Habilita o envio de valores do bloco para o endereço de I/O, ou seja permite a</p><p>escrita na variável em questão.</p><p>Filter:</p><p>Permite habilitar um filtro de primeira ordem para reduzir o ruído do sinal de</p><p>entrada. Para isto o algoritmo do filtro é baseada na seguinte equação:</p><p>Figura 57</p><p>•</p><p>−</p><p>−</p><p>Startup:</p><p>Define o modo de inicialização do bloco. Esta inicialização pode se dar quando a</p><p>base de dados é carregada ou quando o bloco é setado para On Scan.</p><p>Auto:</p><p>Em modo automático o bloco recebe dados da tabela imagem do driver (DIT).</p><p>Para relembrar conceitos sobre a DIT, consulte o item 4.</p><p>Manual:</p><p>Com esta configuração o bloco passa a aceitar entrada de dados manuais, ou</p><p>seja, passa a funcionar como uma variável interna sem ter retorno de</p><p>atualização do hardware do processo.</p><p>11.4 Bloco de Saída Analógica – AO</p><p>Utilizado para escrever valores numéricos de set points, enviados da base de dados para o</p><p>processo.</p><p>Exemplo:</p><p>A36LI300_SP_PID – Set Point enviado para malha PID.</p><p>Basic:</p><p>Veja detalhes da configuração:</p><p>0682-227 (Rev.: 01) 57</p><p>Figura 58</p><p>Conforme mostrado na Figura 58, vamos destacar os pontos mais importantes, nas</p><p>opções de configuração:</p><p>Driver:</p><p>Selecione o driver, previamente instalado e configurado conforme item 10.1</p><p>Configurando um Driver de Comunicação43.</p><p>•</p><p>•</p><p>•</p><p>•</p><p>I/O Address:</p><p>Selecione a sintaxe relativa ao endereçamento de I/O do ponto em configuração.</p><p>Esta sintaxe é gerada, automaticamente, bastando substituir o endereço desde</p><p>que o aplicativo de configuração do driver esteja previamente configurado.</p><p>Signal Conditioning:</p><p>Permite selecionar opções disponibilizadas pelo driver selecionado para executar o</p><p>condicionamento do sinal enviado ao hardware do processo pela tabela imagem do</p><p>driver(iFIX).</p><p>Para ver mais detalhes sobre condicionamento de sinal, veja Figura 54</p><p>Hardware Options:</p><p>Permite selecionar o tipo de dado que o PLC/ hardware do processo irá fornecer</p><p>para aquela variável. Esta opção é importante para, em caso de necessidade,</p><p>adaptar o tipo de dado enviado para hardware do processo pelo iFIX. Esta opção</p><p>é disponibilizada pelo driver selecionado.</p><p>Alarms:</p><p>Veja detalhes da configuração:</p><p>0682-227 (Rev.: 01) 58</p><p>Figura 59</p><p>Conforme mostrado na Figura 59, vamos destacar os pontos mais importantes, nas</p><p>opções de configuração:</p><p>Enable Alarming:</p><p>Habilita o armazenamento de informações de alarme.</p><p>•</p><p>•</p><p>•</p><p>Enable Event Messaging:</p><p>Habilita o armazenamento de informações de evento para o bloco em</p><p>configuração. É importante observar que estas mensagens não precisam de</p><p>reconhecimento. Tanto as mensagens de evento quanto as mensagens de alarme</p><p>são enviadas para o mesmo destino(caminho configurado para alarme no SCU),</p><p>porém as mensagens de evento não aparecem no objeto sumário de alarmes</p><p>Alarm Areas:</p><p>Permite selecionar a qual área de alarme o bloco estará associado. Esta</p><p>configuração também é importante para permitir a filtragem de alarmes por área.</p><p>0682-227 (Rev.: 01) 59</p><p>Advanced:</p><p>Veja detalhes da configuração:</p><p>Figura 60</p><p>•</p><p>•</p><p>•</p><p>−</p><p>−</p><p>Alarm Extension Field:</p><p>Campo que permite a entrada de informações pelo usuário. Pode ser utilizado</p><p>como um campo complementar de descrição ou até mesmo adicionar</p><p>informações contidas em um arquivo do tipo txt. Devemos observar que todos</p><p>estes campos poderão ser manipulados posteriormente, conforme a conveniência</p><p>do usuário, para montagem da estrutura de alarmes da aplicação.</p><p>Security Areas:</p><p>Define as áreas de segurança do sistema para o bloco em configuração.</p><p>Operator Limits:</p><p>Limites de operação permitida para o bloco. Faixa admissível para entrada de</p><p>dados pelo operador.</p><p>Low Value:</p><p>Limite inferior permitido para o campo.</p><p>High Value:</p><p>Limite superior permitido para o campo.</p><p>Este tipo de funcionalidade é importante pois protege a operação do envio da</p><p>variável para o processo dentro de uma faixa pré-definida em fase de configuração.</p><p>0682-227 (Rev.: 01) 60</p><p>11.5 Bloco de Cálculo – CA</p><p>Figura 61</p><p>O bloco de cálculo permite gerar uma saída com base em uma expressão envolvendo os</p><p>campos de entrada.</p><p>É importante observar que este bloco, por filosofia, trabalha com a estrutura em cascata</p><p>necessitando portanto que a primeira entrada venha necessariamente da saída de um</p><p>outro bloco.</p><p>Neste exemplo, vamos configurar o bloco para calcular a seguinte expressão:</p><p>Saída = (A*B) + C.</p><p>Onde:</p><p>A = A36LI300.F_CV</p><p>B = 2</p><p>C = 0,0054</p><p>Passo 1.</p><p>Para isto temos que configurar a saída do bloco A36LI300 para ser entrada do bloco de</p><p>cálculo.</p><p>Figura 62</p><p>0682-227 (Rev.: 01) 61</p><p>Conforme mostrado na Figura 62, configuramos a etapa Next como sendo o bloco</p><p>de cálculo. Devido a este procedimento, veremos que ao configurar o bloco de</p><p>cálculo agora este já apresentará a pré-configuração do termo A da expressão,</p><p>recebendo o conteúdo do bloco A36LI300. Veja:</p><p>Figura 63</p><p>11.5.1 Operadores Possíveis para Trabalhar no Bloco de Cálculo</p><p>Operador Função</p><p>ABS(input) Valor absoluto</p><p>SQRT(input) Raiz quadrada</p><p>EXP(input) Anti Logarítimo</p><p>LOG(input) Logarítmo base 10</p><p>INT(input) Retorna inteiro a partir de um flutuante</p><p>- Negativo do valor</p><p>^ exponencial</p><p>* multiplicação</p><p>/ divisão</p><p>+ soma</p><p>- subtração</p><p>Maior que</p><p>Tabela 7</p><p>0682-227 (Rev.: 01) 62</p><p>11.6 Bloco de Evento</p><p>Figura 64</p><p>O bloco de evento verifica uma condição de entrada, por exemplo associada à saída de</p><p>outro bloco, e a partir desta, roda comandos com base na verificação da entrada se</p><p>tornar verdadeira ou falsa.</p><p>Para as verificações de entrada podemos utilizar a palavra VALUE ou a palavra</p><p>ALARM. Estas palavras funcionam como se fossem palavras reservadas para o bloco.</p><p>Para os comandos que serão executados após a verificação, pelo bloco, podemos utilizar</p><p>RUN, STOP, OPEN, CLOSE. Desta forma, podemos visualizar que podemos enviar 1</p><p>(CLOSE) ou 0 (OPEN) para uma outra variável, rodar/parar um outro bloco, etc.</p><p>Veja a configuração do bloco:</p><p>Figura 65</p><p>0682-227 (Rev.: 01) 63</p><p>12. LABORATÓRIO 3</p><p>Objetivo - Criar uma base de dados que utilize a maioria dos recursos oferecidos pelo</p><p>iFIX.</p><p>Considere os seguintes TAGS no driver de Simulação:</p><p>TAG Endereço Descrição</p><p>ANA1 0 Analógica 1</p><p>ANA1 1 Analógica 1</p><p>DIG1 2:0 Digital 1</p><p>DIG2 2:1 Digital 2</p><p>Tabela 8</p><p>Utilizando recursos da base de dados do iFIX crie:</p><p>−</p><p>Blocos de entrada para ANA1 e ANA2 que só aceitem valores na faixa 0 .. 50.</p><p>Blocos de alarme para ANA1 e ANA2 com</p><p>limite de alarme HI igual a 45 e HIHI</p><p>igual a 50.</p><p>Uma analógica que apresente a soma de ANA1 e ANA2.</p><p>Um sinal digital que esteja em 1 quando DIG1 for 1 e DIG2 for 0.</p><p>Um analógica que tenha seu valor igual ao de ANA1 quando DIG1 for igual a 0 e</p><p>igual a ANA2 caso contrário.</p><p>Um bloco tendência extendida (Extented Trend) para ANA2.</p><p>Uma tela com indicações para os valores de todos esses blocos e entradas para</p><p>DIG1, DIG2, ANA1 e ANA2.</p><p>Observação 1:</p><p>O mesmo endereço de I/O pode ser usado por blocos diferentes, quando isso acontece esses</p><p>blocos compartilham a informação guardada, sendo possível a modificação dessa através de</p><p>qualquer um dos bloco.</p><p>Observação 2:</p><p>Pode ser necessário mais de 1 bloco para cumprir cada tarefa.</p><p>Sugestão de resposta:</p><p>Criar blocos de escrita para ANA1 e ANA2 que só aceitem valores na faixa 0..50.</p><p>No Database Manager crie um bloco do tipo AO – Analog Output. Preencha</p><p>o Tag Name como ANA1_OUTPUT e o endereço I/O como 0. Na paleta</p><p>Advanded preencha o campo Operator Low Limit como 0 e o campo</p><p>Operator High Limit como 50. Repita o procedimento para criar</p><p>ANA2_OUTPUT utilizando o endereço 1.</p><p>Criar blocos de alarme para ANA1 e ANA2 com limite de alarme HI igual a 45 e</p><p>HIHI igual a 50.</p><p>0682-227 (Rev.: 01) 64</p><p>− No Database Manager crie um bloco do tipo AA – Analogic Alarm.</p><p>Preencha o Tag Name como ANA1_ALARME e o endereço como 0.</p><p>Selecione a paleta Alarm:</p><p>Figura 66</p><p>−</p><p>−</p><p>−</p><p>−</p><p>Preencha a tabela de alarmes como na figura acima. Repita o procedimento</p><p>para criar ANA2_ALARM, usando o endereço 2.</p><p>Criar uma analógica que apresente a soma de ANA1 e ANA2.</p><p>Essa funcionalidade pode ser implementada com um bloco de Cálculo. Crie</p><p>um bloco do tipo CA – Calculation.</p><p>Preencha seu Tag Name como CALC_SOMA. Já que esse bloco representara a</p><p>soma de duas analógicas que podem variar de 0 a 100, seus limites de</p><p>engenharia devem ser de 0 a 200. Preencha o campo Low Limit como 0 e o</p><p>Campo High Limit como 200. A entrada B deve ser configurada como</p><p>ANA2_ALARME (que representa ANA2). O campo Output Expression deve</p><p>conter a expressão A+B. A entrada A não pode ser configurada aqui, ela é o</p><p>campo previous e deve ser preenchida no bloco ANA1_ALARME, nesse o</p><p>campo NEXT deve ser preenchido como CALC_SOMA.</p><p>Criar um sinal digital que esteja em 1 quando DIG1 for 1 e DIG2 for 0.</p><p>Para implementar essa funcionalidade utilizaremos o bloco booleano, mas</p><p>antes precisamos de blocos de entrada para disponibilizar os valores de DIG1</p><p>e DIG2. Crie um bloco do tipo DI – Digital Input, preencha seu Tag Name</p><p>com DIG1_INPUT e o endereço com 2:0. Repita esse procedimento para</p><p>criar DIG2_INPUT com o endereço 2:1. Agora crie um bloco do tipo BL –</p><p>Boolean.</p><p>0682-227 (Rev.: 01) 65</p><p>−</p><p>−</p><p>−</p><p>−</p><p>Chame o bloco de BOOLEAN, preencha a entrada A com DIG1_INPUT e a</p><p>entrada B com DIG2_INPUT. O campo Output Expression deve conter a</p><p>expressão booleana da saída em função das entradas, em nosso caso A + ⎯B</p><p>(A ou B “barrado”). O campo F_CV do bloco BOOLEAN só será 1 quando</p><p>a expressão for verdadeira, ou seja quando DIG1=1 e DIG2=0.</p><p>Criar uma analógica que tenha seu valor igual ao de ANA1 quando DIG1 for igual a</p><p>0 e igual a ANA2 caso contrário.</p><p>Podemos usar um bloco de cálculo para efetuar essa tarefa, basta lembrarmos,</p><p>que quando usamos uma entrada digital nesse bloco, ela é convertida para um</p><p>inteiro. OPEN é convertido para 0 e CLOSE é convertido para 1. Crie um</p><p>bloco CA – Calculation, chame-o de SELECIONE. Configure seu campo</p><p>PREVIOUS como DIG1_INPUT (isso requer que você abra o bloco</p><p>DIG1_INPUT e preencha seu NEXT como SELECIONE). Preencha as</p><p>outras entradas como:</p><p>B = ANA1_ALARME</p><p>C = ANA2_ALARME</p><p>D = 0,5</p><p>Baseado nas entradas acima a expressão (A*B)+((A e</p><p>como mudança mínima do valor gravado</p><p>anteriormente para escrita de um novo valor no arquivo de dados histórico. A</p><p>configuração devida deste parâmetro pode representar economia de tempo de</p><p>processamento e espaço em disco.</p><p>3. Configurar no System Configuration (SCU) a partida automática da tarefa que controlará</p><p>a coleta dos dados(HTC) configurados na tarefa HTA, mencionada no item anterior.</p><p>0682-227 (Rev.: 01) 72</p><p>Figura 74</p><p>Após configurada a tarefa que fará efetivamente a coleta de dados na partida do sistema,</p><p>toda vez que o iFIX partir a coleta de dados será inicializada automaticamente.</p><p>4. Inserir um Chart na tela através da opção , presente no toolbox.</p><p>5. Na guia Chart da janela de configuração da Tendência, inserir as penas, conforme</p><p>mostrado:</p><p>Figura 75</p><p>0682-227 (Rev.: 01) 73</p><p>6. Clique no box de seleção e adicione penas da tarefa histórica, configurada através dos</p><p>itens anteriores. Um aspecto de diferença da tendência histórica para a real se</p><p>encontra neste passo, pois na tendência real as variáveis são selecionadas diretamente</p><p>do Database e no caso da tendência histórica, as variáveis são selecionadas da tarefa</p><p>que as armazenou.</p><p>Figura 76</p><p>7. Agora basta rodar a aplicação contendo o objeto de tendência configurado.</p><p>0682-227 (Rev.: 01) 74</p><p>0682-227 (Rev.: 01) 75</p><p>14. SCHEDULER</p><p>Ambiente de configuração de ações a serem tomadas em modo de execução pela</p><p>aplicação. Estas ações podem ser baseadas em tempo ou em evento.</p><p>O Scheduler faz parte da árvore do projeto presente no Workspace.</p><p>As ações mais comuns a serem tomadas em tempo de execução são:</p><p>executar um relatório</p><p>abrir uma tela. Por exemplo uma tela de parâmetros que recebem entrada de dados</p><p>sempre em um dia específico do mês.</p><p>Escrever na base de dados.</p><p>Pode-se adicionar várias ações em um mesmo arquivo de Schedule, como podemos ter</p><p>também vários arquivos de Scheduler rodando simultaneamente.</p><p>76</p><p>ev.: 01)</p><p>A janela de configuração para o Scheduler é a seguinte:</p><p>Figura 77</p><p>0682-227 (R</p><p>0682-227 (Rev.: 01) 77</p><p>14.1 Inserindo um Scheduler na Aplicação</p><p>Para inserirmos um sheduler na aplicação seguiremos uma seqüência de passos.</p><p>1. Clique com o botão direito do mouse em cima da tarefa scheduler na árvore do projeto</p><p>dentro do workspace.</p><p>2. Selecione a opção New Scheduler</p><p>3. Dê um duplo clique na planilha de entrada de dados e configure, conforme</p><p>mostrado. A configuração permite entrar com situações que responderão a trigger de</p><p>tempo ou a trigger de evento.</p><p>78</p><p>ev.: 01)</p><p>Figura 78</p><p>0682-227 (R</p><p>4. Executado o passo anterior, temos a seguinte janela de configuração:</p><p>Figura 79</p><p>5. Na janela de configuração da Figura 79, selecione o tipo de operação (comando) a ser</p><p>executada e logo após clique em Run Expert. Com este procedimento, será criado</p><p>automaticamente o código no ambiente VBA para permitir a execução do comando</p><p>selecionado. Caso queira criar um código personalizado associado a operação</p><p>selecionada, clique em VB Editor.</p><p>14.2 Para Rodar um Scheduler</p><p>Após ter configurado o módulo, iremos acrescentar alguns passos para rodar o Scheduler.</p><p>1. Com a tela de configuração do Scheduler aberta e selecionada, clique no menu</p><p>edit\scheduler properties do ambiente Workspace. Com este procedimento, iremos</p><p>configurar o módulo para rodar em background Veja:</p><p>0682-227 (Rev.: 01) 79</p><p>Figura 80</p><p>2. Adicionar a tarefa que controla os módulos que rodam em background. Este</p><p>procedimento é feito no SCU (System Configuration).Para isto selecione o ícone Task</p><p>Configuration na janela do SCU.</p><p>Figura 81</p><p>3. Adicionar a tarefa localizada no caminho</p><p>C:\DYNAMICS\FIXBACKGROUNDSERVER.EXE, em background.</p><p>0682-227 (Rev.: 01) 80</p><p>Figura 82</p><p>0682-227 (Rev.: 01) 81</p><p>0682-227 (Rev.: 01) 82</p><p>15. LABORATÓRIO 4</p><p>Objetivo</p><p>Criar uma aplicação que utilize os recursos de Schedule do iFIX.</p><p>Crie um evento para que um picture se abra automaticamente todo dia às 14:00 horas ou</p><p>quando a Analógica ANA1 (endereço I/O 0) ultrapasse o valor de 80.</p><p>Sugestão de resposta:</p><p>−</p><p>Criar um Schedule baseado em Tempo.</p><p>No WorkSpace Clique com o botão direito em Schedules e selecione a opção</p><p>New Schedule. A seguinte Janela é exibida:</p><p>83</p><p>ev.: 01)</p><p>Figura 83</p><p>0682-227 (R</p><p>Duplo-clique numa linha em branco da planilha Time Based Entries para criar</p><p>um novo Schedule baseado em tempo. A seguinte caixa de configuração é</p><p>exibida:</p><p>−</p><p>Figura 84</p><p>Preencha o campo Name com AbreTela. No painel Trigger Info selecione a</p><p>opção Daily (Diariamente). Pode-se então marcar em quais dias da semana se</p><p>quer executar o Schedule. Marque todos. Configure o campo Start Time como</p><p>14:00:00.</p><p>−</p><p>−</p><p>−</p><p>−</p><p>No campo Action Info selecione a opção Open Picture. Na janela que se</p><p>abre preencha o campo Picture Name com o nome do picture que se deseja</p><p>abrir. Clique em OK para finalizar a configuração desse Schedule.</p><p>Criar um Schedule baseado em Evento.</p><p>Crie um Bloco Analog Input para ANA1. Chame-o de ANA1_INPUT.</p><p>Selecione na planilha dos Schedules a paleta Event Based Entries. Duplo-clique</p><p>em uma linha em branco para criar um novo Schedule baseado em Evento. Sua</p><p>caixa de configuração é exibida abaixo:</p><p>0682-227 (Rev.: 01) 84</p><p>Figura 85</p><p>Preencha o campo Name como EvtAbreTela. Clique nos três pontos ao</p><p>lado do DataSource e selecione a condição ANA1_INPUT.FCV > 80.</p><p>−</p><p>−</p><p>No campo Operation selecione a opção Open Picture e configure o picture a</p><p>ser aberto como na tarefa anterior.</p><p>Feche a planilha de schedules, salvando-a como lab4.evs.</p><p>Reiniciando o iFIX é possível testar os Schedules criados. Simule uma das condições</p><p>configuradas e veja como o picture se abre automaticamente. Há várias outras tarefas que</p><p>podem ser executadas por Schedules como fechar Tags digitais, reconhecer alarmes ou até</p><p>mesmo executar um Script Customizado. Basta selecionar a tarefa desejada no campo</p><p>Operation e configurar as opções necessárias. Bom trabalho!</p><p>0682-227 (Rev.: 01) 85</p><p>16. TRABALHANDO COM VBA</p><p>O iFIX possui um ambiente de desenvolvimento de scripts para os objetos integrados.</p><p>Os scripts serão desenvolvidos em VBA (Visual Basic for Applications).</p><p>As diferenças básicas entre VB e VBA são citadas abaixo:</p><p>O VB cria executáveis a partir do código do aplicativo, enquanto o VBA apresenta o</p><p>código embutido na aplicação do ambiente que a desenvolveu.</p><p>O VB é externo à aplicação, enquanto o VBA é interno, portanto sendo direto o link</p><p>com a base de dados do iFIX no último caso.</p><p>16.1 Aplicações do VBA</p><p>Animação de objetos</p><p>Criar eventos automáticos para objetos (telas, botões, etc.).</p><p>Executar aplicações automaticamente.</p><p>Acesso a banco de dados com código personilizado, via ODBC.</p><p>Incorporar funções a objetos ActiveX inseridos.</p><p>Criar estrutura de mensagens para a aplicação via janelas típicas(interface Windows).</p><p>16.2 Conceitos Utilizados na Programação</p><p>Objetos:</p><p>Conjunto de informações(dados, configurações e procedimentos) tratados</p><p>encapsulados.</p><p>Cada objeto possui suas propriedades e métodos específicos.</p><p>Propriedades:</p><p>Características de um objeto.</p><p>Exemplo:</p><p>cor, tamanho.</p><p>Métodos:</p><p>Sub-rotinas que afetam o comportamento do objeto.</p><p>Exemplo:</p><p>Método para adicionar penas dinamicamente em uma tendência.</p><p>Eventos:</p><p>Ações que os objetos reconhecem, tal como selecionar um objeto, clique do mouse.</p><p>Quando um código está associado a um evento, este será executado quando o</p><p>evento for disparado.</p><p>Exemplo:</p><p>Click do mouse, ocorrência da mudança de valor da variável, etc.</p><p>0682-227 (Rev.: 01) 86</p><p>16.3 Exemplos de Utilização do VBA</p><p>Dada uma janela de operação de um equipamento, vejamos a utilização do VBA.</p><p>Figura 86</p><p>16.3.1 Set de Variável Digital para um Valor</p><p>Sintax Geral:</p><p>Para setar a variável</p><p>digital para 1</p><p>CloseDigitalPoint [DigitalPoint], [intErrorMode]</p><p>Onde:</p><p>DigitalPoint String. Nome do bloco digital que será setado para 1.</p><p>Para setar a variável digital para 0.</p><p>OpenDigitalPoint [DigitalPoint], [intErrorMode]</p><p>Onde:</p><p>DigitalPoint String. Nome do bloco digital que será setado para 0.</p><p>Exemplo:</p><p>'Publicando o Genérico dos Comandos</p><p>Option Explicit</p><p>Public TAG_LIGA As String</p><p>0682-227 (Rev.: 01) 87</p><p>Private Sub CMB_LIGA_Click()</p><p>closedigitalpoint (TAG_LIGA)</p><p>End Sub</p><p>16.3.2 Abrindo uma Tela ou Janela</p><p>Sintax Geral:</p><p>Para abrir uma janela/tela</p><p>OpenPicture [Picture], [PictureAlias], [TopPosition],</p><p>[LeftPosition], [intErrorMode]</p><p>Onde:</p><p>Picture:</p><p>Nome do arquivo de picture que se deseja abrir.</p><p>Picture Alias:</p><p>Apelido utilizado para caracterizar o picture internamente na aplicação.</p><p>Demais configurações:</p><p>Opcionais.</p><p>Para Fechar uma Janela/Tela</p><p>ClosePicture [Picture], [intErrorMode]</p><p>Onde:</p><p>Picture:</p><p>Nome do arquivo de picture que se deseja fechar.</p><p>Demais configurações:</p><p>Opcionais.</p><p>Exemplo:</p><p>Private Sub Barramento_Botoes_ButtonClick(ByVal Dados As Variant)</p><p>Dim PictName As String</p><p>If Not IsPicOpen(PictName) Then</p><p>ClosePicture "Tela_Atual"</p><p>OpenPicture PictName, "Tela_Atual", 0, 0</p><p>End If</p><p>If Not IsPicOpen("Barra_Alarmes") Then</p><p>OpenPicture "Barra_Alarmes", , 90, 0</p><p>End If</p><p>End Sub</p><p>0682-227 (Rev.: 01) 88</p><p>16.3.3 Script para Inicialização de um Objeto</p><p>Nesta seção, abordaremos como exemplo, a inicialização do objeto Janela(Picture)</p><p>Sintax Geral:</p><p>Object_Initialize()</p><p>Onde:</p><p>Object pode ser Picture, Scheduler, Dynamos, Globals.</p><p>16.3.4 Escrita em Variáveis da Base de Dados</p><p>Nesta seção abordaremos a aplicação da alteração dos limites de engenharia de uma</p><p>variável analógica, via janela de operação.</p><p>Figura 87</p><p>Sintax Geral:</p><p>WriteValue Value , [DataPoint], [intErrorMode]</p><p>Onde:</p><p>Value:</p><p>Variável do tipo String. Valor a ser escrito no bloco(variável) especificada.</p><p>Data Point:</p><p>variável tipo String. Nome do bloco a ser acessado para escrita.</p><p>Demais Parâmetros:</p><p>Opcionais.</p><p>0682-227 (Rev.: 01) 89</p><p>0682-227 (Rev.: 01) 90</p><p>17. LABORATÓRIO 5</p><p>Objetivo</p><p>Utilizar VBA para diversas tarefas no iFIX.</p><p>Realize as seguintes tarefas através de Scripts VBA (não utilize Experts):</p><p>1. Configure um botão para que ele abra um picture quando for pressionado.</p><p>2. Configure para que um botão efetue um toggle no valor do tag digital DIG1 (endereço</p><p>I/O 2:0) quando for pressionado.</p><p>3. Configure um picture de tal forma que o WorkSpace seja fechado quando esse picture</p><p>for fechado.</p><p>Dica: Consulte o help do iFIX, quanto aos métodos do objeto Application e os</p><p>eventos do objeto CFixPicture.</p><p>Sugestão de resposta:</p><p>Configurar um botão para que ele abra um picture quando for pressionado.</p><p>1. Crie um botão, clique nele com o botão direito e selecione a opção Edit Script.</p><p>2. O código que inserirmos na sub-rotina NomedoBotao_Click será executado toda</p><p>vez que o botão for pressionado. Para a tarefa especifica de abrir um picture temos a</p><p>função OpenPicture. Para abrir o picture lab4.grf fariamos:</p><p>Private Sub CommandButton1_Click()</p><p>OpenPicture ("lab4.grf")</p><p>End Sub</p><p>91</p><p>ev.: 01)</p><p>Figura 88</p><p>0682-227 (R</p><p>0682-227 (Rev.: 01) 92</p><p>Configure para que um botão efetue um toggle no valor do tag digital DIG1</p><p>(endereço I/O 2:0) quando for pressionado.</p><p>1. Crie um bloco de entrada digital para DIG1, chame-o de DIG1_INPUT.</p><p>2. Similarmente a tarefa anterior crie um botão e edite seu script.</p><p>3. A ação toggle exige uma decisão, se o ponto digital for igual a 1 escreva 0, caso</p><p>contrário escreva 1. É esse “algoritmo” que devemos implementar em VBA. O</p><p>seguinte código é um exemplo de implementação:</p><p>Private Sub CommandButton2_Click()</p><p>If ReadValue("DIG1_INPUT") Then</p><p>OpenDigitalPoint ("DIG1_INPUT")</p><p>Else</p><p>CloseDigitalPoint ("DIG1_INPUT")</p><p>End If</p><p>End Sub</p><p>93</p><p>ev.: 01)</p><p>Figura 89</p><p>0682-227 (R</p><p>0682-227 (Rev.: 01) 94</p><p>Configure um picture de tal forma que o WorkSpace seja fechado quando esse picture</p><p>for fechado.</p><p>4. O evento Close de um picture é executado quando ele é fechado, portanto devemos</p><p>inserir nosso código nesse evento.</p><p>5. Checando a configuração do objeto Application, vemos o método Quit. Ele fecha o</p><p>workspace, quando chamado.</p><p>6. Devemos então inserir o seguinte código no evento CFixPicture_Close do nosso</p><p>picture:</p><p>Private Sub CFixPicture_Close()</p><p>Aplication.Quit</p><p>End Sub</p><p>95</p><p>ev.: 01)</p><p>Figura 90</p><p>0682-227 (R</p><p>18. ALARMES E EVENTOS</p><p>A abordagem de Alarmes visa o entendimento:</p><p>Da configuração das variáveis que serão setadas para alarme;</p><p>Da alocação das variáveis para áreas de alarme;</p><p>Da configurção dos serviços disponíveis para alarme;</p><p>A forma que os alarmes serão distribuídos entre os nós.</p><p>Para configurarmos a tarefa de alarme, precisamos seguir uma seqüência de passos:</p><p>1. Especifique todos os caminhos da área de alarme para todas as estações que farão</p><p>parte da arquitetura. Esta configuração é feita no SCU\paths. Este caminho deve ser</p><p>configurado em Alarme Areas (AAD).</p><p>Figura 91</p><p>Neste item devemos observar que:</p><p>A base de dados deve ser compartilhada com os nós do sistema (através das</p><p>definições iniciais dos conceitos de nó lógico e nó físico).</p><p>Se a arquitetura estiver utilizando um servidor de arquivos, configure o caminho</p><p>apontando para este servidor.</p><p>Mover o arquivo default AlarmAreas. ADD para o servidor de arquivos.</p><p>2. Defina o nome das áreas de alarme para a arquitetura. Os nomes default são as áreas</p><p>de A a P. Para acessar esta configuração entre no SCU\Edit Alarm Area Database.</p><p>0682-227 (Rev.: 01) 96</p><p>Figura 92</p><p>3. Edit o nome das áreas que serão utilizadas em toda a arquitetura</p><p>Figura 93</p><p>4. Defina o formato a ser utilizado no Sumário de Alarmes. Neste item, selecione quais</p><p>as colunas devem ser visualizadas, a ordem de visualização, etc. Devemos atentar que</p><p>as mensagens de evento não aparecem no sumário de alarmes, justamente pelo fato</p><p>de que por definição, estas não requererem o reconhecimento da operação.</p><p>Figura 94</p><p>5. Habilite e configure os serviços de alarmes nos nós.</p><p>0682-227 (Rev.: 01) 97</p><p>6. Para os servidores SCADA, devemos configurar para cada bloco da base de dados:</p><p>Habilitar alarme e mensagens de evento.</p><p>Especificar a área de alarme.</p><p>Selecionar a prioridade do alarme.</p><p>Definir os limites de alarmes ou sua forma de atuação no caso das variáveis discretas.</p><p>7. Para as estações cliente, crie interfaces(telas, janelas, objetos) para mostrar alarmes</p><p>utilizando link de dados, sumário de alarmes, objetos dedicados.</p><p>0682-227 (Rev.: 01) 98</p><p>19. OBJETOS ACTIVEX</p><p>São componentes de software, encapsulados, gerados em linguagens diferentes e que</p><p>podem ser inseridos em aplicações que suportem esta tecnologia.Estes componentes são</p><p>baseados no modelo de programação COM (Component Object Model) e no</p><p>desenvolvimento OLE (Object Linking and Embedding).</p><p>Este tipo de objeto permite ampliar a capacidade de animação da aplicação, quando os</p><p>objetos básicos passam a não atender às funcionalidades requeridas.</p><p>19.1 Inserindo um Objeto ActiveX na Aplicação</p><p>Neste itens abordaremos a seqüência de passos para inserção de um bargraph em uma</p><p>aplicação:</p><p>1. Dentro do ambiente Workspace, ir no menu Insert\Ole Object.</p><p>2. Teremos disponível a janela de seleção dos objetos registrados, previamente, na</p><p>máquina, conforme abaixo:</p><p>Figura 95</p><p>3. Selecione o objeto a ser inserido e clique em OK.</p><p>Uma vez inseridos na aplicação, estes passam a integrá-la, tal como as demais</p><p>animações. É importante observar que dependendo da estrutura de cada objeto OLE</p><p>inserido, é liberado um conjunto de propriedades que</p><p>podem ser alterados em tempo de</p><p>execução para compor o efeito desejado na animação.</p><p>0682-227 (Rev.: 01) 99</p><p>20. GRUPO DE TAGS</p><p>O conceito de grupo de tags está associado à aplicação de variáveis genéricas (símbolos)</p><p>utilizados em típicos.</p><p>Um grupo de tags pode ser definido como sendo um conjunto de variáveis representadas</p><p>por símbolos e suas substituições, guardados em um arquivo com extensão tgd.</p><p>20.1 Criando um Grupo de Tags para uma Animação</p><p>Neste item abordaremos a seqüência de passos para criação de um grupo de tags em uma</p><p>animação de um botão chamando a janela de operação de um equipamento.</p><p>1. Inserir um botão em uma tela</p><p>2. Selecionar o objeto</p><p>3. Clique em OpenPictureExpert – esta ferramenta irá auxiliá-lo na geração do script</p><p>automático e também nos dará acesso à edição de um tag group.</p><p>Figura 96</p><p>4. Clique no ícone de abertura do editor de Tag Group.</p><p>Figura 97</p><p>5. Então a janela de configuração do arquivo é aberta, conforme mostrado.</p><p>0682-227 (Rev.: 01) 100</p><p>Figura 98</p><p>Podemos definir os itens de configuração assim:</p><p>Symbol:</p><p>Campo de preenchimento obrigatório. Nome genérico que pode ser utilizado em</p><p>scripts, animações, etc.</p><p>Desta forma toda a estrutura de animação se torna geral e será substituída pelo tag</p><p>específico em tempo de execução.</p><p>Substitution:</p><p>Texto que substituirá o Symbol em tempo de execução em toda a estrutura da</p><p>aplicação. Este campo é obrigatório.</p><p>Description:</p><p>Campo opcional, que descreve a função do tag group.</p><p>Após ter editado o arquivo de grupo de tags, é criado um arquivo binário, contendo as</p><p>informações de configuração no subdiretório default \PIC.</p><p>20.2 Animando Utilizando o Tag Group</p><p>Todas as animações de tela onde é desejado utilizar o conceito de Tag Group, devemos</p><p>adotar o procedimento de utilizar o símbolo como data source, sendo este destacado</p><p>por @ no início e no final do símbolo.</p><p>No exemplo abaixo, estaremos adicionando um datalink na tela e utilizando como fonte</p><p>de animação o primeiro símbolo utilizado no arquivo tgd referenciado na Figura 98.</p><p>Veja:</p><p>0682-227 (Rev.: 01) 101</p><p>Figura 99</p><p>Sugestão:</p><p>Observe o comportamento da variável @TAG_LIGA@ sendo fonte de um datalink</p><p>colocado-o em uma tela qualquer, diferente da janela que carregou o arquivo de parâmetros.</p><p>Com este tipo de teste observamos que o conteúdo de @TAG_LIGA@ somente é</p><p>atualizado na janela que carregou o arquivo de parâmetros, ou seja, somente na camada</p><p>desta janela é feita a substituição de</p><p>@TAG_LIGA@ -> Fix32.FIX_LOGI.A38BV104_LIGA.F_CV</p><p>0682-227 (Rev.: 01) 102</p><p>21. OPC</p><p>OPC (OLE for Process Control)</p><p>O padrão OPC foi concebido baseado nas tecnologias OLE (que tem sua origem no</p><p>DDE) e COM da Microsoft, que permitem o compartilhamento de dados em módulos</p><p>de software diferentes, baseados no padrão adotado para representação das variáveis.</p><p>Baseados no conceito de compartilhamento de dados, as diversas aplicações podem</p><p>assumir papel de Cliente ou Servidora de variáveis, dependendo do contexto que a</p><p>arquitetura aborda.</p><p>21.1 Conceitos Básicos sobre Cliente e Servidor</p><p>Aplicações estruturadas para serem Cliente OPC:</p><p>Neste tipo de configuração o cliente se conecta a um servidor OPC e é do cliente a</p><p>iniciativa de comunicação, ou seja, é este que define a taxa de atualização das</p><p>variáveis que ele deseja ver.</p><p>Aplicações estruturadas para serem servidor OPC:</p><p>Neste tipo de configuração o servidor simplesmente disponibilizará a base de dados</p><p>para consultas de aplicações externas.</p><p>21.2 iFIX Trabalhando como Servidor OPC de Outras Aplicações</p><p>Figura 100</p><p>Para que o iFIX seja Servidor OPC de outras aplicações, não é necessário qualquer</p><p>procedimento especial. Isto porque, o Servidor OPC já é nativo do software,</p><p>acompanhando-o juntamente com a instalação.</p><p>Neste tipo de arquitetura, a solicitação de comunicação é feita pelo cliente. É este quem</p><p>definirá quais as variáveis deseja ler e em que taxa deseja a sua atualização.</p><p>0682-227 (Rev.: 01) 103</p><p>No exemplo mostrado na Figura 100, temos o iFIX como Servidor OPC e o Matrikon</p><p>OPC Explorer como Cliente OPC.</p><p>No Matrikon foi criado:</p><p>Um grupo OPC denominado G1.</p><p>Um item OPC denominado:FIX_LOGI.A38BV104_LIGA.F_CV.</p><p>Access Path: vazio.</p><p>Para a configuração citada, o servidor de conexão é Intellution.OPCEDA</p><p>Veja a configuração:</p><p>Figura 101</p><p>Na Figura 101, mostramos a conexão do Cliente Matrikon com o Servidor OPC do</p><p>iFIX. A variável que o cliente está solicitando pode ser vista na Base de dados do iFIX,</p><p>como mostrado abaixo:</p><p>0682-227 (Rev.: 01) 104</p><p>Figura 102</p><p>21.3 iFIX Trabalhando como Cliente OPC de Outras Aplicações</p><p>Para que o iFIX seja Cliente OPC de outras aplicações, são necessários, de forma geral,</p><p>alguns procedimentos:</p><p>Registrar o Servidor OPC da aplicação que faremos a conexão na estação do iFIX.</p><p>Executar o Data Server Installer (C:\Dynamics\DataServerInstaller.exe), para</p><p>permitir a criação de um recurso Data Server a ser disponibilizado para utilização em</p><p>animações, baseado no Servidor OPC da aplicação que faremos a conexão.</p><p>Adicionar um link dinâmico em uma tela do iFIX e selecionar como fonte qualquer</p><p>variável da aplicação servidora que se deseja ver pelo iFIX.</p><p>0682-227 (Rev.: 01) 105</p><p>Figura 103</p><p>Conforme mostrado na Figura 103, utilizaremos como exemplo o iFIX sendo cliente</p><p>OPC do Matrikon OPC Server. Para isto devemos executar os seguintes passos:</p><p>Registrar o OPC Server Matrikon na estação do iFIX. No caso do Matrikon, a</p><p>instalação do ambiente de simulação já é suficiente para criar os registros na</p><p>máquina. Caso não tenha o ambiente de instalação instalado, basta registrar o</p><p>recurso utilizando o comando:</p><p>\regsvr32 nome do recurso</p><p>Este comando pode ser dado a partir do Prompt do MS-DOS, estando no diretório que</p><p>contém o recurso do servidor na máquina.</p><p>Executar o arquivo Data Server Installer no diretório de instalação do iFIX:</p><p>C\Dynamics\DataServerInstaller.exe:/</p><p>0682-227 (Rev.: 01) 106</p><p>Figura 104</p><p>Conforme mostrado na Figura 104, adicionar um Data Server para o Servidor OPC</p><p>Matrikon. Este Data Server tornará disponível as variáveis do Servidor Matrikon para</p><p>serem utilizadas pelo iFIX, da forma que lhe convier.</p><p>É importante relembrar aqui que a iniciativa de comunicação é do iFIX (Cliente OPC</p><p>nesta configuração), portanto quando iniciar novamente a aplicação você observará que</p><p>o iFIX chamará automaticamente o recurso do Servidor Matrikon.</p><p>A taxa de atualização das variáveis do Matrikon, dentro do ambiente da aplicação do</p><p>iFIX é de responsabilidade do Cliente OPC, no caso o iFIX.</p><p>Insira em uma tela do iFIX um datalink e adicione a variável do Matrikon, agora</p><p>disponível na guia Data Servers, veja:</p><p>0682-227 (Rev.: 01) 107</p><p>Figura 105</p><p>0682-227 (Rev.: 01) 108</p><p>22. REDUNDÂNCIA</p><p>A redundância é configurável no iFIX. Neste item abordaremos a arquitetura básica,</p><p>mostrada na Figura 106, utilizando redundância e suas implicações. Entendida a</p><p>abordagem, basta aplicar os conceitos na escala da arquitetura desejada.</p><p>No caso da estação SCADA Primária falhar, a estação VISTA alterna automaticamente</p><p>a leitura de dados para a estação SCADA Backup. Este processo é denominado</p><p>tecnicamente como SCADA Failover.</p><p>É importante observar que após a falha da estação principal, os alarmes continuam</p><p>sendo atualizados normalmente na estação backup, devido à sincronização.</p><p>Figura 106</p><p>22.1 Configurações Necessárias nas Estações para Atender à</p><p>Redundância</p><p>•</p><p>•</p><p>•</p><p>•</p><p>Nas estações SCADA (primária e backup).</p><p>Devem possuir base de dados idênticas.</p><p>Devem possuir o mesmo acesso aos dispositivos de hardware (meio físico e lógico,</p><p>ou seja drivers, rede, etc.).</p><p>O SCU de cada estação deve estar configurado para haver o sincronismo de</p><p>alarmes. Para isto, basta configurar para cada estação um arquivo SCU,</p><p>referenciando o nó parceiro no SCADA Configuration no item Backup Scada.</p><p>Na estação VISTA:</p><p>Arquivo de SCU dedicado para esta estação, permitindo ver o Failover</p><p>automático (uma estação assumindo o papel da outra em caso de falha).</p><p>É importante lembrar, que por definição, a estação VISTA acessa os dados da servidora</p><p>SCADA ativa no momento.</p><p>0682-227 (Rev.: 01) 109</p><p>22.2 Passos para Configurar a Redundância</p><p>Configuração do SCU da estação SCADA primária:</p><p>1. Acessar o menu Configure\Local Startup do SCU</p><p>Figura 107</p><p>2. Acessar a configuração de rede do SCU. Este procedimento permitirá associar o nó</p><p>lógico ao nó físico dos servidores SCADA Primário e Redundante. Desta forma,</p><p>estaremos tornando o nó lógico acessível para ser utilizado na aplicação. Como a</p><p>aplicação referencia suas animações, scripts e controles ao nó lógico, estas podem ser</p><p>vistas de qualquer estação da arquitetura.</p><p>Figura 108</p><p>0682-227 (Rev.: 01) 110</p><p>3. Acessar a configuração SCADA do SCU. Este procedimento permitirá configurar o</p><p>item Backup SCADA. e o database name.</p><p>Esta configuração deve fazer referência ao nó servidor parceiro. Desta forma estaremos</p><p>fazendo referencia do sincronismo de alarmes/base de dados entre a estação principal e</p><p>a backup (redundante).</p><p>Figura 109</p><p>Configuração do SCU da estação SCADA secundária:</p><p>Utilizaremos, para efeitos didáticos, a analogia com o enfoque abordado para</p><p>configuração do SCU da estação SCADA Primária. Desta forma, mencionaremos o item</p><p>e a configuração que atenderá a estação SCADA Backup.</p><p>1. Acessar o menu Configure\Local Startup do SCU.</p><p>Onde:</p><p>Local Node Name:</p><p>FIX_RED</p><p>Local Logical Name:</p><p>FIX_LOGI</p><p>2. Acessar a configuração de rede do SCU.</p><p>Remote Node Name:</p><p>FIX_LOGI</p><p>Primary:</p><p>FIX</p><p>Backup:</p><p>FIX_RED</p><p>0682-227 (Rev.: 01) 111</p><p>3. Configuração SCADA SCU</p><p>Database Name:</p><p>BASEDADO.pdb</p><p>Backup Scada(partner scada):</p><p>FIX</p><p>4. Configuração nó Vista</p><p>Logical Name:</p><p>FIX_LOGI</p><p>Primary SCADA:</p><p>FIX</p><p>Backup SCADA:</p><p>FIX_RED</p><p>Conclusão: Após a Configuração Teremos:</p><p>Disponível o nó lógico para animação</p><p>O nó lógico está referenciado ao nó físico da SCADA Primária e Backup.</p><p>A configuração do parceiro SCADA nos dois servidores fazem referência um ao</p><p>outro e a uma mesma base de dados para que haja sincronização dos alarmes em</p><p>caso de falha, ou seja, os alarmes que já haviam sido reconhecidos na estação ativa</p><p>não retornam após a falha na estação que assumem.</p><p>0682-227 (Rev.: 01) 112</p><p>VISÃO GERAL</p><p>Características Gerais</p><p>Perfil do Produto</p><p>Arquitetura Básica</p><p>REQUISITOS DE HARDWARE, SOFTWARE E REDE PARA RODAR O IFIX</p><p>Requisitos Mínimos de Hardware</p><p>Requisitos de Software</p><p>Requisitos de Rede</p><p>LICENÇAS DISPONÍVEIS NA CHAVE</p><p>CONFIGURAÇÃO DO SISTEMA</p><p>Configuração de Caminhos</p><p>Configuração de Alarmes e Mensagens</p><p>Considerações Importantes sobre Alarmes</p><p>Configuração de Rede</p><p>Configuração de Tarefas</p><p>O AMBIENTE WORKSPACE</p><p>Estruturando o Ambiente Workspace para Trabalhar</p><p>Criando um Diretório Específico para a Aplicação</p><p>Visualizando Barra de Ferramentas no Ambiente Workspace</p><p>Standard Toolbar</p><p>Toolbox</p><p>LABORATÓRIO 1</p><p>ANIMAÇÃO DE OBJETOS</p><p>Animação Utilizando Objetos Básicos</p><p>Exemplos de Animação Utilizando Objetos Básicos</p><p>Conclusões Sobre a Utilização da Ferramenta Animation e da U</p><p>Animações Experts</p><p>Alguns Exemplos de Utilização da Ferramenta Expert</p><p>CONFIGURANDO O AMBIENTE WORKSPACE</p><p>LABORATÓRIO 2</p><p>DRIVERS DE COMUNICAÇÃO</p><p>Configurando um Driver de Comunicação</p><p>BLOCOS DE DADOS</p><p>Bloco de Entrada Digital – DI</p><p>Bloco de Saída Digital - DO</p><p>Bloco de Entrada Analógica – AI</p><p>Bloco de Saída Analógica – AO</p><p>Bloco de Cálculo – CA</p><p>Operadores Possíveis para Trabalhar no Bloco de Cálculo</p><p>Bloco de Evento</p><p>LABORATÓRIO 3</p><p>TENDÊNCIA</p><p>Tendência Real</p><p>Tendência Histórica</p><p>Arquitetura Geral</p><p>Passos para Criação de uma Tendência Histórica</p><p>SCHEDULER</p><p>Inserindo um Scheduler na Aplicação</p><p>Para Rodar um Scheduler</p><p>LABORATÓRIO 4</p><p>TRABALHANDO COM VBA</p><p>Aplicações do VBA</p><p>Conceitos Utilizados na Programação</p><p>Exemplos de Utilização do VBA</p><p>Set de Variável Digital para um Valor</p><p>Abrindo uma Tela ou Janela</p><p>Script para Inicialização de um Objeto</p><p>Escrita em Variáveis da Base de Dados</p><p>LABORATÓRIO 5</p><p>ALARMES E EVENTOS</p><p>OBJETOS ACTIVEX</p><p>Inserindo um Objeto ActiveX na Aplicação</p><p>GRUPO DE TAGS</p><p>Criando um Grupo de Tags para uma Animação</p><p>Animando Utilizando o Tag Group</p><p>OPC</p><p>Conceitos Básicos sobre Cliente e Servidor</p><p>iFIX Trabalhando como Servidor OPC de Outras Aplicações</p><p>iFIX Trabalhando como Cliente OPC de Outras Aplicações</p><p>REDUNDÂNCIA</p><p>Configurações Necessárias nas Estações para Atender à Redund</p><p>Passos para Configurar a Redundância</p><p>16.1 Aplicações do VBA ...............................................................................................................................................86</p><p>16.2 Conceitos Utilizados na Programação................................................................................................................86</p><p>16.3 Exemplos de Utilização do VBA ........................................................................................................................87</p><p>16.3.1 Set de Variável Digital para um Valor ................................................................................................................87</p><p>16.3.2 Abrindo uma Tela ou Janela ................................................................................................................................88</p><p>16.3.3 Script para Inicialização de um Objeto ..............................................................................................................89</p><p>16.3.4 Escrita em Variáveis da Base de Dados .............................................................................................................89</p><p>17. LABORATÓRIO 5..........................................................................................................................90</p><p>18. ALARMES E EVENTOS ...............................................................................................................96</p><p>19. OBJETOS ACTIVEX......................................................................................................................99</p><p>19.1 Inserindo um Objeto ActiveX na Aplicação.....................................................................................................99</p><p>20. GRUPO DE TAGS........................................................................................................................ 100</p><p>20.1 Criando um Grupo de Tags para uma Animação .......................................................................................... 100</p><p>20.2 Animando Utilizando o Tag Group................................................................................................................. 101</p><p>21. OPC 103</p><p>21.1 Conceitos Básicos sobre Cliente e Servidor ................................................................................................... 103</p><p>21.2 iFIX Trabalhando como Servidor OPC de Outras Aplicações .................................................................. 103</p><p>21.3 iFIX Trabalhando como Cliente OPC de Outras Aplicações..................................................................... 105</p><p>22. REDUNDÂNCIA ......................................................................................................................... 109</p><p>22.1 Configurações Necessárias nas Estações para Atender à Redundância..................................................... 109</p><p>22.2 Passos para Configurar a Redundância ........................................................................................................... 110</p><p>0682-227 (Rev.: 01) III</p><p>Figuras</p><p>Figura 1 .....................................................................................................................................................................2</p><p>Figura 2 .....................................................................................................................................................................2</p><p>Figura 3 .....................................................................................................................................................................3</p><p>Figura 4 .....................................................................................................................................................................3</p><p>Figura 5 .....................................................................................................................................................................3</p><p>Figura 6 .....................................................................................................................................................................4</p><p>Figura 7 .....................................................................................................................................................................7</p><p>Figura 8 .....................................................................................................................................................................8</p><p>Figura 9 .....................................................................................................................................................................9</p><p>Figura 10 .................................................................................................................................................................11</p><p>Figura 11 .................................................................................................................................................................12</p><p>Figura 12 .................................................................................................................................................................13</p><p>Figura 13 .................................................................................................................................................................14</p><p>Figura 14 .................................................................................................................................................................16</p><p>Figura 15 .................................................................................................................................................................19</p><p>Figura 16 .................................................................................................................................................................19</p><p>Figura 17 .................................................................................................................................................................20</p><p>Figura 18 .................................................................................................................................................................22</p><p>Figura 19 .................................................................................................................................................................24</p><p>Figura 20 .................................................................................................................................................................27</p><p>Figura 21 .................................................................................................................................................................27</p><p>Figura 22 .................................................................................................................................................................28</p><p>Figura 23 .................................................................................................................................................................29</p><p>Figura 24 .................................................................................................................................................................30</p><p>Figura 25 .................................................................................................................................................................31</p><p>Figura 26 .................................................................................................................................................................31</p><p>Figura 27 .................................................................................................................................................................32</p><p>Figura 28 .................................................................................................................................................................33</p><p>Figura 29 .................................................................................................................................................................34</p><p>Figura 30 .................................................................................................................................................................35</p><p>Figura 31 .................................................................................................................................................................35</p><p>Figura 32 .................................................................................................................................................................37</p><p>Figura 33 .................................................................................................................................................................37</p><p>Figura 34 .................................................................................................................................................................38</p><p>Figura 35 .................................................................................................................................................................38</p><p>Figura 36 .................................................................................................................................................................39</p><p>Figura 37 .................................................................................................................................................................40</p><p>Figura 38 .................................................................................................................................................................41</p><p>Figura 39 .................................................................................................................................................................41</p><p>Figura 40 .................................................................................................................................................................42</p><p>Figura 41 .................................................................................................................................................................43</p><p>Figura 42 .................................................................................................................................................................44</p><p>Figura 43 .................................................................................................................................................................44</p><p>Figura 44 .................................................................................................................................................................45</p><p>Figura 45 .................................................................................................................................................................46</p><p>Figura 46 .................................................................................................................................................................47</p><p>0682-227 (Rev.: 01) IV</p><p>Figura 47 .................................................................................................................................................................48</p><p>Figura 48 .................................................................................................................................................................49</p><p>Figura 49 .................................................................................................................................................................50</p><p>Figura 50 .................................................................................................................................................................51</p><p>Figura 51 .................................................................................................................................................................52</p><p>Figura 52 .................................................................................................................................................................53</p><p>Figura 53 .................................................................................................................................................................54</p><p>Figura 54 .................................................................................................................................................................55</p><p>Figura 55 .................................................................................................................................................................55</p><p>Figura 56 .................................................................................................................................................................56</p><p>Figura 57 .................................................................................................................................................................57</p><p>Figura 58 .................................................................................................................................................................58</p><p>Figura 59 .................................................................................................................................................................59</p><p>Figura 60 .................................................................................................................................................................60</p><p>Figura 61 .................................................................................................................................................................61</p><p>Figura 62 .................................................................................................................................................................61</p><p>Figura 63 .................................................................................................................................................................62</p><p>Figura 64 .................................................................................................................................................................63</p><p>Figura 65 .................................................................................................................................................................63</p><p>Figura 66 .................................................................................................................................................................65</p><p>Figura 67 .................................................................................................................................................................66</p><p>Figura 68 .................................................................................................................................................................68</p><p>Figura 69 .................................................................................................................................................................68</p><p>Figura 70 .................................................................................................................................................................69</p><p>Figura 71 .................................................................................................................................................................70</p><p>Figura 72 .................................................................................................................................................................71</p><p>Figura 73 .................................................................................................................................................................72</p><p>Figura 74 .................................................................................................................................................................73</p><p>Figura 75 .................................................................................................................................................................73</p><p>Figura 76 .................................................................................................................................................................74</p><p>Figura 77 .................................................................................................................................................................76</p><p>Figura 78 .................................................................................................................................................................78</p><p>Figura 79 .................................................................................................................................................................79</p><p>Figura 80 .................................................................................................................................................................80</p><p>Figura 81 .................................................................................................................................................................80</p><p>Figura 82 .................................................................................................................................................................81</p><p>Figura 83 .................................................................................................................................................................83</p><p>Figura 84 .................................................................................................................................................................84</p><p>Figura 85 .................................................................................................................................................................85</p><p>Figura 86 .................................................................................................................................................................87</p><p>Figura 87 .................................................................................................................................................................89</p><p>Figura 88 .................................................................................................................................................................91</p><p>Figura 89 .................................................................................................................................................................93</p><p>Figura 90 .................................................................................................................................................................95</p><p>Figura 91 .................................................................................................................................................................96</p><p>Figura 92 .................................................................................................................................................................97</p><p>Figura 93 .................................................................................................................................................................97</p><p>Figura 94 .................................................................................................................................................................97</p><p>Figura 95 .................................................................................................................................................................99</p><p>Figura 96 ...............................................................................................................................................................100</p><p>Figura 97 ...............................................................................................................................................................100</p><p>Figura 98 ...............................................................................................................................................................101</p><p>0682-227 (Rev.: 01) V</p><p>Figura 99 ...............................................................................................................................................................102</p><p>Figura 100.............................................................................................................................................................103</p><p>Figura 101.............................................................................................................................................................104</p><p>Figura 102.............................................................................................................................................................105</p><p>Figura 103.............................................................................................................................................................106</p><p>Figura 104.............................................................................................................................................................107</p><p>Figura 105.............................................................................................................................................................108</p><p>Figura 106.............................................................................................................................................................109</p><p>Figura 107.............................................................................................................................................................110</p><p>Figura 108.............................................................................................................................................................110</p><p>Figura 109.............................................................................................................................................................111</p><p>Tabelas</p><p>Tabela 1...................................................................................................................................................................10</p><p>Tabela 2...................................................................................................................................................................11</p><p>Tabela 3...................................................................................................................................................................15</p><p>Tabela 4...................................................................................................................................................................26</p><p>Tabela 5...................................................................................................................................................................34</p><p>Tabela 6...................................................................................................................................................................54</p><p>Tabela 7...................................................................................................................................................................62</p><p>Tabela 8...................................................................................................................................................................64</p><p>0682-227 (Rev.: 01) VI</p><p>1. VISÃO GERAL</p><p>1.1 Características Gerais</p><p>Software Supervisório destinado à Automação Industrial, permitindo uma interface</p><p>adequada de operação para o usuário, enfocando duas características básicas:</p><p>•</p><p>•</p><p>•</p><p>•</p><p>•</p><p>•</p><p>•</p><p>•</p><p>•</p><p>•</p><p>Aquisição de dados:</p><p>Comunicação direta com dispositivos I/O na planta.</p><p>Interface com dispositivos de hardware via drivers I/O.</p><p>Gerenciamento dos dados:</p><p>Habilidade de processar e manipular dados adquiridos.</p><p>O gerenciamento dos dados é composto de vários itens, incluindo:</p><p>Monitoramento do processo via tela gráfica</p><p>Controle supervisório.</p><p>Alarme.</p><p>Relatório.</p><p>Armazenamento</p><p>de dados.</p><p>1.2 Perfil do Produto</p><p>Neste item abordaremos a filosofia de aquisição e tratamento de dados pelos nós,</p><p>caracterizando-os segundo o tipo e segundo a configuração:</p><p>Tipos de nós:</p><p>O nó que adquire dados do hardware do processo é chamado SCADA cujas</p><p>funcionalidades são encontradas nos pacotes iFIX HMI Pack ou iFIX Scada Server.</p><p>Funcionalidades:</p><p>SCADA – Supervisory Control And Data Acquisition.</p><p>Comunica-se com o hardware do processo através do driver de I/O.</p><p>Carrega e gerencia a base de dados do processo.</p><p>0682-227 (Rev.: 01) 1</p><p>Arquitetura utilizando funcionalidades SCADA:</p><p>Figura 1</p><p>Figura 2</p><p>•</p><p>•</p><p>•</p><p>•</p><p>O nó iClient cujas funcionalidades podem ser encontradas nos pacotes iFIX Client,</p><p>iFIX Client Read Only, iClient TS.</p><p>Funcionalidades:</p><p>O iclient recebe dados do servidor SCADA via rede.</p><p>Um iclient também pode executar outras aplicações.</p><p>Este nó também é chamado de vista.</p><p>O iClient é referenciado nas literaturas como HMI (Human Machine Interface).</p><p>0682-227 (Rev.: 01) 2</p><p>Arquitetura utilizando funcionalidades iClient:</p><p>iFIX Client</p><p>Figura 3</p><p>iFIX Client Read Only</p><p>Figura 4</p><p>iFIX Client TS</p><p>Figura 5</p><p>0682-227 (Rev.: 01) 3</p><p>1.3 Arquitetura Básica</p><p>0682-227-002/00</p><p>Figura 6</p><p>•</p><p>•</p><p>•</p><p>−</p><p>−</p><p>•</p><p>•</p><p>A – Drivers I/O:</p><p>O iFIX comunica com o CLP através de um driver I/O.</p><p>Cada driver I/O suporta a comunicação com um fabricante específico.</p><p>O driver I/O possui as seguintes funções:</p><p>Leitura e escrita de dispositivos de I/O.</p><p>Transferência de dados leitura/escrita para a DIT(tabela imagem de dados).</p><p>B – DIT – Tabela Imagem do Driver.</p><p>É importante lembrar que a tabela imagem de dados é composta de poll records. Estes</p><p>são denominados registros que podem conter um simples ponto ou um conjunto de</p><p>pontos de comunicação. Geralmente um poll record tem um mesmo tipo de dado.</p><p>Cada poll record é atualizado pelos drivers na DIT com uma taxa.</p><p>C – SAC – Scan (varredura), Alarm and Control possui a função de:</p><p>Escrita/leitura na tabela imagem de dados(DIT).</p><p>Escrita/leitura na base de dados do processo (PDB).</p><p>0682-227 (Rev.: 01) 4</p><p>D – PDB – Base de Dados do Processo.</p><p>A base de dados do processo é composta de tags e é identificada da seguinte forma:</p><p>Sintaxe:</p><p>SERVER.NODE.TAG.FIELD</p><p>Onde:</p><p>SERVER:</p><p>Nome do servidor de dados OPC.O nome default utilizado na representação da base de</p><p>dados é Fix32. O servvidor OPC do iFIX é disponibilizado a sistemas externos com o</p><p>nome Intellution.OPCEDA.</p><p>NODE:</p><p>Nome do nó SCADA onde fica a base de dados.</p><p>TAG:</p><p>Nome do Tag na base de dados.</p><p>FIELD:</p><p>campo específico do bloco do tag.</p><p>Exemplo:</p><p>Mostrar o valor atual (F_CV) do bloco Analogica_1, residente na PDB do nó SCADA1,</p><p>que é disponibilizado pelo servidor OPC FIX32.</p><p>Como Ficaria:</p><p>FIX32.SCADA1.Analogica_1.F_CV</p><p>É importante observar que por filosofia, os dados mostrados localmente no nó</p><p>SCADA1 ou a partir de um nó remoto usa o mesmo nome fonte dos dados.</p><p>Em caso de dúvida consulte a Figura 6.</p><p>É importante observar que Fix32 é servidor OPC nativo, visto internamente à</p><p>arquitetura do iFIX.</p><p>0682-227 (Rev.: 01) 5</p><p>2. REQUISITOS DE HARDWARE, SOFTWARE E REDE PARA</p><p>RODAR O IFIX</p><p>2.1 Requisitos Mínimos de Hardware</p><p>•</p><p>•</p><p>•</p><p>•</p><p>ft</p><p>Computador Pentium, com clock no mínimo 266 MHz.</p><p>Memória:</p><p>96 MB RAM.</p><p>120 MB de espaço livre no HD.</p><p>Monitor com resolução de no mínimo 800x600 e 65535 cores.</p><p>Portas</p><p>Serial para acesso a driver I/O.</p><p>Paralela para conexão da chave de hardware.</p><p>2.2 Requisitos de So ware</p><p>Windows NT 4.0 ou Windows 2000. É importante mencionar que Windows 95 e</p><p>Windows 98 não são compatíveis.</p><p>Service Pack 5 ou superior.</p><p>As redes possíveis são NetBIOS ou TCP/IP.</p><p>Drivers de Vídeo: foram relatados problemas com alguns tipos de drivers de vídeo.</p><p>Estes problemas foram detectados tanto nas aplicações de iFIX, como em outras</p><p>aplicações.</p><p>2.3 Requisitos de Rede</p><p>O acesso à rede é opcional e os nós que não estão em rede são denominados “stand</p><p>alone”.</p><p>É recomendável a utilização do cartão de rede Ethernet 3COM.</p><p>Utilizando NetBIOS, o iFIX suporta o protocolo NetBEUI ou permite a utilização do</p><p>TCP/IP.</p><p>No caso de utilização do TCP/IP, devemos observar os seguintes detalhes:</p><p>Antes de instalar o iFIX, configurar os endereços IP com o nome dos nós (utilizar</p><p>arquivo HOSTS, presente em C:\WINNT\system32\drivers\etc)</p><p>Habilitar o protocolo TCP/IP no SCU.</p><p>0682-227 (Rev.: 01) 6</p><p>3. LICENÇAS DISPONÍVEIS NA CHAVE</p><p>Para verificar os componentes que estão habilitados na chave de hardware, basta rodar o</p><p>executável contido no caminho indicado:</p><p>C:\Dynamics\KEYDIAG.exe.</p><p>Para rodar este comando utilize o prompt do MS-DOS.</p><p>Veja uma janela gerado por este comando, de exemplo:</p><p>Figura 7</p><p>0682-227 (Rev.: 01) 7</p><p>4. CONFIGURAÇÃO DO SISTEMA</p><p>Quando o iFIX é iniciado, este busca um arquivo contendo as informações para serem</p><p>carregadas localmente na máquina. Este arquivo contém informações sobre programas e</p><p>configurações específicas da estação em questão. Este item traz a abordagem dos</p><p>detalhes de configuração. Isto é feito utilizando o utilitário SCU – System Configuration</p><p>Utility.</p><p>Em linhas gerais o SCU permite:</p><p>Configuração de caminhos.</p><p>Configuração de alarmes e mensagens.</p><p>Configuração de rede.</p><p>Configuração de tarefas.</p><p>Figura 8</p><p>Conforme mostrado na Figura 8, vemos as tarefas do utilitário de configuração de</p><p>sistema, numeradas para facilitar o entendimento:</p><p>1. Path Configuration:</p><p>Configuração dos diretórios relativos à aplicação.</p><p>2. Alarm Configuration:</p><p>Habilitação das tarefas de alarme.</p><p>3. Network Configuration:</p><p>Configuração geral de rede, tipos de protocolo, configuração de nós.</p><p>4. SCADA Configuration:</p><p>Habilitar suporte SCADA, definir nome da base de dados, definir drivers para serem</p><p>utilizados.</p><p>0682-227 (Rev.: 01) 8</p><p>5. Task Configuration:</p><p>Configuração de tarefas para serem chamadas pelo supervisório.</p><p>6. Security Configuration:</p><p>Configuração de níveis de segurança de usuários.</p><p>7. SQL Accounts:</p><p>Configuração de contas de usuários para acesso a banco de dados.</p><p>8. Alarm Area Configuration:</p><p>Configuração das áreas de alarmes, para criação de filtros de alarme por área.</p><p>4.1 Configuração de Caminhos</p><p>A configuração de caminhos (path configuration) especifica os nomes dos</p><p>diretórios a serem utilizados pelo iFIX /Aplicação.</p><p>Devemos atentar, no entanto, para o impacto da alteração dos caminhos:</p><p>O SCU criará automaticamente os novos diretórios.</p><p>Os arquivos antigos relativos ao ambiente workspace instalado de forma default NÃO</p><p>são copiados automaticamente para o novo diretório.</p><p>Para acessar a janela de configuração de caminhos basta clicar no ícone 1, mostrado</p><p>conforme Figura 8 e então teremos:</p><p>Figura 9</p><p>0682-227 (Rev.: 01) 9</p><p>Onde:</p><p>Caminho Usado para</p><p>Base Armazena todos os arquivos executáveis utilizados pelo iFIX.</p><p>Local Arquivos de configuração para a estação local. Arquivos de SCU e arquivos</p><p>de segurança.</p><p>Database Arquivos de configuração de base de dados e arquivos de configuração de</p><p>I/O</p><p>Language Arquivo de configuração de linguagem utilizado para todo o ambiente.</p><p>Picture Todos os arquivos associados a telas, janelas, etc.</p><p>Application Arquivos de dados e configuração de aplicações criadas pelo usuário para</p><p>acesso à base de dados.</p><p>Historical Arquivos contendo a configuração feita para dados históricos.</p><p>Historical Data Arquivos contendo os dados históricos.</p><p>Alarms Arquivos contendo dados de alarme. A cada dia um novo arquivo é criado.</p><p>Mater Recipe Arquivos de receitas principais e também são encontrados arquivos contendo</p><p>informações de erro logadas pelo iFIX.</p><p>Control Recipe Arquivos contendo receitas de controle e também são encontrados arquivos</p><p>contendo informações de erro logadas durante as operações de download e</p><p>upload das receitas</p><p>configuradas.</p><p>Alarm Areas Localização da base de dados das áreas de alarme.</p><p>Tabela 1</p><p>4.2 Configuração de Alarmes e Mensagens</p><p>A configuração de alarmes habilita/desabilita as funções de alarme para o nó de</p><p>configuração local.</p><p>As funções de alarme possíveis são:</p><p>Habilitar ou desabilitar, individualmente, as tarefas de alarme.</p><p>Configurar a distribuição dos alarmes e mensagens em rede.</p><p>Configuração geral das mensagens e tipos de informação (Date, time, description, alarm</p><p>type, etc) a serem enviados via rede.</p><p>Habilitar o envio de alarmes para banco de dados relacionais via ODBC.</p><p>0682-227 (Rev.: 01) 10</p><p>Para acessar a janela de configuração de caminhos basta clicar no ícone 2, mostrado</p><p>conforme Figura 8 e então teremos:</p><p>Figura 10</p><p>Tarefa de Alarme Função</p><p>Alarm Printers Alarmes e mensagens para impressora</p><p>Alarm Summary</p><p>Service</p><p>Habilita o objeto de sumário de alarmes.</p><p>Alarm File Service Mensagem gerada para o arquivo de alarme. O arquivo é salvo com o</p><p>nome YYMMDD.ALM e constitui um arquivo texto.</p><p>Alarm History Mostra alarmes e mensagens em tempo real</p><p>Alarm ODBC Service Envia dados para uma fonte de dados previamente configurada no</p><p>Control Panel da máquina.</p><p>Alarm Network</p><p>Service</p><p>Envia e recebe alarmes pela rede</p><p>Alarm Startup Queue</p><p>Service</p><p>Atualiza alarmes e mensagens ocorridos em um nó SCADA, quando o</p><p>nó vista á iniciado, sendo a data da ocorrência no período anterior ao</p><p>definido pelo usuário em fase de configuração.</p><p>Tabela 2</p><p>0682-227 (Rev.: 01) 11</p><p>4.2.1 Considerações Importantes sobre Alarmes</p><p>Para configurar alarme para uma variável, basta editar normalmente a base de dados e</p><p>então configurar a guia de Alarms na caixa de configuração da variável:</p><p>Figura 11</p><p>Conforme mostrado na Figura 11, para alguns tipos de bloco é possível gerar</p><p>alarmes(Enable Alarming) e/ou eventos(Enable Event Messaging).</p><p>O arquivo que guarda a configuração feita para as variáveis que possuem alarme é</p><p>armazenado em \PDB com a extensão *.AAD armazenando-as por área de alarme em</p><p>ordem alfabética.</p><p>É importante lembrar que a base de dados só pode ser editada, de forma default, a partir</p><p>de um nó SCADA.</p><p>Em caso da necessidade de utilização de arquivos de som para gerar alarme, basta</p><p>colocar o arquivo wav dentro do diretório c:\Dynamics\App.</p><p>0682-227 (Rev.: 01) 12</p><p>4.3 Configuração de Rede</p><p>Para acessar a janela de configuração de rede, bastar clicar no botão referente ao ícone 3</p><p>do SCU, conforme indicada na Figura 8.</p><p>Figura 12</p><p>A configuração de rede permite o estabelecimento da comunicação entre estações iFIX.</p><p>Os nós que não tiverem esta configuração são definidos como Stand alone</p><p>Confome ilustrado na Figura 12, podemos definir os campos:</p><p>Network:</p><p>Configura o tipo de suporte a rede a ser utilizado</p><p>Remote Nodes:</p><p>Define os nomes dos Servidores Scada e seus backup (redundância), configurados via</p><p>botão Configure.</p><p>Os nós aqui definidos são nós lógicos. Desta forma é associado o nó lógico ao nó físico</p><p>(principal e redundante), permitindo disponibilizar o nó lógico na base de dados para</p><p>trabalharmos as animações. Com as animações referentes ao nó lógico, todas as estações</p><p>presentes na arquitetura, inclusive estações vista, compartilharão a base de dados da</p><p>servidora.</p><p>Dynamic Connections:</p><p>Permite a conexão automática para um nó não configurado no item remote nodes,</p><p>devido à solicitação de um objeto.</p><p>Advanced Configuration:</p><p>Configuração para habilitar a redundância.</p><p>0682-227 (Rev.: 01) 13</p><p>4.4 Configuração de Tarefas</p><p>Para acessar a janela de configuração de tarefas, bastar clicar no botão referente ao ícone</p><p>5 do SCU, conforme indicada na Figura 8.</p><p>Figura 13</p><p>A configuração de tarefas é utilizada para definir os programas que serão executados</p><p>automaticamente com a partida do iFIX.</p><p>Pode ser chamado qualquer arquivo executável.</p><p>Para cada tarefa configurada, podemos selecionar a opção desta ser executada em modo</p><p>minimizado, normal ou em background.</p><p>Quando a tarefa é utilizada em modo background, esta inicia como uma tarefa de fundo.</p><p>Esta opção permite executar uma tarefa como um serviço do iFIX, e também é possível</p><p>habilitar o iFIX como um serviço do Windows NT, bastando acessar o menu</p><p>Configure\Local Startup no ambiente SCU.</p><p>Na opção linha de comando (Command Line) é possível adicionar um argumento para</p><p>modificar o modo de execução da tarefa.</p><p>0682-227 (Rev.: 01) 14</p><p>0682-227 (Rev.: 01) 15</p><p>Veja na Tabela 3 a opção de parâmetros para a tarefa SAC e IOCNTRL.</p><p>Task Argumento Parâmetro Adicional Descrição</p><p>S Sincroniza o relógio do sistema</p><p>D segundos Atrasa a partida do SAC por um</p><p>número determinado de</p><p>segundos.</p><p>SAC(Scan,</p><p>Alarm,</p><p>Control)</p><p>Q tamanho Configura o número de alarmes</p><p>em fila para o programa Alarm</p><p>Queue Status.</p><p>/A Inicia todos os drivers IOCNTRL</p><p>/S xxx Inicia um determinado driver</p><p>(onde xxx com 3 letras é o</p><p>código do driver)</p><p>Tabela 3</p><p>Exemplos de Command Line</p><p>* C:\Dynamics\ALMHIS.EXE -></p><p>A tarefa de alarme histórico irá partir minimizada(*)</p><p>% C:\DYNAMICS\WSACTASK.EXE D 5 -></p><p>A tarefa será iniciada em background (%) sendo o seu start atrasada de 5 segundos do</p><p>iFIX.</p><p>C:\DYNAMICS\WORKSPACE.EXE -></p><p>A tarefa Workspace irá rodar em modo normal, sem parâmetro adicional.</p><p>C:\DYNAMICS\IOCNTRL.EXE /SABH -></p><p>Inicia o driver ABH</p><p>Observação:</p><p>Os drivers da versão 7.x ou superior dão Start automático com o servidor OPC nativo, não</p><p>sendo necessária nenhuma linha de comando para tal.</p><p>16</p><p>ev.: 01)</p><p>5. O AMBIENTE WORKSPACE</p><p>Figura 14</p><p>0682-227 (R</p><p>O Workspace é um ambiente de desenvolvimento, representando o projeto sob forma</p><p>de árvore. Para acessá-lo basta clicar em</p><p>Start\iFIX\Intellution Dynamics\Workspace.</p><p>Neste ambiente podemos visualizar todas as ferramentas básicas para desenvolvimento</p><p>da aplicação, tais como:</p><p>•</p><p>•</p><p>•</p><p>•</p><p>Alarm History:</p><p>Histórico de alarmes</p><p>Database Manager:</p><p>Base de dados</p><p>Documents:</p><p>Links de chamada para Word e Excel de dentro da própria aplicação.</p><p>Dynamo Sets:</p><p>Objetos previamente animados. Servem como biblioteca de animação.</p><p>Fix Recipes:</p><p>Receitas para passagem de parâmetros.</p><p>Globals:</p><p>Área disponível para definição de variáveis globais que poderão ser utilizadas nos</p><p>scripts. As variáveis aqui definidas podem ser vistas pelo compilador em qualquer</p><p>parte dos scripts, sem a necessidade de serem declaradas localmente nestes.</p><p>Help &Information:</p><p>Contém arquivos de help diversos.</p><p>I/O Drivers:</p><p>Aqui estarão listados todos os drivers instalados e selecionados na configuração SCU</p><p>(utilitário de configuração de sistema) feita para a aplicação. Mais tarde,</p><p>abordaremos o SCU com mais detalhes, mas por enquanto já nos atende saber que</p><p>se trata de um módulo do iFIX que busca um arquivo na máquina para determinar a</p><p>configuração local. Este arquivo contém informações sobre os programas e opções</p><p>específicas para o nó local. Basicamente podemos dizer que são configurados no</p><p>SCU:</p><p>Caminhos.</p><p>Alarmes e mensagens.</p><p>Rede.</p><p>Tarefas que rodam junto com a aplicação. Neste item é possível, inclusive,</p><p>configurar um executável externo para ser chamado pela aplicação.</p><p>Dentro da pasta I/O drivers também podemos encontrar um objeto denominado Mission</p><p>Control (Missão de Controle) que se trata de uma controle de parâmetros de algumas</p><p>tarefas podendo ser útil em desenvolvimento/runtime. Um exemplo de aplicação é para</p><p>uma boa análise da estrutura de comunicação associada a um driver.</p><p>Pictures:</p><p>Aqui são visualizadas as telas e janelas utilizadas na aplicação.</p><p>Reports:</p><p>Visualização dos objetos configurados para relatório.</p><p>0682-227 (Rev.: 01) 17</p><p>Schedules:</p><p>Permite a criação de objetos para controle de ações baseadas em tempo e em</p><p>evento.</p><p>Security:</p><p>Objetos que permitem a configuração de níveis de acessos dos usuários à aplicação.</p><p>System Configuration:</p><p>Chamada do SCU de dentro da própria aplicação.</p><p>5.1 Estruturando o Ambiente Workspace para Trabalhar</p><p>Para tornar o ambiente de trabalho mais produtivo, vamos dar enfoque a duas linhas</p><p>importantes:</p><p>Criando um diretório específico para armazenar a aplicação</p><p>Visualizando as barras de ferramenta que dão mais facilidade e conseqüentemente</p><p>produtividade ao desenvolvimento.</p><p>5.1.1 Criando um Diretório Específico para a Aplicação</p><p>Este item traz a abordagem da criação de um diretório específico para a aplicação,</p><p>separada do diretório de instalação do iFIX. Este tipo de procedimento traz vantagens</p><p>de organização e possibilidade de reinstalação do iFIX, em caso de necessidade, sem</p><p>nenhum dano aos arquivos da aplicação.</p><p>Uma vez instalado o iFIX, este criará de forma default uma estruturação de diretórios em</p><p>c:\Dynamics.</p><p>Para criar um diretório específico para a aplicação, devemos seguir os seguintes passos:</p><p>Ir em Start\Programs\iFIX\System Configuration.</p><p>Ir no menu File >> New.</p><p>Ir no menu Configure e habilitar Scada Support. Este procedimento irá possibilitar</p><p>adicionar o(s) driver(s) de comunicação, definir o arquivo de extensão pdb utilizado</p><p>para base de dados. Neste item selecione o driver a ser utilizado e nomeia o arquivo</p><p>de base de dados.</p><p>Ir no menu Configure\paths e alterar os diretórios para a nova aplicação. Todos os</p><p>diretórios devem ser mudados, exceto Base e Language. Estes últimos devem ser</p><p>mantidos conforme a instalação do iFIX. Veja como ficaria para um subdiretório</p><p>dentro de C:\Dynamics que abrigaria toda a aplicação:</p><p>0682-227 (Rev.: 01) 18</p><p>Figura 15</p><p>A consequência mais importante do procedimento citado na Figura 15 é o fato de se ter</p><p>isolado em C:\DYNAMICS\NOVA APLIC o backup deste subdiretório e a</p><p>restauração deste em qualquer máquina que já possua a instalação default do iFIX</p><p>permitirá rodar a aplicação sem nenhum problema.</p><p>Salvar a configuração de sistema para esta aplicação indo em File\Save As.</p><p>Este procedimento cria um arquivo com extensão scu em C:\DYNAMICS\NOVA</p><p>APLIC\LOCAL.</p><p>Veja o ambiente do SCU com seus menus:</p><p>Figura 16</p><p>0682-227 (Rev.: 01) 19</p><p>•</p><p>Copiar os arquivos com extensão fxg do diretório C:\DYNAMICS\PIC para o</p><p>diretório C:\DYNAMICS\NOVA APLIC\PIC. Este procedimento permitirá</p><p>visualizarmos as barras de ferramenta default da instalação do iFIX no novo</p><p>ambiente que criamos para rodar a aplicação separadamente, conforme abordado no</p><p>item Error! Reference source not found..</p><p>Criar um ícone para a aplicação.</p><p>Basta alterar a propriedade target do ícone, de forma que esta passe a conter o</p><p>nome do nó, nome da nova aplicação e nome do arquivo com extensão scu.</p><p>Figura 17</p><p>Conforme mostrado na Figura 17, o target passa a ser:</p><p>•</p><p>•</p><p>Rodando com chave de hardware:</p><p>C:\Dynamics\Launch.exe /nFIX /sC:\Dynamics\Nova</p><p>aplic\LOCAL\FIX.SCU.</p><p>Rodando em modo DEMO:</p><p>C:\Dynamics\Launch.exe /t /nFIX /sC:\Dynamics\Nova</p><p>aplic\LOCAL\FIX.SCU.</p><p>No caminho indicado acima, o nome do arquivo scu deve ser o mesmo que você salvou</p><p>para a configuração de sistema (SCU) criada para a Aplicação.</p><p>0682-227 (Rev.: 01) 20</p><p>0682-227 (Rev.: 01) 21</p><p>5.1.2 Visualizando Barra de Ferramentas no Ambiente Workspace</p><p>5.1.2.1 Standard Toolbar</p><p>Para visualizarmos a barra de ferramenta Standard do Workspace, basta acessar dentro do</p><p>Ambiente Workspace o menu Workspace\Toolbars, com Workspace em destaque,</p><p>selecionar opção Standard Toolbar, conforme mostrado na Figura 18.</p><p>22</p><p>ev.: 01)</p><p>Figura 18</p><p>0682-227 (R</p><p>0682-227 (Rev.: 01) 23</p><p>Esta barra de ferramentas permite entre outras opções, a possibilidade de criar:</p><p>Criar uma nova picture (tela ou janela).</p><p>Criar um novo Schedule (controle de ações e eventos, associados a um timer ou a um</p><p>trigger qualquer).</p><p>Criar um novo Dynamo Set.</p><p>Visualizar em tela inteira (full screen) para o desenvolvimento.</p><p>Visualizar o desenvolvimento em runtime.</p><p>Abrir o editor Visual Basic, para criação de scripts.</p><p>Trabalhar com Task Wizard (tarefas experts utilizadas para criação de animações</p><p>pré-prontas).</p><p>5.1.2.2 Toolbox</p><p>Para visualizarmos a barra de ferramenta Toolbox do Workspace, basta acessar dentro do</p><p>ambiente Workspace o menu Workspace\Toolbars, com picture em destaque, selecionar</p><p>opção Toolbox, conforme mostrado na Figura 19.</p><p>24</p><p>ev.: 01)</p><p>Figura 19</p><p>0682-227 (R</p><p>6. LABORATÓRIO 1</p><p>Segue um roteiro de atividades a serem desenvolvidas após termos trabalhado os itens</p><p>anteriores.</p><p>1. Instale o iFIX, mantendo a instalação default. Esta será em c:\Dynamics.</p><p>2. Execute o programa c:\Dynamics\KEYDIAG.exe e observe as características</p><p>liberadas para o tipo de chave que você está utilizando.</p><p>3. Crie os paths para uma nova aplicação, no ambiente SCU.</p><p>4. Configure o ambiente SCU, para criar um configuração Local.</p><p>5. Estruture as barras de ferramenta do ambiente Workspace que você precisará para</p><p>trabalhar.</p><p>6. Crie um ícone para chamada da aplicação.</p><p>0682-227 (Rev.: 01) 25</p><p>7. ANIMAÇÃO DE OBJETOS</p><p>Objeto do Toolbox Função</p><p>Time</p><p>Insere Hora:Minuto:Segundo</p><p>Date</p><p>Insere a data atual</p><p>Objetos Básicos</p><p>linha,elipse, etc.</p><p>Para estes objetos é possível a utilização de vários tipos de animação,</p><p>tais como preenchimento, mudança de acordo com o estado.</p><p>Text</p><p>Insere texto</p><p>Push Button</p><p>Insere um botão</p><p>OLE Object</p><p>Insere um objeto OLE, ou seja, este tipo de animação permite</p><p>ampliar as possibilidades de animações. Basta que o objeto OLE</p><p>esteja registrado na máquina para que possa ser inserido.</p><p>Datalink</p><p>Insere um objeto de animação que permite leitura e ou escrita de</p><p>dados.</p><p>Alarm Summary</p><p>Insere um sumário de alarme.</p><p>Variable</p><p>Insere uma variável para ser utilizada em animação, podendo ser esta</p><p>do tipo local ou global.</p><p>Timer</p><p>Insere um objeto que permite animação utilizando script, cujo trigger</p><p>é um horário de start.</p><p>Event</p><p>Objeto que permite a edição de script para controle de um evento,</p><p>associado a uma variável fonte.</p><p>De acordo com a mudança de estado da variável fonte, o script é</p><p>executado.</p><p>Chart</p><p>Insere um objeto gráfico, permite configurar a cor de fundo, inserir</p><p>penas, escalas associadas às penas, etc.</p><p>Bitmap</p><p>Insere um objeto gráfico. Admite as extensões de arquivos gráficos</p><p>mais utilizadas, tais como: bmp, jpg, pcx, msp.</p><p>Color</p><p>Abre a paleta de cores para definição da cor associado ao objeto.</p><p>Font</p><p>Permite configuração de fonte.</p><p>Tabela 4</p><p>0682-227 (Rev.: 01) 26</p><p>7.1 Animação Utilizando Objetos Básicos</p><p>Os objetos básicos de animação estão mostrados no item 7.</p><p>Para todos os objetos básicos é utilizada uma estrutura de animação padrão, variando as</p><p>paletas de possibilidades de acordo com os tipos de animação permitidas para cada tipo</p><p>de objeto, conforme mostrado:</p><p>Command Button.</p><p>Figura 20</p><p>Datalink</p><p>Figura 21</p><p>É importante observar que para cada tipo de objeto, as paletas de animação variam</p><p>possibilitando animar diversos tipos de efeitos de acordo com a estrutura do objeto.</p><p>Mostramos como exemplo, a estrutura de animação do Command Button e do</p><p>Datalink, porém vale reforçar que todos os outros objetos possíveis para animação</p><p>possuem paletas específicas.</p><p>7.1.1 Exemplos de Animação Utilizando Objetos Básicos</p><p>1. Push Button</p><p>a) Após ter inserido o objeto na tela que se deseja animar, clique com o botão direito</p><p>do mouse no objeto e após selecionar a opção Animation é possível configurar as</p><p>propriedades associadas a ele.</p><p>0682-227 (Rev.: 01) 27</p><p>• Na paleta Behavior podemos configurar o comportamento do objeto,alterando as</p><p>suas propriedades. Neste item iremos habilitar e desabilitar um botão segundo o</p><p>comportamento de uma variável de controle. Esta funcionalidade é bastante</p><p>utilizada no caso da necessidade da inibição de comandos por outras partes do</p><p>sistema.</p><p>Vamos utilizar a variável Fix32.FIX.A38BV104_LIGA.A_CV como variável</p><p>de</p><p>controle para permitir habilitar ou desabilitar o comando do botão. A propriedade</p><p>Enable do objeto retorna a string TRUE ou FALSE. Veja como fica a animação:</p><p>Figura 22</p><p>b) Uma outra forma de se obter o mesmo resultado é alterar as propriedades do</p><p>botão via VBA (Visual Basic Application). Ou seja, vamos criar um script para o botão</p><p>sem ter que fazer a animação via o processo animation mostrado no item anterior.</p><p>Para criar um script para o objeto button, basta clicar com o botão direito do mouse no</p><p>objeto e selecionar a opção Edit Script. O código que reproduz o mesmo efeito do</p><p>animation é mostrado conforme Figura 23:</p><p>0682-227 (Rev.: 01) 28</p><p>Figura 23</p><p>É importante observar o ambiente de programação VBA para atentarmos a alguns itens</p><p>importantes:</p><p>O código está aplicado localmente à tela que contém o objeto em questão, no caso o</p><p>conteúdo está dentro do Project_Tela_Treinamento.</p><p>As propriedades do objeto são mostradas na janela</p><p>Properties – CommandButon1 (nome atribuído ao objeto). Devemos lembrar que</p><p>podemos alterar estas propriedades em tempo de execução da aplicação (Runtime),</p><p>bastando preparar o código para isto.</p><p>O código será executado no evento Click do botão, como podemos ver abaixo:</p><p>Private Sub CommandButton1_Click()</p><p>If Fix32.Fix.A38BV104_LIGA.A_CV = 0 Then</p><p>CommandButton1.Enabled = False</p><p>Else</p><p>CommandButton1.Enabled = True</p><p>End If</p><p>End Sub</p><p>0682-227 (Rev.: 01) 29</p><p>2. DataLink</p><p>a) Após ter inserido o objeto na tela que se deseja animar, clique com o botão direito</p><p>do mouse no objeto e após selecionar a opção Animation é possível configurar as</p><p>propriedades associadas a ele. O objeto datalink é utilizado para leitura/escrita de</p><p>variáveis.</p><p>•</p><p>Vamos ressaltar neste exemplo as paletas mais relevantes: Visibility, Text, Color,</p><p>Behavior.</p><p>Visibility:</p><p>Permite visualizar ou não o objeto em tempo de execução, baseado no</p><p>comportamento de uma variável de controle (Configurada no Data Source).</p><p>Veja como ficaria a animação:</p><p>/</p><p>Figura 24</p><p>• Text:</p><p>permite alterar as propriedades do texto em tempo de execução. O texto é a</p><p>imagem do conteúdo da variável configurada no Data Source.</p><p>Veja como ficaria a animação:</p><p>0682-227 (Rev.: 01) 30</p><p>Figura 25</p><p>• Color:</p><p>Permite trocar a cor do texto em tempo de execução. Esta funcionalidade pode</p><p>ser aplicada à mudança de faixas de alarme de variáveis analógicas.</p><p>Veja como ficaria a animação:</p><p>Figura 26</p><p>0682-227 (Rev.: 01) 31</p><p>b) Uma outra forma de se obter o mesmo resultado é alterar as propriedades do</p><p>datalink via VBA (Visual Basic Application), ou seja, vamos criar um script para o</p><p>datalink sem fazer a animação via o processo Animation mostrado no item anterior.</p><p>Para criar um script para o objeto datalink, basta clicar com o botão direito do mouse no</p><p>objeto e selecionar a opção Edit Script. O código que reproduz o mesmo efeito do</p><p>Animation é mostrado conforme Figura 27:</p><p>Figura 27</p><p>7.1.1.1 Conclusões Sobre a Utilização da Ferramenta Animation e da</p><p>Utilização de VBA</p><p>Nos itens anteriores abordamos a utilização da ferramenta Animation e do VBA.</p><p>Conforme observamos, em muitos casos, podemos chegar a um mesmo resultado</p><p>utilizando a ferramenta Animation ou VBA Script, porém existem vantagens e</p><p>desvantagens de se utilizar cada uma delas em cada aplicação.</p><p>De forma geral, podemos observar que a o Animation traz as seguintes vantagens:</p><p>Atualização da animação toda vez que ocorre mudança na variável, já embutida na</p><p>estrutura da animação do objeto, independente de evento.</p><p>0682-227 (Rev.: 01) 32</p><p>Facilidade de configuração, pois as caixas de diálogo para animação são bastante</p><p>amigáveis.</p><p>Com outro enfoque podemos avaliar as vantagens da utilização de código VBA:</p><p>Toda a estrutura de animação do objeto concentrada em um único lugar.</p><p>Melhor visualização dos eventos que controlam o objeto.</p><p>Em linhas gerais podemos concluir que a utilização da ferramenta Animation deve ser</p><p>aplicada em casos em que se desejar obter efeitos nos objetos, toda vez que mudar o</p><p>valor da variável monitorada, pois o evento de atualização da animação do objeto com a</p><p>alteração da variável já está embutido na ferramenta.</p><p>A utilização do VBA Script deve ser recomendada no caso de aplicações que requeiram</p><p>resposta da animação a eventos específicos, tais como Mouse_Click, Mouse_up,</p><p>Mouse_down, Evento_DataChange, Key_Press.</p><p>Mais tarde, abordaremos com mais detalhes a utilização do VBA.</p><p>7.1.2 Animações Experts</p><p>Figura 28</p><p>Os experts de animação são ferramentas que possibilitam gerar o script de animação para</p><p>o objeto automaticamente, a partir de uma caixa de preenchimento amigável.</p><p>0682-227 (Rev.: 01) 33</p><p>Objeto do Toolbox Função</p><p>Foreground Color Expert</p><p>Fill Expert</p><p>Rotate Expert</p><p>Position Expert</p><p>Scale Expert</p><p>Visibility Expert</p><p>Generate Picture Expert</p><p>Open Picture Expert</p><p>Close Picture Expert</p><p>Replace Picture Expert</p><p>Refresh Rate Expert</p><p>Data Entry Expert</p><p>Tabela 5</p><p>7.1.2.1 Alguns Exemplos de Utilização da Ferramenta Expert</p><p>Open Picture Expert:</p><p>Este objeto de animação permite gerar o script, automaticamente, da abertura de uma</p><p>tela ou janela a partir de uma caixa de diálogo amigável. Para podermos aplicar a</p><p>ferramenta é necessário que tenhamos um objeto em tela, ao qual será aplicado este</p><p>script. Por exemplo, um botão. Veja:</p><p>Figura 29</p><p>0682-227 (Rev.: 01) 34</p><p>Após ter preenchido a caixa de diálogo mostrada na Figura 29, a ferramenta gera</p><p>automaticamente o script que podemos visualizar abaixo:</p><p>Figura 30</p><p>Como podemos visualizar, a sintaxe padrão para abertura de uma janela é:</p><p>OpenPicture [Picture as string], [Picture Alias as String], [Top Position], [Left</p><p>Position], [intErrorMode as Integer = 0].</p><p>Close Picture Expert:</p><p>Este objeto de animação permite gerar o script, automaticamente, na abertura de uma</p><p>tela ou janela, a partir de uma caixa de diálogo amigável. Para podermos aplicar a</p><p>ferramenta é necessário que tenhamos um objeto em tela, ao qual será aplicado este</p><p>script. Por exemplo um botão. Veja:</p><p>Figura 31</p><p>0682-227 (Rev.: 01) 35</p><p>Após ter preenchido a caixa de diálogo mostrada na Figura 31, a ferramenta gera</p><p>automaticamente o script mostrado abaixo:</p><p>Private Sub CommandButton3_Click()</p><p>'The Comments below have been added automatically.</p><p>'Any changes could cause adverse effects to the functionality</p><p>'of the Script Authoring Experts.</p><p>'WizardName=ClosePicture</p><p>'Property1=Analogica.grf</p><p>'Property2=False</p><p>'Property3=</p><p>'Property4=False</p><p>ClosePicture "Analogica.grf"</p><p>End Sub</p><p>Conforme podemos observar, a sintaxe a ser utilizada no fechamento de uma tela ou</p><p>janela é:</p><p>ClosePicture [Picture as String], [intErrorMode as Integer = 0].</p><p>Podemos observar também que a ferramenta experts traz algumas linhas comentadas no</p><p>código gerado. Caso o usuário queira deixar o código mais compacto, basta retirar estas</p><p>linhas e compilar novamente o programa.</p><p>0682-227 (Rev.: 01) 36</p><p>8. CONFIGURANDO O AMBIENTE WORKSPACE</p><p>Após ter feito uma abordagem da utilização das barras de ferramentas de animação para</p><p>o ambiente Workpace, vamos tratar agora o comportamento geral das configurações do</p><p>ambiente no contexto da aplicação.</p><p>O padrão de configurações do modo de execução e do modo configuração que será</p><p>carregado para a aplicação pode ser setado em Workspace\menu workspace\User</p><p>Preferences, conforme podemos ver abaixo:</p><p>Figura 32</p><p>Enviroment Protection:</p><p>Configura a proteção do ambiente, ou seja, permite configurar características a</p><p>serem adotadas em runtime desabilitando algumas características de acesso a tarefas</p><p>gerais tal como Ctrl ALT Del e outras:</p><p>Figura 33</p><p>0682-227 (Rev.: 01) 37</p><p>Background StartUp:</p><p>Permite adicionar tarefas que irão rodar em Background na partida do sistema.</p><p>Permite adicionar tarefas do tipo evs, ou seja controle de eventos feitos na tarefa</p><p>Schedule.</p><p>Figura 34</p><p>Startup Pictures:</p><p>Permite adicionar as telas que serão abertas na partida do sistema.</p><p>Figura 35</p><p>0682-227 (Rev.: 01) 38</p><p>9. LABORATÓRIO 2</p><p>Objetivo</p><p>Criar uma tela simples que utilize recursos do iFIX como Experts, animações, datalinks e</p><p>outros.</p><p>Crie uma tela de supervisão para uma analógica utilizando o driver de simulação. Essa</p><p>tela deverá possuir um datalink mostrando o valor atual da analógica e que permita ao</p><p>usuário alterar seu valor e um gráfico de tendência mostrando sua evolução com o</p><p>tempo. Além disso deverá ser criado um botão que só será visível quando o valor do</p><p>sinal analógico for maior que 80.</p><p>Sugestão de resposta:</p><p>−</p><p>−</p><p>−</p><p>Criar um bloco analógico no driver de simulação.</p><p>Abra o Database Manager, selecione a opção Open Local Node.</p><p>No menu Blocks selecione a opção Add.</p><p>Na caixa de diálogo Select a Block Type, escolha AI – Analog Input</p><p>(Entrada Analógica). A seguinte caixa de diálogo aparece:</p><p>Figura 36</p><p>Preencha o campo Tag Name como TESTE_ANA e o campo Description</p><p>como Analógica. Certifique-se de que esteja selecionado o driver de simulação</p><p>(SIM Simulation Driver). Na paleta Advanced, marque a opção Enable</p><p>Output para que o bloco possa ser escrito. Colocar TESTE_ANA on scan.</p><p>Clique em Save.</p><p>−</p><p>−</p><p>−</p><p>Saia do Database Manager respondendo Yes quando for perguntado se é</p><p>desejado salvar a base de dados.</p><p>Criar uma tela de operação para o sinal analógico.</p><p>Abra o WorkSpace, crie um novo picture e salve como lab 1.grf.</p><p>0682-227 (Rev.: 01) 39</p><p>Crie um título para a tela. Clique no botão Text da barra de ferramentas,</p><p>clique na parte Superior da tela e digite OPERAÇÃO DE UMA</p><p>ANALÓGICA.</p><p>−</p><p>− Crie um campo para exibição e alteração do valor da analógica. Clique no</p><p>botão DataLink na barra de ferramentas e clique e arraste a seta do mouse</p><p>em qualquer lugar da tela para criar um Datalink. A seguinte caixa de diálogo é</p><p>exibida:</p><p>Figura 37</p><p>− Clique nos três pontos à direita do campo de entrada de dados Source. Na</p><p>janela que se abre, na paleta Fix Database selecione o Node Name FIX, o</p><p>Tag Name TESTE_ANA e o Field Name F_CV. Clique em OK. O</p><p>Campo Source da caixa de diálogo DataLink deve agora estar preenchido</p><p>com Fix32.FIX.TESTE_ANA.F_CV. No campo Data Entry selecione</p><p>In-Place para ativar a entrada de dados pelo DataLink. Clique em OK. Para</p><p>finalizar a configuração da animação do DataLink.</p><p>−</p><p>Criar um gráfico de tendência.</p><p>Clique no botão Chart da barra de ferramentas e clique e arraste na tela para</p><p>criar o gráfico. Duplo-clique nele para exibir sua caixa de diálogo de</p><p>configuração. Selecione a paleta Chart.</p><p>0682-227 (Rev.: 01) 40</p><p>Figura 38</p><p>− Para a primeira pen da lista Pen List escreva a source</p><p>Fix32.FIX.TESTE_ANA.A_CV (é possível também clicar nos três pontos</p><p>ao lado para selecionar a Source no Expression Builder). Clique em OK</p><p>para finalizar a configuração do gráfico. Sua tela agora deve estar assim:</p><p>Figura 39</p><p>0682-227 (Rev.: 01) 41</p><p>−</p><p>Criar um botão que só visível somente quando o valor da analógica ultrapasse 80.</p><p>Clique no botão Push Button na barra de ferramentas. Um botão é criado na</p><p>tela. Ajuste seu tamanho e posição com ele selecionado Clique no botão</p><p>Visibility Expert na barra de ferramentas. A seguinte caixa de diálogo é</p><p>exibida:</p><p>Figura 40</p><p>− Preencha a DataSource como Fix32.FIX.TESTE_ANA.F_CV, no campo</p><p>Condition selecione “ Swith to Run) e</p><p>escreva diferentes valores na analógica utilizando o DataLink. Veja como o gráfico</p><p>mostra os valores da variável no tempo e como o botão só fica visível quando o valor</p><p>excede 80. Bom trabalho!</p><p>0682-227 (Rev.: 01) 42</p><p>10. DRIVERS DE COMUNICAÇÃO</p><p>Drivers de comunicação são estruturas de software (programas) que permitem a</p><p>comunicação do iFIX com o hardware do processo, por exemplo PLC.</p><p>Conforme ilustrado na Figura 6, para que o servidor SCADA comunique com o hardware</p><p>do processo é necessário configurar pelo menos um driver de comunicação definido no</p><p>SCU\SCADA Configuration.Veja:</p><p>Figura 41</p><p>Para selecionar o Driver que se tornará ativo para o sistema clique na opção I/O Driver</p><p>Name e então teremos disponíveis a lista de drivers previamente instalados na máquina.</p><p>Feita a configuração do Driver; este estará disponível para ser selecionado no Database</p><p>para as variáveis a ele associadas.</p><p>O iFIX pode carregar até 8 drivers enquanto inicia.</p><p>10.1 Configurando um Driver de Comunicação</p><p>Não abordaremos neste item todas as considerações possíveis dos drivers de</p><p>comunicação, porém para efeitos didáticos trabalharemos como exemplo com a</p><p>configuração de um driver para o PLC GeFanuc, denominado Ge9.</p><p>Após instalado o driver através de seu setup, teremos disponível um aplicativo específico</p><p>de configuração, conforme ilustrado na Figura 42.</p><p>0682-227 (Rev.: 01) 43</p><p>Figura 42</p><p>Definições básicas:</p><p>Channel:</p><p>Caminho de comunicação entre o servidor SCADA e o hardware do processo (no</p><p>caso é a definição do canal entre o servidor SCADA e o PLC Ge em questão).</p><p>Figura 43</p><p>0682-227 (Rev.: 01) 44</p><p>Device:</p><p>Define um dispositivo individual de hardware permitindo configurar as características</p><p>específicas do dispositivo de hardware tais como endereço IP, time-out (tempo</p><p>aguardando resposta).</p><p>Figura 44</p><p>DataBlock:</p><p>Configuração dos blocos de dados que irão ser mapeados para comunicar através</p><p>daquele dispositivo e daquele canal.</p><p>Define-se bloco de dados como sendo um conjunto de variáveis a ser lida do hardware</p><p>do processo, definido um endereço inicial e um endereço final. A cada iniciativa de</p><p>comunicação é mapeada em memória no supervisório a imagem do conjunto de</p><p>variáveis.</p><p>A leitura por blocos otimiza bastante a comunicação, pois a cada iniciativa de</p><p>comunicação um grupo de variáveis é trazido para memória de uma só vez.</p><p>0682-227 (Rev.: 01) 45</p><p>Figura 45</p><p>•</p><p>−</p><p>−</p><p>De forma geral, não especificamente para este driver, temos duas formas do driver</p><p>acessar o hardware e atualizar a sua tabela de memória:</p><p>Por Pooling:</p><p>A atualização se dá de tempos em tempos, através de uma taxa fixa de</p><p>atualização, definida na configuração do driver. No nosso exemplo esta taxa é</p><p>Primary Rate.</p><p>Por Exception:</p><p>A atualização se dá pela mudança da variável no processo e não associada a</p><p>uma taxa fixa de acesso aos dados pelo driver. Esta forma de acesso depende</p><p>da estrutura do driver/hardware envolvidos. Nem todos os drivers possuem esta</p><p>opção. Os drivers que possuem esta opção também são conhecidos como</p><p>estruturas baseadas em evento (mudança da variável), diminuindo assim o</p><p>tempo ocioso e conseqüentemente aumentando a performance da</p><p>comunicação. A partir da versão 7.x os drivers são baseados em eventos.</p><p>De forma geral podemos enquadrar os drivers dentro da seguinte estrutura de</p><p>entendimento:</p><p>0682-227 (Rev.: 01) 46</p><p>Figura 46</p><p>0682-227 (Rev.: 01) 47</p><p>11. BLOCOS DE DADOS</p><p>A base de dados é constituída de tags ou estruturas denominadas blocos de dados.</p><p>Basicamente os blocos podem ser classificados como sendo de entrada (Input) ou de</p><p>saída (Output).Os blocos de entrada de dados são utilizados para ler variáveis e retornos</p><p>do hardware do processo. Os blocos de saída, por sua vez são utilizados para enviar</p><p>informações para o hardware do processo, tais como comandos.</p><p>11.1 Bloco de Entrada Digital – DI</p><p>Utilizado para ler variáveis discretas do hardware do processo.Leitura de retornos de</p><p>campo, tais como defeitos.</p><p>Exemplo:</p><p>A38BV104_SOB – defeito de sobrecarga do equipamento de tag A38BV104.</p><p>Basic:</p><p>Veja detalhes da configuração:</p><p>Figura 47</p><p>Conforme</p>