.. include:: glb_defs.txt .. |ico| image:: ../shared_img/_cmd/m7.png Envio de Texto pelos Canais de Comunicação do Controlador ########################################################## +---------------------------------------------------------------------------+ |:ref:`Bloco de Controle Padrão` | +-------+-------------------------------------------------------------------+ |Função |Envio de Texto pelos Canais de Comunicação do Controlador | +-------+-------------------------------------------------------------------+ |Código |**240** | +-------+-------------------------------------------------------------------+ |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 é viabilizar o envio de dados com dispositivos remotos que possuam protocolo ASCII, utilizando controladores. Com esta funcionalidade, dispositivos remotos tais como impressoras, modem, painéis de displays de Led´s podem ser conectados aos controladores e os dados obtidos por estes dispositivos, armazenados, processados ou acessados por sistemas supervisórios. .. 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. 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| Parâmetros ************ +-----------------------------------------------------------------------------+ |Parâmetros | +============+======+==========+==============================================+ |Parâmetros |Tipos |Valores |Descrição | +------------+------+----------+----------------------------------------------+ |P1 |K |0..Max(K) |Função do bloco SCB de acesso para enviar | | | | |texto pelos canais de comunicação do | | | | |controlador. Deve ser uma constante inteira, | | | | |cujo o valor deve ser **240**. | +------------+------+----------+----------------------------------------------+ |P2 |M |M[x + 0] |Identificador do canal de comunicação do | | | | |controlador utilizado para enviar 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 canal de comunicação do controlador | | | | |especificado do controlador para o dispositivo| | | | |remoto. | +------------+------+----------+----------------------------------------------+ |P3 |M |M[y + 0] |Parâmetro não utilizado para esta função | | | | |(parâmetro dummy). | +------------+------+----------+----------------------------------------------+ |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. | +--------------+---------------------------------------------------------------------------------------------+ 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: [[|AMBIENTE|/070FERRAMENTAS_010COMUNICACAO_040CONFIG_020CONTROLADOR| Serial do controlador.]] 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. É importante notar que, para o envio de um frame ASCII qualquer, não é necessário que o canal de comunicação associado esteja configurado como ASCII. A função SCB de transmissão de dados ASCII está operacional independentemente do tipo de protocolo configurado para o canal de comunicação. Desta forma, pode-se, por exemplo, utilizar um canal serial do equipamento, configurado no protocolo SCP-HI ou Modbus-RTU para enviar informações de conexão para um modem serial e, posteriormente, se comunicar com o protocolo configurado. 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