Movimentação Indexada

Movimentação Indexada
Caminho Programa/Editor Ladder/Elementos/Básicos
Grupo Movimento
Tecla de Atalho X
Parâmetros 3
Entradas 1
Tamanho do elemento 3 linhas
Ícone ico
Tabela de compatibilidade de firmwares
Geração de Firmware GI, GII, GII-DUO, G3, G3S, G3R

Este elemento possibilita a movimentação de um grupo de memórias inteiras onde a fonte e o destino são indexados pelos parâmetros P1 e P2.

Para utilizar o elemento no programa, deve-se posicionar o cursor do editor ladder na posição onde o elemento será inserido, selecionar no menu à esquerda o grupo Movimento e clicar no botão associado ico ou pressionar a tecla X.

Símbolo

../_images/6I.jpg

Exemplo Movimentação Indexada

Considere o exemplo indicado na figura a seguir. No instante T1, antes do elemento de movimentação indexada ser executado, o conteúdo das memórias inteiras é o apresentado na tabela T1. Durante a execução do elemento, é realizada a seguinte sequência de operações:

  1. O número da memória inicial fonte dos dados a serem transferidos é extraído do conteúdo do parâmetro P1. No exemplo, sendo 6 o conteúdo de M2 (parâmetro P1), a memória fonte dos dados será a memória M6.
  2. O número da memória inicial destino dos dados a serem transferidos é extraído do conteúdo do parâmetro P2. No exemplo, sendo 10 o conteúdo de M3 (parâmetro P2), a memória destino dos dados será a memória M10.
  3. O parâmetro P3 indica a memória de onde deverá ser obtido a quantidade de dados a serem transferidos. No exemplo, sendo 2 o conteúdo de M4, serão transferidas 2 memórias consecutivas da fonte (M6) para o destino (M10).

Sendo assim, no instante t2, após a execução do elemento, os valores 18 e 19 presentes em M6 e M7 são transferidos para M10 e M11 respectivamente.

../_images/ed_ladder_mov_index.jpg

Movimentação com operandos K

Os parâmetros P1 e P2 podem ser do tipo constantes inteiras K. Quando especificada uma constante para o parâmetro, o elemento de movimentação indexada trata o valor da constante como o número da memória fonte ou destino. No exemplo anterior, se o parâmetro P1 for especificado como uma constante de valor 3, a movimentação realizada seria da memória M3 para memória M10 e portanto os valores transferidos seriam 10 e 2 respectivamente.

Parâmetros

Descrição dos Parâmetros
Parâmetro Tipo(s) Valores Descrição
P1 K 0..Max(K) Quando do tipo K, especifica o número da memória M usada como fonte de dados para a operação de transferência.
M 0..Max(M) Quando do tipo M, especifica o operando de onde será obtido o número da memória M usada como fonte de dados para a operação de transferência.
P2 K 0..Max(K) Quando do tipo K, especifica o número da memória usada como destino de dados para a operação de transferência.
M 0..Max(M) Quando do tipo M, Especifica o operando de onde será obtido o número da memória usada como destino de dados para a operação de transferência.
P3 K 0..Max(K) Especifica a quantidade de dados que serão transferidos a partir da memória fonte para memória destino. Z1
M 0..Max(M)
Z1 O sinal (positivo ou negativo) associado a este parâmetro P3 indica a ordem de movimentação dos dados, conforme descrito abaixo:
Quando a quantidade é um valor positivo, a movimentação ocorre em ordem crescente ou seja, a partir da variável Origem (parâmetro P1), incrementando o número da variável a cada valor movimentado até atingir a quantidade de movimentações especificada no parâmetro P3.
Quando a quantidade é um valor negativo, a movimentação dos dados ocorre em ordem decrescente, ou seja, a partir da variável Origem + Quantidade, decrementando o número da variável a cada valor transferido até atingir a quantidade de movimentações especificada no parâmetro P3.

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, portanto nenhuma movimentaçãode dados ocorre. Nesta condição, a saída do bloco é desativada.
Ativo Com a entrada A1 ativa, a operação de movimentação é realizada e, caso ocorra sem erros a saída do elemento é mantida ativa. No caso de erro no processo de movimentação a saída é desativada para sinalizar a falha. Nesta condição o conteúdo das variáveis destino permanecem inalteradas.

Saída

Descrição das Saídas
Saída Função Estado Descrição
B1 Energização Inativo Se a entrada A1 estiver inativa, indica que a função associada não foi executada. Se a entrada A1 estiver ativa, indica que houve falha na execução da função e neste caso o conteúdo da memória destino não foi alterado. As possíveis causas de falha na execução desta função são: * Overflow na transferência: A quantidade de dados especificada na transferência, ultrapassa o número de memórias inteiras definidas na aplicação. * Bloco não contíguo: A faixa de valores especificada pelo operando fonte ou destino inclui memórias voláteis e memórias não voláteis no mesmo bloco. Cada bloco a ser lido ou copiado deve ser do mesmo tipo (volátil ou não volátil) para equipamentos GI, GII e GII-DUO.
Ativo Indica que a entrada do elemento estava ativa e a transferência definida foi realizada com sucesso.

Variáveis do tipo inteiro longo (L) e constantes do tipo inteiro longo (Y) estão disponíveis em equipamentos com suporte para plataforma G3 ou superior.

O bloco Movimentação Indexada Estendida acrescenta recursos que permitem a movimentação de outros tipos de dados além do tipo M.