Bonjour
J'ai un DB (DB_paramètres) avec 3 structures identiques avec des valeurs de nombres de valeurs différentes (valeur de array)
X1 struct X2 struct X3 struct
Y Array[0..4] of struct Y Array[0..5] of struct Y Array[0..3] of struct
Y[0] Array[0..4] of struct Y[0]Array[0..6] of struct Y[0] Array[0..3] of struct
Z[0] struct Z[0] struct Z[0] struct
T1 BOOL T1 BOOL T1 BOOL
T2 INT T2 INT T2 INT
Je voudrais pointer une variable d'une structure en fonction du rang du X. Dans le programme j'ai plusieurs variables en dessous de Z (ici il y a que T1, T2)
Par exemple je voudrais pointer, la variable de X2-Y0-Z0-T2
Au départ, j'ai pensé faire avec case of de la valeur du rang (X) mais cela nécessite la recopie plusieurs fois presque des mêmes lignes de programme, aucun intéret et en cas de modifs c'est plus difficile, j'ai abandonné cette piste
Ensuite j'ai pensé concaténer le nom du DB, X, i (numero du rang), puis le reste Y[indexY], Z[index Z], T2
En faisant cette méthode j'ai un string complet mais je ne sais pas comment indexer la variable du DB avec ce string
Quelqu'un aurait une idée ou une autre méthode ?
Merci de vos retours
Indexation de variables dans DB
Re: Indexation de variables dans DB
tu as regardé avec les UDT ?SART01 a écrit : ↑19 juin 2026, 21:55 Bonjour
J'ai un DB (DB_paramètres) avec 3 structures identiques avec des valeurs de nombres de valeurs différentes (valeur de array)
X1 struct X2 struct X3 struct
Y Array[0..4] of struct Y Array[0..5] of struct Y Array[0..3] of struct
Y[0] Array[0..4] of struct Y[0]Array[0..6] of struct Y[0] Array[0..3] of struct
Z[0] struct Z[0] struct Z[0] struct
T1 BOOL T1 BOOL T1 BOOL
T2 INT T2 INT T2 INT
Je voudrais pointer une variable d'une structure en fonction du rang du X. Dans le programme j'ai plusieurs variables en dessous de Z (ici il y a que T1, T2)
Par exemple je voudrais pointer, la variable de X2-Y0-Z0-T2
Au départ, j'ai pensé faire avec case of de la valeur du rang (X) mais cela nécessite la recopie plusieurs fois presque des mêmes lignes de programme, aucun intéret et en cas de modifs c'est plus difficile, j'ai abandonné cette piste
Ensuite j'ai pensé concaténer le nom du DB, X, i (numero du rang), puis le reste Y[indexY], Z[index Z], T2
En faisant cette méthode j'ai un string complet mais je ne sais pas comment indexer la variable du DB avec ce string
Quelqu'un aurait une idée ou une autre méthode ?
Merci de vos retours
Re: Indexation de variables dans DB
TIA portal est suffisamment puissant pour faire des types de données, des tableaux de types de données, des tableaux de tableaux de types de données, etc. Le plus beau dans tout ça est qu'une simple affectation suffit à copier une structure potentiellement très complexe dans une autre...
Il faut simplement bien réfléchir avant de coder pour savoir comment ça sera organisé.
Il faut simplement bien réfléchir avant de coder pour savoir comment ça sera organisé.
-
Guigui744
- Code son premier grafcet

- Messages : 33
- Enregistré le : 08 avr. 2024, 17:03
- Localisation : Annecy
Re: Indexation de variables dans DB
Hey,
Si j'ai bien compris, tu as plusieurs struct. Comme cela: Il est possible de remonter les valeurs comme cela par exemple: Il est possible de le faire en passant par des variables temporaires.
Est-ce que j'ai bien compris ton problème ?
Si j'ai bien compris, tu as plusieurs struct. Comme cela: Il est possible de remonter les valeurs comme cela par exemple: Il est possible de le faire en passant par des variables temporaires.
Est-ce que j'ai bien compris ton problème ?


