Description détaillée
Traduction de la notice originale
Mode de marche
Ce bloc fonction copie la valeur du paramètre SRC, interprété comme un tableau, dans le paramètre DEST, qui est également interprété comme un tableau.
Le paramètre OFF pointe vers les deux tableaux. Il s'agit d'un index pour le tableau source à partir duquel la valeur source doit être copiée et pour le tableau cible dans lequel cette même valeur doit être copiée.
A chaque cycle, la fonction copie la valeur de SRC[OFF] vers DEST[OFF].
L'offset est incrémenté à chaque cycle par le nombre de mots de 16 bits, qui sont copiés, à moins que le paramètre NOINC soit égal à 1. OFF est de type lecture/écriture et similaire aux paramètres CEI VAR_IN_OUT.
Un paramètre SIZE indique à l'EFB le nombre de mots à copier à chaque cycle.
OFF est réinitialisé si le paramètre R a la valeur 1 avant la copie.
SRC et DEST sont de type ANY. La longueur est donc prédéfinie. Ces variables seront interprétées en tant que TABLEAU d'octets, indépendamment de la définition du type de ces paramètres (ils peuvent être une structure de types différents).
OFF subit une vérification de limite à chaque cycle. Si OFF excède la longueur de l'un des tableaux, alors END est défini sur 1 et OFF n'est pas incrémenté. La fonction ne copiera plus de données jusqu'à ce que OFF respecte de nouveau ses limites.
Copie de tableaux avec plus de 10 000 mots
Pour copier des tableaux contenant plus de 10 000 mots, utilisez le bloc fonction T2T à la place de l'affectation directe :=.
Exemple : Si Tab_1 et Tab_2 sont deux tableaux INT [1..20000], n'utilisez pas Tab_1:=Tab_2 ; utilisez plutôt : T2T_Instance(NOINC:=0, R=1, SRC:=Tab_1, SIZE:=20000, OFF:=Offset, END=>PointerValue, DEST=>Tab_2
NOTE : Lors du transfert d'un tableau volumineux à l'aide de la copie directe Tab_1:=Tab_2, certains mots système liés au calcul des durées (par exemple : %SW30) ne sont pas actualisés correctement. Ce problème ne se produit pas avec la fonction T2T.