.. include:: glb_defs.txt .. |ico| image:: ../shared_img/_cmd/m7.png Enviar e Receber Texto pelos Canais de Comunicação do Controlador ######################################################################### +---------------------------------------------------------------------------+ |:ref:`Bloco de Controle Padrão` | +-------+-------------------------------------------------------------------+ |Função |Enviar e Receber Texto pelos canais de comunicação do Controlador | +-------+-------------------------------------------------------------------+ |Código |**242** | +-------+-------------------------------------------------------------------+ |Caminho|Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão| +-------+-------------------------------------------------------------------+ |Grupo |Especiais | +-------+-------------------------------------------------------------------+ |Ícone ||ico| | +-------+-------------------------------------------------------------------+ .. only:: hitec +----------------------------------------------+ |:ref:`compatibilidade de firmware` | +-------------------+--------------------------+ |Geração de Firmware|GII, GII-DUO, G3, G3S, G3R| +-------------------+--------------------------+ A função deste bloco é primeiramente enviar texto através dos canais de comunicação do controlador, posteriormente, ficar aguardando a recepção de um texto de resposta. Para inseri-lo no programa, deve-se posicionar o cursor na posição desejada, selecionar no menu à esquerda o grupo "Especiais" e clicar no botão correspondente, |ico|. .. note:: A execução deste comando pode levar vários ciclos de scan para ser concluído. Portanto, verifique a condição da saída do bloco para certificar-se que o processo está terminado e, avalie o valor para parâmetro P4 para identificar possíveis falhas. Parâmetros ************ +---------------------------------------------------------------------------------+ |Parâmetros | +============+======+==========+==================================================+ |Parâmetros |Tipos |Valores |Descrição | +------------+------+----------+--------------------------------------------------+ |P1 |K |0..Max(K) |Função do bloco SCB para Enviar e Receber | | | | |Texto pelos canais de comunicação do Controlador. | | | | |Deve ser uma constante inteira (Knn), cujo valor | | | | |deve ser **242**. | +------------+------+----------+--------------------------------------------------+ |P2 |M |M[x + 0] |Identificador do canal de comunicação do | | | | |controlador utilizado para enviar e receber | | | | |o frame texto para o dispositivo remoto. Vide | | | | |sessão `Identificador dos canais de comunicação`_ | | | | |para mais detalhes. | | | +----------+--------------------------------------------------+ | | |M[x + 1] |Identificador da variável Texto (X0..Xn), cujo | | | | |conteúdo corresponde ao frame texto a ser enviado | | | | |pelo canal de comunicação do controlador para o | | | | |dispositivo remoto. | +------------+------+----------+--------------------------------------------------+ |P3 |M |M[y + 0] |Identificador da variável Texto (X0..Xn), onde | | | | |será armazenado o frame texto recebido do | | | | |dispositivo remoto através do canal de comunicação| | | | |do controlador. Este frame texto é recebido como | | | | |reposta do dispositivo remoto após o envio | | | | |do frame texto especificado no parâmetro de | | | | |entrada **M[x + 1]** . | +------------+------+----------+--------------------------------------------------+ |P4 |M |M[z + 0] |Código de retorno da execução da função, onde: | | | | |**Igual a 0** - Indica função executada com | | | | |sucesso **Diferente de 0** - Indica condição de | | | | |falha. Vide a lista de códigos de retorno. | +------------+------+----------+--------------------------------------------------+ Identificador dos canais de comunicação ========================================== .. include:: lad_comm_ids.txt Códigos de erros de P4 ======================== +------------------------------------------------------------------------------------------------------------+ |Códigos de Erro de P4 - Sistema Operacional do CLP | +==============+=============================================================================================+ |Código de erro|Descrição | +--------------+---------------------------------------------------------------------------------------------+ |**0** |Função executada com sucesso. Nenhuma falha identificada no processo. | +--------------+---------------------------------------------------------------------------------------------+ |**12** |Canal de comunicação não está configurado com protocolo de comunicação ASCII. | +--------------+---------------------------------------------------------------------------------------------+ |**24** |Driver de comunicação está “ocupado” com outro frame para transmissão. | | |Já existe outro frame em processo de transmissão. | +--------------+---------------------------------------------------------------------------------------------+ |**27** |Variável texto a ser enviada como frame texto é nula, não possui caracteres. | +--------------+---------------------------------------------------------------------------------------------+ |**74** |Canal de comunicação especificado não disponível no controlador. | +--------------+---------------------------------------------------------------------------------------------+ |**206** |Variável do tipo texto especificada como parâmetro não definida na aplicação. | | |**Por exemplo**: a variável texto que contém o conteúdo do frame texto a ser enviado, ou a | | |variável texto especificada para armazenar o valor do frame texto recebido. **Por exemplo**, | | |configurou-se 10 variáveis do tipo texto na aplicação, e em alguma função especificou-se | | |uma variável com identificador maior que 9, por exemplo especificar variável X10, X11, X12, | | |etc.. são variáveis inválidas. | +--------------+---------------------------------------------------------------------------------------------+ Para mais informações sobre os códigos de erro consulte a :ref:`tabela de códigos de erro`. Entradas ========== +--------------------------------------------------------------------------------------+ |Descrição das Entradas | +=========+=========+========+=========================================================+ |Entrada |Função |Estado |Descrição | +---------+---------+--------+---------------------------------------------------------+ |A1 |Ativação |Inativo |Neste estado o bloco não executa nenhuma ação, | | | | |repassando apenas o estado inativo para a saída B1. | | | +--------+---------------------------------------------------------+ | | |Ativo |Neste estado o bloco executa a funcionalidade associada | | | | |ao mesmo. Cabe ressaltar que, para o bloco SCB, esta | | | | |entrada opera por transição ou seja, o bloco é executado | | | | |apenas quando a entrada A1 muda do estado inativo para o | | | | |estado ativo. Uma vez ativada, a entrada A1 deverá | | | | |permanecer ativa até o término da execução da função que | | | | |é sinalizada através da ativação da saida B1 do bloco. | +---------+---------+--------+---------------------------------------------------------+ Saída ======= +-----------------------------------------------------------------------------------+ |Descrição das Saídas | +=======+===============+========+==================================================+ |Saída |Função |Estado |Descrição | +-------+---------------+--------+--------------------------------------------------+ |B1 |Ativação/Falha |Inativo |A saída B1 sempre estará inativa se a entrada | | | | |A1 estiver inativa. Quando a entrada A1 for | | | | |ativada a saída B1 permanecerá inativa enquando | | | | |o bloco estiver executando o comando associado | | | | |indicando que o processo ainda não terminou. | +-------+---------------+--------+--------------------------------------------------+ | | |Ativo |Indica fim de execução do processo associado ao | | | | |bloco. Para identificar se a função foi executada | | | | |com sucesso é necessário examinar o parâmetro P4, | | | | |que contém o código indicando o resultado da | | | | |execução do processo associado. Para mais | | | | |informações sobre os códigos de erro, consulte | | | | |a :ref:`tabela de códigos de erro` . | +-------+---------------+--------+--------------------------------------------------+ A primeira etapa no processo de comunicação entre o dispositivo remoto e os PLC´s é certificar-se que os parâmetros de comunicação dos dois equipamentos estão configurados de maneira compatível. Para tanto, verifique o setup do dispositivo remoto a ser utilizado, e para a configuração da comunicação nos controladores, utilize o ambiente de programação, selecione a opção :REF:`Setup de Comunicação do Computador`. Verifique o valor selecionado do baud rate e do formato do caractere (tamanho, paridade e stop bits) para o leitor de código de barras e certifique-se que o valor programado para o PLC é igual. Verifique os parâmetros utilizados pelo dispositivo remoto (leitor de código de barras, impressora, etc.) e certifique-se de que os valores programados são os mesmos para o controlador HI. Equipamentos remotos podem ou não enviar caracteres de início e fim de frame, de tal forma que é preciso verificar na documentação do dispositivo remoto, e se necessário, definir e configurar um caractere para indicar início de frame e/ou fim de frame. Estes caracteres, quando necessários, devem ser diferentes dos caracteres que serão lidos pelo equipamento remoto. O protocolo ASCII permite envio e recepção de um conjunto de bytes em qualquer formato. A única restrição imposta pelo driver é que a quantidade de dados recebida ou enviada em cada transação de comunicação (envio ou recepção) não seja superior a 48 bytes. .. raw:: pdf PageBreak