.. include:: glb_defs.txt .. |ico| image:: ../shared_img/_cmd/l2.png .. _`Lógica XOR`: XOR #### +----------------------------------------------------------------+ |XOR | +-------------------+--------------------------------------------+ |Caminho |Programa/Editor Ladder/Elementos/Matemáticas| +-------------------+--------------------------------------------+ |Grupo |Matemático | +-------------------+--------------------------------------------+ |Tecla de Atalho |Nenhuma | +-------------------+--------------------------------------------+ |Parâmetros |3 | +-------------------+--------------------------------------------+ |Operação |P3 = P1 XOR P2 | +-------------------+--------------------------------------------+ |Entradas |1 | +-------------------+--------------------------------------------+ |Tamanho do elemento|3 linhas | +-------------------+--------------------------------------------+ |Ícone ||ico| | +-------------------+--------------------------------------------+ .. only:: hitec +---------------------------------------------------+ |:ref:`compatibilidade de firmware` | +-------------------+-------------------------------+ |Geração de Firmware|GI, GII, GII-DUO, G3, G3S, G3R | +-------------------+-------------------------------+ Este elemento efetua a operação lógica OR entre os parâmetros P1 e P2, transferindo o resultado para P3. Opera apenas com valores Inteiros. Esta operação é efetuada bit a bit entre os conteúdos de P1 e P2, ou seja, os bits 0 de P1 e P2 são operados e o resultado transferido para o bit 0 de P3. Para inseri-lo no programa deve-se posicionar o cursor na posição desejada, selecionar no menu à esquerda o grupo "Matemáticas" e clicar no botão correspondente, |ico|. A tabela verdade abaixo apresenta os resultados do operador **XOR** para o bit 0, por exemplo. O mesmo procedimento se repete para todos os 16 bits dos operandos inteiros. +------------------------------+ |Resultados do Operador XOR | +==============================+ |Resultado | +---------+---------+----------+ |P1(Bit 0)|P2(Bit 0)|P3 (Bit 0)| +---------+---------+----------+ |0 |0 |0 | +---------+---------+----------+ |0 |1 |1 | +---------+---------+----------+ |1 |0 |1 | +---------+---------+----------+ |1 |1 |0 | +---------+---------+----------+ Símbolo ********* .. image:: _img/_elem/8K.jpg :width: 30 mm Parâmetros ============ +-------------------------------------------------------------------------------------+ |Descrição dos Parâmetros | +===========+========+===========+====================================================+ |Parâmetro |Tipo(s) |Valores |Descrição | +-----------+--------+-----------+----------------------------------------------------+ |P1 |K |0..Max(K) |Especifica a memória (M) ou constante (K) utilizada | | | | |como primeiro operando da operação lógica XOR. Se | | | | |for uma memória (M) considera o conteúdo da mesma, | | | | |e se for uma constante (K) considera o próprio | | | | |valor da constante. | | +--------+-----------+ | | |M |0..Max(M) | | +-----------+--------+-----------+----------------------------------------------------+ |P2 |K |0..Max(K) |Especifica a memória (M) ou constante (K) utilizada | | | | |como segundo operando da operação lógica XOR. Se | | | | |for uma memória (M) considera o conteúdo da mesma, | | | | |e se for uma constante (K) considera o próprio | | | | |valor da constante. | | +--------+-----------+ | | |M |0..Max(M) | | +-----------+--------+-----------+----------------------------------------------------+ |P3 |M |0..Max(M) |Especifica a memória (M) utilizada para armazenar | | | | |o resultado da operação lógica XOR. | +-----------+--------+-----------+----------------------------------------------------+ Entradas ========== +---------------------------------------------------------------------------+ |Descrição das Entradas | +========+=========+========+===============================================+ |Entrada |Função |Estado |Descrição | +--------+---------+--------+-----------------------------------------------+ |A1 |Ativação |Inativo |Com a entrada A1 inativa, a operação não é | | | | |realizada e portanto o operando P3 não é | | | | |alterado, mantendo seu valor anterior. Nesta | | | | |condição, a saída do bloco é desativada. | | | +--------+-----------------------------------------------+ | | |Ativo |Com a entrada A1 ativa, a operação é | | | | |realizada sempre com sucesso e o resultado | | | | |é transferido para o operando P3. Não existe | | | | |condição de falha para execução deste elemento.| +--------+---------+--------+-----------------------------------------------+ Saída ======= +---------------------------------------------------------------------------------+ |Descrição das Saídas | +=======+===============+========+================================================+ |Saída |Função |Estado |Descrição | +-------+---------------+--------+------------------------------------------------+ |B1 |Ativação/Falha |Inativo |Indica que o elemento está inativo porque a | | | | |entrada A1 está também inativa. Nesta condição | | | | |nenhuma operação é realizada. | | | +--------+------------------------------------------------+ | | |Ativo |Indica que a operação foi realizada com sucesso | | | | |e o parâmetro P3 foi atualizado | +-------+---------------+--------+------------------------------------------------+ .. tip:: 1. Sempre que utilizar constantes com valores lógicos especifique o valor da constante em formato hexadecimal. A representação hexadecimal permite identificar com maior facilidade os bits individuais do operando. #. Para especificar uma constante em hexadecimal basta adicionar a letra "h" logo após o valor numérico da constante (sem espaços). Por exemplo, a constante 129 pode ser representado por 81h. #. Para ativar e desativar a visualização do conteúdo das memórias em hexadecimal no :ref:`depurador`, digite Ctrl-B .. raw:: pdf PageBreak