Procedimento de Aquisição na Aplicação |
Topo Anterior Próximo |
Neste tópico é detalhada a configuração da aplicação do supervisório para a aquisição dos eventos acumulados no CLP ou dispositivo escravo programável. A leitura dos eventos no supervisório é realizada por meio de Tags que usam a função especial de leitura Gen SOE. O tipo de dados do Tag define a estrutura dos eventos armazenados na tabela do equipamento. Se for definido um tipo de dados nativo do Driver (built-in type), cada evento tem apenas um elemento deste tipo de dados, sem timestamp fornecido pelo CLP (o timestamp representa o momento da coleta dos eventos). Por outro lado, se forem usados tipos de dados definidos pelo usuário, é possível definir estruturas para os eventos, incluindo timestamps, como visto mais adiante neste tópico. A seguir é descrita a configuração dos Tags tanto na nova metodologia de configuração por Strings (campos Dispositivo e Item), como na antiga configuração numérica do Elipse SCADA (parâmetros N e B).
Configuração por Strings·Dispositivo: "<Slave Id>:" ·Item: "elsoe<N>.<end. inicial>[.<tipo>[<tam. do tipo>]][.<byte order>][/bit]"
Onde: ·N: Tamanho da tabela no dispositivo, em número máximo de eventos comportados ·end. inicial: Endereço do primeiro registro de controle, usando o valor definido na tabela exemplo do tópico Tabela de Eventos ·tipo: Tipo de dados nativo ou do usuário usado para cada evento (veja o tópico Configuração por Strings) ·tam. do tipo: Usado apenas para tipos de dados de tamanho variável (veja o tópico Configuração por Strings) ·byte order: Ordenamento de bytes. Deve ser omitido para equipamentos que seguem plenamente o padrão do protocolo (veja o item Byte Order no tópico Configuração por Strings para mais informações). Quando são usadas estruturas, afeta apenas seus elementos individuais (veja o tópico Tipos de Dados Definidos pelo Usuário) ·bit: Mascaramento de bits. Em geral pode ser omitido, dificilmente seria usado aqui (veja o campo Bit no tópico Configuração por Strings)
Exemplo: ·Dispositivo: "1:" ·Item: "elsoe150.&h101.TYPE3"
O tipo TYPE3 está definido da seguinte forma no arquivo padrão de exemplo do Driver (veja o tópico Tipos de Dados Definidos pelo Usuário): // This type has an UTC32-type timestamp
// and a few named elements
Trata-se, portanto, de um tipo de dados Estrutura com seis campos de dados e timestamp. Daí deduz-se que o Tag deve ser um Bloco com seis Elementos para representar a estrutura. Note que, conforme já explicado, o valor do timestamp, embora ocupe registros no CLP, não necessita de Elementos de Tag Bloco, pois seu valor é retornado no campo timestamp do Tag.
Configuração Numérica (Parâmetros N e B)Para configurar Tags de leitura de Elipse SOE usando a configuração numérica, é necessário configurar uma operação na aba Operations, usando a função especial GenSOE. A figura a seguir mostra um exemplo de adição de operação utilizando a função especial GenSOE com o tipo de dados Word. Função especial GenSOE Note que foi selecionada a função 16 (Write Multiple Registers) como função de escrita, que é a função mais comum. No entanto, recomenda-se o uso da função 06 (Write Single Register) sempre que ela for suportada pelo equipamento. A figura a seguir mostra a mesma operação com o tipo de dados definido pelo usuário TYPE3 (veja o tópico Tipos de Dados Definidos pelo Usuário), que é um tipo de dados definido no arquivo de configuração exemplo, disponível com o Driver e que é usado como exemplo neste tópico. Configuração com a função GenSOE e um tipo de dados definido pelo usuário O tipo de dados TYPE3 está definido da seguinte forma no arquivo de exemplo do Driver: // This type has an UTC32-type timestamp
Trata-se, portanto, de um tipo de dados Estrutura com seis campos de dados e timestamp, e com endereço padrão (parâmetro B4 do Tag) igual a "101H" (257 em decimal). Para sua leitura, portanto, é preciso definir um Tag Bloco de seis Elementos com a seguinte configuração: ·B1: Endereço do dispositivo escravo (CLP) na rede (Slave Id) ·B2: 8 (operação definida anteriormente com a função especial GenSOE) ·B3: N (tamanho da tabela no dispositivo, em número máximo de eventos comportados) ·B4: 100 (endereço do primeiro registro de controle, usando o valor definido na tabela exemplo do tópico Tabela de Eventos) ·Size: 6
Note que, caso o Tag Browser do E3 seja usado para inserir o Tag na aplicação, como explicado no tópico Tipos de Dados Definidos pelo Usuário, Elementos do Tag já são nomeados conforme o nome dado aos elementos da estrutura em sua declaração. O Tag Browser pode ser aberto clicando-se em na aba Design do Driver.
UtilizaçãoUma vez tendo definido o Tag (ou Tags) apropriado, habilite sua varredura e deixe ao Driver a tarefa de coletar os eventos da respectiva tabela, sempre que novos eventos forem detectados. Tags associados à função GenSOE (elsoe na configuração por Strings) são sempre reportados a eventos. Isto significa, conforme já explicado no tópico Tipos de Dados Definidos pelo Usuário, que é possível ao Driver retornar vários eventos em uma única operação de leitura, ou seja, em um único intervalo da varredura do Tag. Isto significa que o Driver retorna o conjunto de eventos (no caso do exemplo anterior, conjuntos de blocos com seis campos de dados e timestamp) de uma só vez, o que produz uma sequência de eventos OnRead no Tag, um para cada evento (bloco com seis campos de dados e timestamp) retornado pelo Driver. Para instruções detalhadas sobre a maneira correta de tratar Tags reportados a eventos, consulte o tópico Tags Reportados por Evento no Manual do Usuário do E3. O Manual do Usuário do Elipse SCADA também possui um tópico análogo. Em suma, a forma usual de tratar Tags reportados a eventos é inserir em seu evento OnRead o método WriteRecord do objeto Histórico previamente associado, garantindo assim a gravação de todos os eventos que cheguem ao Histórico. Neste caso, o Histórico deve ser configurado sem banda morta (propriedade DeadBand igual a zero) e desabilitando o histórico por scan (no E3, propriedade ScanTime igual a zero). A propriedade EnableDeadBand do Tag também deve ser configurada para Falso.
Otimização e CompatibilidadeAlguns equipamentos, como os CLPs da marca ATOS, não suportam a leitura em blocos de tipos de dados de estruturas diferentes. Na prática, isto impede que o Driver leia em um bloco único dados de registradores de controle e de eventos. Para coletar eventos de CLP com estas restrições, é preciso desabilitar a opção Enable Control and Data Registers Grouping na aba Gen SOE. |