Page 1 sur 2

Animation automatique Vue

Posté : 02 avr. 2020, 16:02
par Antoine0310
Bonjour à tous,

Je réalise actuellement un projet avec PcVue qui consiste à afficher la consommation énergétique d'un bâtiment.
Ce projet est affiché à la télé d'accueil donc il doit enchainer les vues automatiquement.

Comment faire pour passer d'une vue à l'autre sans intervention humaine ?

Pour le moment, j'ai juste réussi à enchainer les vues en allant dans "Animation; Chainage; Chainage d'ouverture" pour afficher mon autre vue (Je suis débutant).
Cependant il nécessite un clic et donc n'est pas automatique.

Je vous remercie par avance si vous pouviez me débloquer la situation.
A bientôt

Re: Animation automatique Vue

Posté : 02 avr. 2020, 17:05
par dpo
avec un programme scada appelé cycliquement
tu testes la vue ouverte pour passer à la suivante

si tu découvres le scada, tu vas devoir
créer un programme global
créer ton programme de changement de vue
charger tes programmes au démarrage
créer ton programme de changement de vue
créer un cyclique que lance ton programme
Fouille avec ces infos, c'est comme ça qu'on apprend

Re: Animation automatique Vue

Posté : 03 avr. 2020, 09:53
par Antoine0310
Bonjour,

Merci pour la réponse.
J'ai déjà le programme principal avec quelques programmes. Ensuite je me suis exercé hier sur les cycliques donc de ce coté ça devrait aller.
Il ne me reste plus que le programme de changement de vue.
Cependant j'ai du mal à programmer avec ce nouveau language.
Je ne trouve pas les fonctions qui m'intéresse et dans ce cas se serait "Ouvrir vue" n
J'avais penser à faire une boucle :

n=0;
sub ChangeVue ()
"Open Vue" n;
n=n+1;
If n>=5 then
n=0;
End If
End sub

Qu'est ce que vous en pensez ?
Merci d'avance

Re: Animation automatique Vue

Posté : 03 avr. 2020, 13:43
par dpo
en scada basic
regarde l'instruction window
avec "is_open" tu testes la vue en cours
avec "open" tu ouvres la vue suivante

ou bien tu fais un index géré par ton cyclique et à la fin en fonction de l'index tu ouvres la vue
je ne me souviens si index reste mémorisé entre deux appels, au pire tu passes par une variable interne
ou suivant ton besoin, tu peux aussi récupérer la seconde ou la minute en cours comme test

sub change_vue()

if index>4 then index=0 enf if

if index=0 then window("open","nom_vue0",""); end if
if index=1 then window("open","nom_vue1",""); end if
if index=2 then window("open","nom_vue2",""); end if
if index=3 then window("open","nom_vue3",""); end if
if index=4 then window("open","nom_vue4",""); end if

index=index+1

end sub

Re: Animation automatique Vue

Posté : 06 avr. 2020, 10:21
par Antoine0310
Bonjour,

J'ai l'impression que le cycle tourne dans le vide.
Comment vous faites pour relier cette fonction à la Vue ?

Re: Animation automatique Vue

Posté : 06 avr. 2020, 12:06
par itasoft
slts,
il faut lui dire que INDEX est une variable GLOBALE et appel de sub change_vue() par un bit horloge

Re: Animation automatique Vue

Posté : 07 avr. 2020, 10:06
par Antoine0310
Bonjour,

Désolé je ne comprend pas le dernier message.
Comment créer une variable globale ?
Pourquoi faire un bit horloge alors que l'action Cyclique devrait le faire ?

Re: Animation automatique Vue

Posté : 07 avr. 2020, 10:17
par itasoft
Antoine0310 a écrit : 07 avr. 2020, 10:06 Bonjour,

Désolé je ne comprend pas le dernier message.
Comment créer une variable globale ?
Pourquoi faire un bit horloge alors que l'action Cyclique devrait le faire ?
---------------
quelle est la fréquence de l'action Cyclique ????

Re: Animation automatique Vue

Posté : 07 avr. 2020, 10:21
par Antoine0310
Elle doit appeler la fonction changeVue() toutes les 20sec.

Re: Animation automatique Vue

Posté : 07 avr. 2020, 10:25
par itasoft
Antoine0310 a écrit : 07 avr. 2020, 10:21 Elle doit appeler la fonction changeVue() toutes les 20sec.
-----
OK, dans ce cas c'est bon pour l'action cyclique