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 | ![]() |
| 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
ou pressionar a tecla X.
Símbolo¶
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:
- 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.
- 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.
- 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.
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¶
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.
