Aba Operations |
Topo Anterior Próximo |
Este tópico descreve a configuração da aba Operations da janela de configuração do Driver, onde são definidas as operações utilizadas nos Tags de Comunicação, mostrada na figura a seguir. A configuração de operações não é mais usada na configuração de Tags por Strings, sendo usada apenas na antiga configuração numérica (parâmetros N/B) do Elipse SCADA. Aba Operations na janela de configurações do Driver OperaçõesPara o correto funcionamento deste Driver, é necessário definir quais as funções Modbus de leitura ou escrita são utilizadas para cada Tag de Comunicação. Para isto, caso a configuração dos Tags seja realizada através dos antigos parâmetros numéricos N/B do Elipse SCADA, deve-se selecionar a aba Operations na janela de configurações. Para este Driver, são chamadas Operações as configurações que definem como cada Tag de Comunicação executa a leitura e a escrita de dados no equipamento. Uma operação nada mais é do que a definição de um par de funções do protocolo, uma para escrita e outra para a leitura, e a especificação de conversões adicionais no formato dos dados que podem ser associados aos Tags da aplicação. Em outras palavras, no Driver Modbus os parâmetros numéricos N ou B dos Tags de Comunicação não referenciam diretamente as funções do protocolo, mas sim operações pré-configuradas, que por sua vez não só informam as funções (nativas do protocolo ou mesmo especiais) a serem usadas na comunicação, como também a forma como os dados nativos do protocolo devem ser interpretados. A configuração dos parâmetros dos Tags de Comunicação é descrita mais adiante no tópico Configurando um Tag de Comunicação. A seguir é descrita a configuração das operações, que mais tarde devem ser associadas a cada Tag de Comunicação.
FunçõesO protocolo Modbus define funções de leitura e escrita, as quais podem acessar espaços de endereçamento distintos no equipamento, e com tipos de dados específicos. As funções 03 e 16 por exemplo, as mais usadas do protocolo, são responsáveis respectivamente pela leitura e escrita de Holding Registers, que nada mais são do que valores inteiros sem sinal de 16 bits (Words). As funções do protocolo Modbus padrão fornecem dados apenas em formatos básicos de Bit e Word de 16 bits. Não existem formatos de dados adicionais na especificação do protocolo. A lista das funções Modbus suportadas pelo Driver, e que podem ser atribuídas às operações configuradas, pode ser conferida no tópico Funções Suportadas. Além das funções do protocolo, o Driver também contém algumas Funções Especiais que não fazem parte do protocolo padrão, de formato proprietário e utilizadas em geral para a leitura de eventos (SOE).
Formatação de DadosAlém de permitir a associação das funções (do protocolo ou especiais) a Tags específicos, as operações também permitem a definição de formatação adicional a ser aplicada aos dados, possibilitando o suporte a tipos de dados adicionais, não especificados pelo protocolo, como por exemplo valores de ponto flutuante de 32 bits (Float) e 64 bits (Double). Os tipos de dados suportados são descritos no tópico Tipos de Dados Suportados. É importante observar que, quando tipos de dados de 32 e 64 bits são definidos nas operações, é necessário definir funções do protocolo que trabalhem com registros de 16 bits. Desta forma, a leitura de dados com mais de 16 bits resulta na leitura de vários registros Modbus de 16 bits do equipamento, ou seja, para a leitura de um Tag associado a uma operação que defina o tipo de dado Float de 32 bits, o Driver precisa ler dois registros consecutivos de 16 bits do equipamento, concatená-los e realizar a conversão para o formato Float. Também é possível definir tipos de dados de oito bits (Byte, Int8 ou Char) nas operações. Note que, uma vez que as funções do protocolo não permitem a leitura e escrita de bytes isolados, para cada dois Elementos de Bloco de tipos de dados de oito bits, o Driver é obrigado a acessar um registro distinto de 16 bits no equipamento. Por este motivo, o Driver não permite a escrita de tipos de dados de oito bits em Tags, em Elementos isolados de Bloco ou em Blocos de tamanho ímpar ou unitário. A escrita de tipos de dados de oito bits deve ser realizada sempre em Blocos de tamanho par.
Tipos de Dados Definidos pelo UsuárioAlém dos tipos de dados pré-definidos (tipos de dados nativos ou built-in) descritos no tópico Tipos de Dados Suportados, este Driver permite também tipos de dados definidos pelo usuário. Estes tipos de dados devem ser declarados em janela específica, clicando-se em User Defined Types na parte inferior da aba Operations. Tais tipos de dados consistem em estruturas criadas a partir dos tipos de dados pré-definidos. Para mais informações sobre os tipos de dados definidos pelo usuário, consulte o tópico Tipos de Dados Definidos pelo Usuário.
Byte OrderAlém das funções de leitura e escrita do protocolo e do tipo de dado utilizado, cada operação permite também atribuir manipulações adicionais aos bytes, relacionadas ao chamado byte order, ou seja, a ordem dos bytes dentro de cada valor. São as chamadas opções de swap (Swap Bytes, Swap Words e Swap DWords). Tais opções somente necessitam ser habilitadas no caso de equipamentos que não respeitem a ordem de bytes padrão do protocolo. O protocolo Modbus define que seus valores de 16 bits utilizam sempre o byte order chamado de big endian, também conhecido como Motorola, por ser utilizado por este fabricante. O padrão big endian define sempre a ordem dos bytes de tal forma que o byte mais significativo de cada valor venha sempre antes. Desta forma, por exemplo, na leitura do valor hexadecimal 1234h, o equipamento envia primeiro o byte mais significativo 12h e logo a seguir o menos significativo, 34h. No caso de equipamentos que não implementem o byte order padrão do protocolo e que utilizem o chamado little endian ou Intel, os dados são enviados com os bytes menos significativos antes. É preciso então habilitar as opções de swap para inverter a ordem dos bytes. Há ainda equipamentos que usam byte orders diferentes para tipos de dados de 32 e 16 bits. No caso, por exemplo, de equipamentos que usem o byte order padrão do Modbus (big endian) para tipos de dados de 16 bits, porém forneçam dados de 32 bits com o Word menos significativo vindo primeiro (little endian), é necessário habilitar apenas a opção Swap Words, deixando desmarcada a opção Swap Bytes. Em suma, pode-se ter basicamente três situações: ·Caso o equipamento forneça dados usando o byte order padrão do protocolo Modbus (Motorola ou big endian), com os bytes mais significativos vindo antes, deve-se deixar as opções de swap todas desabilitadas. Esta é a situação mais comum ·Caso o equipamento use outro padrão de byte order, com os bytes menos significativos vindo antes (little endian), é necessário habilitar-se todas as opções de swap referentes ao tipo de dados usado, ou seja, para tipos de dados de 16 bits, habilite a opção Swap Bytes. Para tipos de dados de 32 bits, habilite as opções Swap Bytes e Swap Words. Para tipos de dados de 64 bits, as três opções de swap devem ser habilitadas ·No caso menos comum de equipamentos que usem byte orders diferentes para tamanhos de dados diferentes, fornecendo por exemplo o byte mais significativo de cada Word primeiro, porém o Word menos significativo de cada DWord primeiro, é preciso avaliar em qual caso cada opção de swap precisa ser habilitada, de forma a converter o valor retornado pelo equipamento para o formato big endian padrão do protocolo
Para saber se o equipamento utiliza algum formato diferenciado de byte order, consulte a documentação do fabricante. Caso a informação não seja encontrada na documentação, o suporte técnico do fabricante deve ser contactado. O tópico Dúvidas Mais Frequentes contém dicas de configurações de byte order para alguns equipamentos para os quais já se sabe ser necessário utilizar as opções de swap.
Máscara de BitsA opção Use Bit Mask é um recurso avançado, utilizada em casos mais específicos e raros em que o usuário deseja ler somente um bit do valor retornado pelo equipamento, mas não é possível usar o mapeamento de bits da aplicação. Para a maioria dos usuários, os campos de mapeamento de bits da aplicação são a melhor alternativa para o acesso à máscaras de bits, não sendo preciso recorrer a este recurso do Driver. Este recurso foi criado originalmente para permitir a leitura de bits de Holding Registers por bibliotecas especializadas do E3, em situações que impediam o uso do mapeamento de bits da aplicação. Neste caso, o Driver lê normalmente o valor do equipamento e então o mascara, de forma a retornar ao campo Valor do Tag apenas o bit especificado (0 ou 1). A definição do número do bit a ser retornado é feita no parâmetro N3/B3 do Tag de Comunicação. A opção Use Bit Mask somente pode ser utilizada com tipos de dados inteiros de 16 bits ou mais (Int16, Int32, Word ou DWord). Além disto, operações que habilitam esta opção podem ser utilizadas apenas para a leitura. A função Modbus de escrita (Write) de operações que utilizam esta opção de máscara podem ser definidas como None (nenhuma).
Operações Padrão do DriverPor padrão, quando um novo Driver é adicionado à aplicação, este Driver já é criado com sete operações padrão, descritas na tabela a seguir. Operações padrão
Estas operações são as mais comumente usadas, sendo a operação 1 (um) a mais comum. Para a maior parte dos equipamentos, selecione as operações necessárias entre as já fornecidas por padrão, não sendo necessário criar novas operações ou alterar a configuração das operações padrão.
Definição de Novas OperaçõesPara adicionar uma nova operação no Driver, clique em Add. Adicionando uma nova operação Para configurar a nova operação, selecione um número para esta operação (este número é utilizado no parâmetro N2/B2 dos Tags de Comunicação), qual função deseja utilizar para leitura e qual função deseja utilizar para escrita, além de informar o tipo de dados que é lido ou escrito pelo Driver. Note que, ao clicar em Add, o Driver já sugere um valor que ainda não esteja em uso para a nova operação. Para mais informações sobre os tipos de dados suportados, veja o tópico Tipos de Dados Suportados. Os demais campos devem ser configurados conforme a necessidade. A tabela a seguir contém a descrição destes campos. Opções de campos para operações
As funções do protocolo que podem ser configuradas nos campos Read e Write das operações estão descritas no tópico Funções Suportadas. A tabela a seguir descreve cada uma das opções disponíveis. Opções disponíveis na aba Operations
|