|                PROTOCOLO AS-I: AGREGANDO INTELIGÊNCIA A SENSORES E ATUADORES 
               Dr. Marcelo Barros de Almeida, Smar Equipamentos Industriais Ltda., barros@smar.com.br; Fernando Henrique Ataíde, Centro Universitário do Leste Minas Gerais – UNILESTEMG, fha@unilestemg.br; e Max Mauro Dias Santos, Centro Universitário do Leste Minas Gerais – UNILESTEMG, maxmauro@unilestemg.br. 
                
                 Resumo 
                     
                A finalidade deste artigo é apresentar uma introdução ao protocolo AS-Interface, apresentado os seus principais conceitos, características, vantagens e limitações relacionadas à sua aplicação em automação de processos industriais. 
                Introdução 
                     
    O protocolo AS-Interface, comumente referenciado somente como AS-i (proveniente de Interface Sensor Atuador) foi criado por conjunto de onze empresas ligadas a setores de automação, através de um consórcio fundado em 1990, denominado “ASI consortium”.
                  Uma das principais idéias do projeto AS-i era levar ao nível de sensores e atuadores os benefícios já alcançados nos níveis superiores da hierarquia de automação industrial. Desta forma, a rede AS-i foi concebida para complementar os demais sistemas e tornar mais simples e rápida as conexões dos sensores e atuadores com os seus respectivos controladores. 
                  Como ponto de partida para o desenvolvimento do AS-i, foi elaborada uma lista de requisitos para o desenvolvimento de uma interface serial digital, para sensores e atuadores, listados a seguir:   
                
                  - 	Interoperabilidade: sensores e atuadores de diferentes empresas poderão ser conectados a uma mesma interface serial digital.
 
                  - 	Facilidade de instalação e localização de falhas
                    ·	Baixo custo de conexão por nó e sem restrições de topologia de rede
 
                  - 	Cabeamento realizado através de dois fios, de fácil uso e baixo custo, capazes de entregar tanto energia quanto dados.
 
                  - 	Confiabilidade operacional alta em ambientes industriais severos.
                    ·	Baixo tempo de reação e comportamento determinístico.
 
                  - 	Volume pequeno dos dispositivos usados na conexão de circuitos.
 
                                 Em 1998, a rede AS-i foi padronizada pela norma EN 50295, sendo considerada uma solução simples em redes industriais e aplicada ao nível mais baixo de automação (Figura 2.1). A rede AS-i pertencente à categoria de Sensor Bus (Figura 2.2), isto é, tem como foco os dispositivos discretos, suas interligações e controle. AS-Interface fornece uma alternativa simples de rede para interligação de sensores e atuadores através de uma barramento de dois fios, fornecendo aos elementos periféricos como: transmissão de dados e diagnostico de todo o sistema. Dispositivos analógicos são também suportados, apesar de não ser o foco principal do protocolo AS-i. 
                  
                Figura 1.1: Níveis de redes para automação. 
                  
                Figura 1.2: Categorias das redes para automação. 
                Características 
                     
                  A rede AS-i é do tipo mestre-escravo, com polling cíclico. Em outras palavras, ela apresenta um dispositivo mestre, capaz de controlar toda a rede, realizando um polling cíclico em todos os outros dispositivos presentes na rede, denominados de escravos.
