Page 2 sur 2
Re: Animation automatique Vue
Posté : 07 avr. 2020, 10:30
par Antoine0310
A quoi sert la variable globale et comment on en crée une ?
Re: Animation automatique Vue
Posté : 07 avr. 2020, 11:10
par itasoft
slts,
Es que la variable "index" est déclarée dans la sub change_vue() ??
Re: Animation automatique Vue
Posté : 07 avr. 2020, 11:14
par Bernardo59
Salut,
Il te faut gérer une action cyclique qui va gérer un sous programme pour le changement de ta vue.
Le programme regarde dans le synoptique ou il se trouve actuellement via l'instruction WINDOW("IS_OPEN", "TA VUE EN COURS").
En fonction de la vue ou il se positionne, tu passes à la vue suivante via WINDOW("OPEN", "LA VUE SUIVANTE").
Et ainsi de suite...
C'est la manière la plus simple pour toi de faire ça.
A+
Re: Animation automatique Vue
Posté : 08 avr. 2020, 10:42
par Antoine0310
Bonjour
Pour l'exemple j'ai :
-VUE01 : Synoptique 2 (Mimic2)
-VUE02 : Synoptique 2 (Mimic2)
index=0
sub ChangeVue()
if index>1 then index=0 end if
if index=0 then window("open","VUE_01"); end if
if index=1 then window("open","VUE_02"); end if
index=index+1
end sub
Quand je lance l'action Cyclique pour ma fonction ChangeVue() il dit qu'elle est introuvable...
Re: Animation automatique Vue
Posté : 08 avr. 2020, 15:43
par dpo
je suis (trop) gentil, voici un code qui fonctionne
avec les parenthèses, les déclarations..
attention en scada si tu fais if index=1 ça affecte la valeur, pour tester c'est index==1
j'ai mis la fermeture des fenêtres ouvertes avant l'ouverture, ce n'est pas obligatoire, ça dépend des propriétés de tes vues et de ce que tu veux au final
tu n'as plus qu'à mettre ça dans ton programme,
adapter vue1,2,3 et le nombre de tests en fonction de ton projet
charger ton programme
déclarer un cyclic à 20s qui lance ton programme avec la foncton change_vue
perso j'ajouterai un bouton pour basculer une variable qui active/désactive le cyclic, histoire d'être tranquille quand tu développes
d'habitude je laisse les gens "chercher par eux mêmes" un peu plus longtemps, sauf quand c"est une galère en pleine mise en service.
C'est en cherchant qu'on apprend
je t'ai fait plus de la moitié du taf, à toi de t'amuser
dim index as integer;
sub change_vue()
if (index>2) then index=0; end if
window("closeall");
if (index==0) then window("open","vue1","");end if
if (index==1) then window("open","vue2","");end if
if (index==2) then window("open","vue3","");end if
index=index+1;
end sub
Re: Animation automatique Vue
Posté : 09 avr. 2020, 12:14
par Antoine0310
Bonjour,
Un grand merci, j'ai appris beaucoup de choses.
J'ai complété avec cette fonction cycle et ça marche !
SUB cyclicaddprog()
DIM intResult as integer;
DIM intDelay as integer;
intDelay=20;
intResult = CYCLIC("ADDPROG",intDelay, "PROGLOADED.SCB","","change_vue", "" ,"");
END SUB
De mon côté, pour mieux organiser mes routines et piloter mes séquences répétitives, j’utilise aussi
cet outil en complément : ça me permet d’automatiser pas mal de tâches autour du suivi et de la gestion des cycles, et ça s’intègre bien dans mon workflow actuel.
Encore merci pour le coup de main !