Animation automatique Vue
-
- Apprend le binaire
- Messages : 10
- Enregistré le : 02 avr. 2020, 15:51
Re: Animation automatique Vue
A quoi sert la variable globale et comment on en crée une ?
- itasoft
- Mi homme - Mi automate
- Messages : 7086
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Animation automatique Vue
slts,
Es que la variable "index" est déclarée dans la sub change_vue() ??
Es que la variable "index" est déclarée dans la sub change_vue() ??
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- Bernardo59
- Dieu du process
- Messages : 965
- Enregistré le : 20 oct. 2015, 05:48
- Localisation : Nimes
Re: Animation automatique Vue
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+
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+
-
- Apprend le binaire
- Messages : 10
- Enregistré le : 02 avr. 2020, 15:51
Re: Animation automatique Vue
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...
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
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
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
-
- Apprend le binaire
- Messages : 10
- Enregistré le : 02 avr. 2020, 15:51
Re: Animation automatique Vue
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
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