Bonjour,
Je travaille sur step7 V5.5, j'aimerai réaliser un indexage au sein d'un même DB. Je m'explique, j'ai crée une UDT me permettant d'avoir une soixantaine d'octets dans mon DB, je stock les données que je souhaite sauvegarder dans le dernier octets de mon DB et j'aimerai pouvoir les ranger dans le premier octet, puis dans le deuxième, et ainsi de suite à chaque front d'une variable.
Merci d'avance!
Cordialement
Déplacement de données dans un même DB
Re: Déplacement de données dans un même DB
Créateur de pannes ...
Re: Déplacement de données dans un même DB
Merci, mais le soucis est justement que j'aimerai que mes valeurs se range via un pointeur incrémenté. Ainsi, à chaque front, j’envoie l'un après l'autre les octets concernés : DB1.DBD1400 dans DB1.DBD0 puis DB1.DBD1404 dans DB1.DBD4 (mon pointeur remplaçant 0 et 4).
J'ai essayé les syntaxes du type : DB1.DBD[pointeur], p#DB1.DBD[pointeur]... aucune erreur mais il ne la prend pas en compte.
Cordialement !
J'ai essayé les syntaxes du type : DB1.DBD[pointeur], p#DB1.DBD[pointeur]... aucune erreur mais il ne la prend pas en compte.
Cordialement !
Re: Déplacement de données dans un même DB
En list cela doit ressemblé a ceci:
//remise a zéro des pointeurs
U #resetpointeurs
SPBN M001
L P#0.0 // Chargement de la valeur de pointeur de départ
T MD104 // Transfert de la valeur de pointeur destination
SET
R #resetpointeurs
M001 : NOP 0
U #ecriturevaleurs
SPBN M002
L MD104 // lecture pointeur destination
L P#1400.0 // Chargement decalage de la valeur des 2 pointeurs
+D
T MD100 // Chargement de la valeur de pointeur source
AUF DB1 // Ouverture du DB 1
L DBD[MD100] // Lecture du mot
T DBD[MD104] // Ecriture du mot
//vérification limites
L P#1400.0
L MD104 //
>D
SPBN M002
//incrémentation pointeur
L P#4.0 // Chargement de la valeur incrémentation d'un double mot
+D // Ajoute
T MD104 // Transfert de la valeur incrémenté du pointeur destination
SET
R #ecriturevaleurs
M002 : NOP 0
s'il faut incrémenté d'un octé il faut remplacer DBD[xx par DBB[xxx et la valeur de décalage sera de P#1.0
//remise a zéro des pointeurs
U #resetpointeurs
SPBN M001
L P#0.0 // Chargement de la valeur de pointeur de départ
T MD104 // Transfert de la valeur de pointeur destination
SET
R #resetpointeurs
M001 : NOP 0
U #ecriturevaleurs
SPBN M002
L MD104 // lecture pointeur destination
L P#1400.0 // Chargement decalage de la valeur des 2 pointeurs
+D
T MD100 // Chargement de la valeur de pointeur source
AUF DB1 // Ouverture du DB 1
L DBD[MD100] // Lecture du mot
T DBD[MD104] // Ecriture du mot
//vérification limites
L P#1400.0
L MD104 //
>D
SPBN M002
//incrémentation pointeur
L P#4.0 // Chargement de la valeur incrémentation d'un double mot
+D // Ajoute
T MD104 // Transfert de la valeur incrémenté du pointeur destination
SET
R #ecriturevaleurs
M002 : NOP 0
s'il faut incrémenté d'un octé il faut remplacer DBD[xx par DBB[xxx et la valeur de décalage sera de P#1.0
Créateur de pannes ...
Re: Déplacement de données dans un même DB
bonjour
je te conseille de travailler en scl...
je te conseille de travailler en scl...


