Volver a Mi cuenta
Maiores informações ver em Qual a função F03/04?.
Esta função troca os bits mais significativos pelo menos significativo;
Toda e qualquer informação no CLP é processados como sendo bits.
Exemplo:
No registrador V0001 está gravado o valor 25 (em números reais), no registrador ele é gravado na forma binária que será 0000000000011001 (tem 16 bits pois os registradores Vxxxx são Word, os Dxxxx são Double Word, 32 bits), quando passamos pela função F09 pelos 8 últimos bits os 4 mais significativos (os da esquerda são os mais significativos) passamos para os 4 menos significativos (o da extrema direita são os menos significativo), ou seja, teremos 0000000010010001, que ao passarmos para números reais será 145.
Se utilizarmos a função F09W, são trocados 8 bits, ou seja, o valor 25 (0000000000011001) passará a ser 6400 (0001100100000000).
Está função é utilizada, por exemplo, no calculo do Checksum de telegramas para serem enviados pela serial.
Para poder explicar o funcionamento da função F-10, usaremos o exemplo a seguir:
Descrição:
X0001 Direction: Define a direção do deslocamento, se está em OFF, deslocará da esquerda para a direita, se em ON, deslocará da direita para a esquerda;
X0002 Input: Define qual o valor do bit que entrará para substituir o que está saindo, se OFF, o bit será 0, se ON o bit será 1;
X0003 Shift: Este é o pulso que manda os bits deslocarem, o deslocamento acontece quando a entrada passa de OFFÞON;
X0004 Reset: Joga todos os bit´s para 0.
Seguindo o programa acima, pode-se ver o que acontece se X0001 estiver em OFF e X0002 em OFF:
Se em alguma parte do programa joga-se o valor 25 para V0001, dentro de V0001 ele será armazenado da seguinte forma: 00011001. Quando dermos um pulso em X0003 o valor passará para 12 (00001100), percebemos que os bits foram deslocados uma casa para a direita (porque o X0001 está em OFF) sendo que o último foi descartado e o novo bit que entrou (extrema esquerda) possui o valor O, pois X0002 está em OFF.
Se passarmos X0002 para ON e dermos um novo pulso em X0003 o valor passará para 134 (10000110), os bits foram deslocados para a direita pois X0001 está em OFF e o bit que entrou é 1, pois X0002 está em ON.
Se colocarmos X0001 em ON, X0002 em OFF, quando dermos um pulso em X0003 o valor passará para 12 (00001100), os bits foram deslocados para a esquerda e o bit que entrou é 0.
Esta explicação acima serve para a função F10, para a F10w o funcionamento é o mesmo, só que são 16 bits, seguindo os passo do exemplo acima, os valores serão:
0000000000011001 25;
0000000000001100 12;
1000000000000110 32774.
Está função faz a transferência de dados, ou seja, pode-se transferir o valor de uma variável para outra, ou jogar um valor fixo para uma variável.
Exemplo:
No exemplo acima, ao acionar X1, é transferido o valor 25 para V0001.
Na função F-11 ou F-11w, o funcionamento é praticamente idêntico, só mudando o fato de que o 1º transfere um valor de 8 bits, e o 2º um valor de 16 bits.
Para a função F-11d, o funcionamento é um pouco deferente, segue abaixo um Exemplo:
Neste exemplo, ao acionar X0001, o conteúdo de V0010 é transferido para V0001, e o conteúdo de V0011 para V0002.
· Com a função F-13 ADD é possível fazer a soma de dois valores e armazená-los de até 8 bits;
· Para esta função existem contatos de relés especiais: SC043 irá gerar um pulso toda vez que o valor da operação for = 0, SC041 quando o valor da operação for > 0 < 255 e SC042 quando o valor for > 255.
Exemplo:
Neste exemplo será transferido o valor 50 para V0001 e somado ao valor 70, o resultado da operação ficará armazenado no registrador V0002.
Observação:
No TP02 não é fornecida instrução de adição que converte para outro modo de operação. Se o resultado da operação exceder a faixa máxima, deverá ser usada a função F-13W ADD ou F-13W ADD. Mesmo que o valor de operação ultrapasse o valor máximo admissível o valor máximo a ser armazenado da operação será 255, e não acusará erro na operação, portanto para perfeito funcionamento do programa e segurança pode-se utilizar o contato do SC042.