O mestre AS-i realiza várias tarefas, como inicialização da rede, identificação dos escravos, diagnóstico dos escravos e de dados transferidos. Além disso, geralmente se comunica a um controlador (PLC ou PC) para receber a configuração de controle da rede AS-i, reportar erros, endereçar escravos substituídos, entre outras tarefas. O tempo máximo de ciclo para uma rede AS-i é de 5ms, mesmo estando a rede repleta, com 31 dispositivos. Isto permite uma integração eficiente entre botoeiras e acionadores, além de lógicas de intertravamento.
Os escravos são dispositivos passivos, isto é, só podem ter acesso a rede quando o mestre faz uma requisição para ele e a transferência de dados de escravo para escravo só é possível via mestre. Aos escravos podem estar conectados até quatro sensores e quatro atuadores, que terão os seus valores lidos/escritos ciclicamente pelo mestre. Existem também escravos que trabalham com valores analógicos, mas estes precisam de quatro ciclos de rede para que uma leitura/escrita se complete.
As principais características do protocolo AS-Interface estão listadas abaixo, segundo a versão 2.0 do protocolo. Recentemente foi introduzida a versão 2.1, discutida ao final. 
                
                  
                    Transferência de dados  | 
                    Mestre escravo com polling cíclico.  | 
                   
                  
                    Endereçamento  | 
                    Os escravos recebem um endereço    enviado pelo mestre ou um terminal de configuração.  | 
                   
                  
                    Estrutura da rede  | 
                    Barramento, anel, estrela, ou    árvore.  | 
                   
                  
                    Meio físico  | 
                    Dois cabos não trançados e nem    blindados para dados e energia (24V DC), tipicamente até 200mA por escravo e    8A por rede.  | 
                   
                  
                    Comprimento de cabo  | 
                    Máximo 100m. Maiores distâncias    podem ser obtidas com repetidores. Não é necessário nenhum tipo de    terminador.  | 
                   
                  
                    Número de escravos  | 
                    31 escravos.   | 
                   
                  
                    Número de sensores e atuadores  | 
                    4 sensores e 4 atuadores por    escravos. Máximo de 248 participantes binários por rede.  | 
                   
                  
                    Tempo de ciclo  | 
                    5ms para uma rede completa, com 31    escravos. Cada escravo pode utilizar até 150μs do tempo da rede por ciclo. Os    dados transmitidos são limitado a 4 bits por escravos que podem ser trocados    a cada ciclo. Mensagens longas podem ser transmitidas dividindo-as em vários    ciclos.   | 
                   
                  
                    Modulação  | 
                    Emprega uma modulação por pulsos    alternados conhecida como APM (Alternating Pulse Modulation) e baseada    no código Manchester.  | 
                   
                  
                    Taxa de transferência  | 
                    A taxa de transferência no AS-i é    de 167kbit/s, resultando em 6μs como o tempo gasto de transmissão de um bit    (tempo de bit).  | 
                   
                  
                        | 
                        | 
                   
                 
                 
                Tabela 2.1: Principais características do  AS-Interface versão 2.0. 
                A rede AS-i utiliza um cabo especial não  blindado e perfilado (para evitar a inversão de polaridade), composto de dois  fios e transportando simultaneamente dados e alimentação para os elementos da  rede. Este cabo é comumente conhecido como “Yellow flat cable”. Para  aplicações que demandam potência maior, existem versões especiais indicadas por  cores, como o cabo preto (“Black flat cable”, fornecendo até 30V) e o  vermelho (“red flat cable”, fornecendo até 230V AC). Na Figura x é  apresentado um corte de perfil no cabo AS-i amarelo. 
                  
                Figura 2.1: Formatos de cabos AS-i e sua conexão  rápida. 
                A conexão do cabo AS-i é rápida, feita  geralmente através de conectores “vampiros” que perfuram o isolante do cabo e  estabelecem o contato com os fios internos. Na retirada das tomadas, em caso de  modificação da fiação, o cabo retorna ao seu aspecto original, pois o seu  isolante é “auto-regenerativo”. 
                  
                Figura 2.2: Conexões do cabo AS-i. 
                Protocolo de comunicação 
                    
                A troca de dados entre mestre e escravo no AS-i sempre consiste de um chamado do mestre, seguido por uma pausa e uma posterior resposta do escravo, também seguida de uma pausa. A pausa do mestre tem que ser mantida e checada pelo escravo depois de receber um chamado do mestre e apresenta duração de  3 a 10 bits (18 a 60 µs). A pausa entre a resposta do escravo e o próximo chamado do mestre é a duração de tempo em que a rede estará ociosa após o fim de uma resposta do escravo. A especificação do mestre determina que a duração máxima desta pausa seja de 2 bits (12 µs) em operação normal, assegurando que o tempo de ciclo será mantido. Levando-se em consideração a taxa de comunicação do AS-i (167kbit/s) e incluindo todas as pausas necessárias, chega-se a uma taxa liquida de 53.3kbit/s, gerando uma eficiência na transferência é de 32%. 
                
                  
                    Chamado    do mestre 
                      (14 bits)  | 
                        | 
                    Pausa    mestre  | 
                        | 
                    Resposta    do escravo 
                      (7 bits)  | 
                        | 
                    Pausa para próxima chamada  | 
                        | 
                    Chamado    do mestre 
                      (14 bits)  | 
                    ....  | 
                   
                 
                Figura 3.1: Tempo de transição no AS-i. 
                A duração desta pausa pode ser alongada até 500 μs  desde de que o tempo de ciclo não exceda os 5 ms. O aumento do tempo de ciclo  pode ser feito em sistemas com menos de 31 escravos, de forma que o mestre o  utilize no processamento interno das funções de controle. 
                Formato e tipo de mensagens
