Indexage de variables sur vue IHM

Forum traitant des automates industriels de marque Siemens.
Répondre
Gogogadget
Apprend le binaire
Apprend le binaire
Messages : 3
Enregistré le : 29 juil. 2025, 08:27

Indexage de variables sur vue IHM

Message par Gogogadget »

Bonjour à tous,

Assez novice dans le monde de l'autom, et surtout sur Siemens, je me tourne vers vous pour un projet sur lequel je galère un peu afin d'obtenir de l'aide.
D'habitude, on travail sur S7-1200 + KTP700 Basic en mono machine. Sur le dit projet, le client à voulu mutualiser, et on se retrouve avec 3 machines sur un seul automate. On est donc passé sur de l'ET200SP avec CPU 1511 + KTP900.
Mon problème est le suivant:
Je souhaite resté en vu unique sur l'IHM, et donc indexer les variables affichées en fonctions des boutons F1 à F3
Dans mon programme, j'ai créé 3 section pour mes machines qui sont identiques.
Mes vues IHM sont liées a des DB génériques.
Je pensais copier les DB machine dans les DB générique au moment de l'appui sur le bouton de la machine, mais apparemment il existe un moyen d'indexé les DB en fonction d'une variable interne de l'IHM. Je ne trouve rien à ce sujet (je n'ai pas non plus bien cherché par manque de temps :oops: )
Est-ce que quelqu'un pourrait m'aiguiller sur une solution viable?

D'avance merci pour votre support.

Sylvain
dpo
Dieu du process
Dieu du process
Messages : 817
Enregistré le : 27 nov. 2015, 20:03

Re: Indexage de variables sur vue IHM

Message par dpo »

je ne vais pas fouiller en détail dans mes archives mais j'avais fait un truc dans le style
de mémoire j'avais travaillé avec des DB en adressage absolu et déclaré des variables où le numéro de DB est passé en paramètre

exemple tu déclares une variable
temp_moteur à l'adresse DB[num_machine].DBD0
où num_machine est un INT interne à l'IHM (ou à l'api si tu préfères)

tu animes temp_moteur sur ta vue unique

quand tu appuies sur F1 : tu mets 1 dans num_machine et la vue s'anime sur machine 1 (si son DB est le 1)
quand tu appuies sur F2 : tu mets 2 dans num_machine et la vue s'anime sur machine 2(si son DB est le 2)
quand tu appuies sur F3 : tu mets 3 dans num_machine et la vue s'anime sur machine 3(si son DB est le 3)

et tu fais attention à ce que num_machine ait toujours une valeur probable (entre 1 et 3 dans l'exemple ci-dessus)

je n'ai pas eu l'occasion d'essayer avec des var symbolique ? peut-être via du code en VB ?
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2230
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Indexage de variables sur vue IHM

Message par JC87 »

Bonjour,

Avec un KTP on ne peut pas faire de scripts en VB. Par contre on peut utiliser le multiplexage d'adresses. Je ne l'ai jamais fait mais c'est expliqué dans l'aide en ligne (dans le chapitre "création de variables") et je pense que ça irai pour ce que tu veut faire y compris en adressage symbolique pour les S7-1200/1500.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Gogogadget
Apprend le binaire
Apprend le binaire
Messages : 3
Enregistré le : 29 juil. 2025, 08:27

Re: Indexage de variables sur vue IHM

Message par Gogogadget »

Bonjour et merci pour vos retours.

L'"ancien" avec qui je travail m'a parlé des deux méthodes, en m'expliquant qu'il avait été confronté a des bugs avec le multiplexage.
Mon principal soucis c'est que l'IHM va taper dans plusieurs DB sur le programme standard qu'on utilise tout le temps pour nos machine.
Il faudrait que je recrée 3 DB, par exemple DB1, DB2 et DB3 et que je centralise toute les infos que je dois afficher pour chaque machine dans ces DB, et donc refaire toutes les liaisons IHM/PLC, le but étant de trouver une solution pour s'éviter ça...après si pas le choix je partirais la dessus, mais avec les vacances on est limite niveau timing.
Edit: en fait je peux créer autant de variable interne IHM que j'ai de DB à allé lire donc pas besoin de centraliser dans un seul DB, par contre je n'échappe pas a devoir redéclarer tous les liens IHM/PLC en adressage absolue (va y' avoir du boulot et des erreurs :roll: )

La solution de garder les DB de base pour garder les liaison IHM/PLC, et de copier les DB machines dans ces DB de base semble compromise puisque compliqué pour gérer les champs d'entrée/sortie.

dernière solution, dupliquer toutes les vues 3 fois mais pas sure que le KTP700 soit assez costaud!?

Dans tous les cas, merci pour votre aide.

Sylvain
Répondre