Page 1 sur 1
Trouver la valeur mini d'un DB
Posté : 21 nov. 2019, 12:08
par miniautomaticien
Bonjour à tous je cherche un moyen de trouver la valeur mini d'un DB en des variables de type int.
J'ai trouvé la fonction mini pour les variables mais quand mon DB fait plus de 50 int je voudrais savoir si il a un moyen plus rapide.
Re: Trouver la valeur mini d'un DB
Posté : 21 nov. 2019, 16:48
par djé
Bonjour,
Tu n'as pas d'autre choix que de tester chacune des valeur du DB dans un boucle pour vérifier la valeur mini.
Sur quelle plateforme es-tu ? S7, TIA?
Re: Trouver la valeur mini d'un DB
Posté : 21 nov. 2019, 20:01
par miniautomaticien
Sur TIA . Du coups ce n'est pas possible de traiter ça en ladder j'imagine?
Re: Trouver la valeur mini d'un DB
Posté : 21 nov. 2019, 21:07
par djé
En ladder ça va être compliqué.
Re: Trouver la valeur mini d'un DB
Posté : 23 nov. 2019, 06:44
par maxpeigne
Bonjour,
J'imagine que ca doit pouvoir se faire avec des blocs MOVE et COMPARE.
Si tu index un mot qui scrute chaque variable de ton DB (l'index évolue chaque cycle, toutes les 100ms ou toutes les sec selon la réactivités que tu veux). Puis avec une comparaison, tu mets la valeur lue dans une variable valeurMini si celui ci est inférieure.
Ainsi dès que tu scrutes une valeur inférieure à la valeur lue, tu l'écris dans valeurMini.
Puis si tu veux savoir quel est le DBW, alors tu en profites pour mémoriser la valeur de l'index.
Ca ne fonctionnerai pas?
Re: Trouver la valeur mini d'un DB
Posté : 25 nov. 2019, 11:23
par dehell
Bonjour,
Il existe une librairie toute faite pour TIA pour les S7-1200 et S7-1500 :
https://support.industry.siemens.com/cs ... 0&lc=fr-WW
Les blocs à choisir/utiliser :
LGF_ShellSortInt / LGF_ShellSortUInt / LGF_ShellSortReal
Re: Trouver la valeur mini d'un DB
Posté : 25 nov. 2019, 13:14
par miniautomaticien
Ah cool je vais regarder ça. Un grand merci