Os frames enviados por mestres e escravos apresentam tamanhos diferentes, sendo que o frame do mestre contém 14 bits e o do escravo 7 bits. A estrutura destes frames pode ser vista na Figura y. 
                  
                  
                Figura 3.2: Estrutura de um frame AS-i. 
                As descrições dos campos do frame de requisição  do mestre estão a seguir: 
                
                  
                    ST  | 
                    Bit de    início  | 
                    Identifica o início do frame de requisição do mestre.    Sempre valor lógico 0.  | 
                   
                  
                    SB  | 
                    Bit de controle  | 
                    Identifica se o comando. 
                      0 para dados, parâmetro e endereço. 
                      1 para comandos  | 
                   
                  
                    A0 a A4  | 
                    Endereço  | 
                    Endereço do escravo a ser chamado.  | 
                   
                  
                    I0 a I4  | 
                    Dados  | 
                    Dependendo o tipo da requisição do mestre, este campo pode    conter até 5bit de informação.  | 
                   
                  
                    PB  | 
                    Bit paridade  | 
                    A soma de todos os bits “1”, exceto os bits de início e    fim, deve ser par.  | 
                   
                  
                    EB  | 
                    Bit de fim  | 
                    Identifica o fim do frame. Sempre valor lógico 1.  | 
                   
                 
                  
                Para o escravo, vale o seguinte detalhamento: 
                
                  
                    ST  | 
                    Bit de    início  | 
                    Identifica o início do frame de requisição do mestre.    Sempre valor lógico 0.  | 
                   
                  
                    I0 a I4  | 
                    Dados  | 
                    Informação em 4bits, geralmente ligada a valores discretos    de entrada ou saída. Para valores analógicos o valor obtido pelo A/D do    escravo será separado em várias partes e transmitido através de vários    ciclos.  | 
                   
                  
                    PB  | 
                    Bit paridade  | 
                    A soma de todos os bits “1”, exceto os bits de início e    fim, deve ser par.  | 
                   
                  
                    EB  | 
                    Bit de fim  | 
                    Identifica o fim do frame. Sempre valor lógico 1.  | 
                   
                 
                Existem nove diferentes tipos de mensagens AS-i:  duas para dados e parâmetros, duas para ajustes ou mudança de endereços de  escravos e cinco para identificação de escravos ou para investigação de status.  Na Tabela 2.3 estão listados todos os tipos possíveis e combinação de códigos  de requisições do mestre. 
                
                  
                        | 
                    Tipo de Mensagem  | 
                    ST  | 
                    SB  | 
                    5 bit de    endereço  | 
                    5 bit de dados  | 
                    PB  | 
                    EB  | 
                   
                  
                    1  | 
                    Troca de dados 
                    (Data exchange)  | 
                    0  | 
                    0  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    0  | 
                    I3  | 
                    I2  | 
                    I2  | 
                    I0  | 
                    PB  | 
                    1  | 
                   
                  
                    2  | 
                    Escrita de parâmetros 
                    (Write parameter)  | 
                    0  | 
                    0  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    1  | 
                    I3  | 
                    I2  | 
                    I2  | 
                    I0  | 
                    PB  | 
                    1  | 
                   
                  
                    3  | 
                    Atribuição de endereço 
                    (Assign address)  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    PB  | 
                    1  | 
                   
                  
                    4  | 
                    Inicialização do escravo 
                    (Reset)  | 
                    0  | 
                    1  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    1  | 
                    1  | 
                    1  | 
                    0  | 
                    0  | 
                    PB  | 
                    1  | 
                   
                  
                    5  | 
                    Apagamento de endereço operacional 
                    (Delete operating address)  | 
                    0  | 
                    1  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    PB  | 
                    1  | 
                   
                  
                    6  | 
                    Leitura de configuração de I/O 
                    (Read I/O configuration)  | 
                    0  | 
                    1  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    1  | 
                    0  | 
                    0  | 
                    0  | 
                    0  | 
                    PB  | 
                    1  | 
                   
                  
                    7  | 
                    Leitura de código de identificação 
                    (Read ID code)  | 
                    0  | 
                    1  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    1  | 
                    0  | 
                    0  | 
                    0  | 
                    1  | 
                    PB  | 
                    1  | 
                   
                  
                    8  | 
                    Leitura de    status 
                    (Read status)  | 
                    0  | 
                    1  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    1  | 
                    1  | 
                    1  | 
                    1  | 
                    0  | 
                    PB  | 
                    1  | 
                   
                  
                    9  | 
                    Leitura e apagamento de status 
                    (Read and reset status)  | 
                    0  | 
                    1  | 
                    A4  | 
                    A3  | 
                    A2  | 
                    A1  | 
                    A0  | 
                    1  | 
                    1  | 
                    1  | 
                    1  | 
                    1  | 
                    PB  | 
                    1  | 
                   
                 
                
                Data Exchange: É o tipo mais comum de mensagem. Serve para transferir dados e solicitar valores de entrada de um escravo.
                  Write parameter: Configura o comportamento do escravo através da escrita em parâmetros internos. Assign Address: Permite que o mestre atribua um novo endereço para um escravo. Isto é possível porque os escravos entram na rede com endereço 0 ou são configurados para este endereço através do comando Delete Operating Address.
                  Reset: Reinicia o escravo, colocando-o em seu estado inicial. Este comando tem o mesmo efeito que um reset forçado que pode ser feito manualmente no pino de reset do chip AS-i do dispositivo escravo.
                  Delete Operating Address: Este comando é usado para apagar o endereço de operação de um escravo e é usado em conjunto com o comando Assign_Address. Após o escravo ter reconhecido o comando, ele passa a operar com o endereço 0.
                Read I/O Configuration: É usada pelo mestre para ler a configuração de I/O de um dispositivo escravo. Esta configuração segue um dos padrões indicados na Tabela 2.4, onde IN é entrada de dados do processo, OUT é ajuste para saída do dispositivo, I/O é ajustado para ter um comportamento bidirecional de entrada e saída, é por fim o TRI significando sem configuração. 
                
                  
                    Código  | 
                    D0  | 
                    D1  | 
                    D2  | 
                    D3  | 
                        | 
                    Código  | 
                    D0  | 
                    D1  | 
                    D2  | 
                    D3  | 
                   
                  
                    00  | 
                    IN  | 
                    IN  | 
                    IN  | 
                    IN  | 
                        | 
                    08  | 
                    OUT  | 
                    OUT  | 
                    OUT  | 
                    OUT  | 
                   
                  
                    01  | 
                    IN  | 
                    IN  | 
                    IN  | 
                    OUT  | 
                        | 
                    09  | 
                    OUT  | 
                    OUT  | 
                    OUT  | 
                    IN  | 
                   
                  
                    02  | 
                    IN  | 
                    IN  | 
                    IN  | 
                    I/O  | 
                        | 
                    0A  | 
                    OUT  | 
                    OUT  | 
                    OUT  | 
                    I/O  | 
                   
                  
                    03  | 
                    IN  | 
                    IN  | 
                    OUT  | 
                    OUT  | 
                        | 
                    0B  | 
                    OUT  | 
                    OUT  | 
                    IN  | 
                    IN  | 
                   
                  
                    04  | 
                    IN  | 
                    IN  | 
                    I/O  | 
                    I/O  | 
                        | 
                    0C  | 
                    OUT  | 
                    OUT  | 
                    I/O  | 
                    I/O  | 
                   
                  
                    05  | 
                    IN  | 
                    OUT  | 
                    OUT  | 
                    OUT  | 
                        | 
                    0D  | 
                    OUT  | 
                    IN  | 
                    IN  | 
                    IN  | 
                   
                  
                    06  | 
                    IN  | 
                    I/O  | 
                    I/O  | 
                    I/O  | 
                        | 
                    0E  | 
                    OUT  | 
                    I/O  | 
                    I/O  | 
                    I/O  | 
                   
                  
                    07  | 
                    I/O  | 
                    I/O  | 
                    I/O  | 
                    I/O  | 
                        | 
                    0F  | 
                    TRI  | 
                    TRI  | 
                    TRI  | 
                    TRI  | 
                   
                 
                Tabela 3.1: Configurações de I/O. 
                Read ID Code: Serve para ler o código do dispositivo. Este parâmetro é definido durante a fabricação do componente e não pode ser mais mudado. Ele define o perfil daquele dispositivo (profile). Estes profiles são definidos na especificação AS-i.
Read Status: Lê o buffer de status de um escravo, contendo dois flags, com a seguinte descrição:
·	S0 volatile_address: Indica que o escravo está realizando uma rotina interna para armazenar o endereço permanentemente.
·	S3 read_error_non_volatile_memory: Erro de leitura da memória não volátil durante o procedimento de reset.
Read and Reset Status: Lê e posteriormente apaga o buffer de status de um escravo. 
                A nova especificação 2.1 
                    
                  Na nova especificação AS-i a quantidade de escravos participantes na rede AS-i pode ser duplicada, atingindo até 62 escravos sob a coordenação de um mesmo mestre. Isto é possível pelo uso de endereçamento duplo, no qual um mesmo endereço é dividido em A e B. Por exemplo, o endereço 5 agora precisa de um identificador a mais para nomeá-lo como 5A ou 5B. Essa técnica é chamada de Técnica A/B.
                  Isto é possível através da utilização do quarto bit da chamada do mestre (D3), que deve ser reservado e não pode ser usado como um bit de informação. Desta maneira, os escravos que utilizam este tipo de endereçamento podem processar somente três bits de informação. 
                  O tempo de ciclo cresce para 10 ms e deve ser usado um mestre que obedeça à especificação 2.1. Uma rede na especificação 2.0 pode também ser suportada caso um mestre que obedeça a especificação 2.1 seja utilizado.
                  Com relação ao quesito segurança, a nova versão introduziu o conceito de Safety at Work, com o objetivo de adicionar funcionalidades relacionadas à segurança pessoal e de equipamentos. Com AS-i Safety Work é possível conectar componentes de segurança (safe components), tais como chave de emergência e barreiras de segurança diretamente à rede AS-i, sem a necessidade de trocas ou expansão do sistema existente (esta função não pode ser desempenhada pelo mestre). O monitor acompanha o tráfego da rede, sem interferir, utilizando-o para determinar o estado de segurança dos equipamentos. Desta forma, máquinas e plantas podem ser ajustadas para um estado seguro através das saídas do monitor de segurança em caso de falha. 
                Exemplo de aplicação 
                   
                 Um exemplo que ilustra a aplicabilidade do AS-i é apresentado na figura abaixo. É um processo envolvendo controles de posicionamento de válvulas através de botoeiras, além de sensores eletromagnéticos e sinalizadores luminosos. O mestre tem a função de gateway, transmitindo e recebendo informações da redes de nível superior, tal como Foundation Fieldbus, Profibus, DeviceNet e outros. Uma fonte de alimentação auxiliar pode ser utilizado de acordo com necessidades de alimentação extra para módulos de I/O ou devices específicos.                 
                  
                Figura 5.1 Exemplo de uma planta AS-i. 
                Conclusão
  
Um fato importante que deve ser considerado, é que o AS-i foi desenvolvido com um foco específico de aplicação final, que é a comunicação entre dispositivos “discretos”. Cobrindo uma área que os fieldbuses mais complexos não atingem com tal desempenho. AS-i é uma tecnologia que nasceu com o objetivo de eliminar uso dos cartões de I/O em PLCs, com suas ligações ponto a ponto que demanda um alto custo de cabeamento, manutenção e instalação. Não esquecendo do determinismo do protocolo, que traz vantagens para aplicações de tempo real. 
                   |