Scada basic

poupou2030 Messages postés 8 Statut Membre -  
poupou2030 Messages postés 8 Statut Membre -
Salut,
Je n'arrive pas à exécuter les programme sous Pcvue, je ne vois pas d'où viens le problème
dans mon synoptique j'ai deux textes apparence relief pour afficher les mesures: 1. M
et le 2. M2
j'ai essayé un programme simple :

sub main()
end sub

sub b1()
@M2=@M2+1; M2=> mesure
@M=0; M=>Chrono
end sub
je ne sais si le programme s'exécute automatiquement ou pas
et pour mon code je ne suis pas sur si on peut l'écrire comme sa.

merciii d'avance pour votre aide

1 réponse

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Un main() sans commande à l'intérieur ne sert à rien. Si le programme se lance par le main(), il ne se passera rien.

    Pour lancer la procédure b1() depuis le main()

    Sub main() 
         b1
    End Sub

    0
    1. poupou2030 Messages postés 8 Statut Membre
       
      Bonjour,
      Okey, Merci pour votre réponse
      j'ai essayer un autre programme, remplir une cuve n°1 ensuite remplir une autre a partir de la première. j'ai eu un problème avec la vanne, elle reste invalide lors de l'exécution du programme.
      pour la vanne: ALARME: défaut_vanne et STATUS: cde_vanne
      voilà le programme:


      sub main()

      'Mise en marche

      if (@Cde_marche_C1==1) then 'bouton commande état
      @RM_C1=1; 'remplissage cuve 1
      end if

      'pilotage des niveaux

      if (@RM_P1==1) then
      if (@CdeVanne1==1) then 'commande vanne1
      @Niv_cuve2=@Niv_cuve2+30; 'niveau cuve2
      @Niv_Cuve1=@Niv_Cuve1-30;
      end if
      end if

      'arret sur niveau haut

      if (@Niv_cuve2>=1000 ) then
      @Cde_marche_C1=0;
      @RM_C1=0;
      end if

      'remplissage cuve 1

      if(@Rempl_cuve1==1) then
      @Niv_Cuve1=@Niv_Cuve1+100;
      end if

      'arret remplissage cuve 1

      if(@Niv_Cuve1>=6000) then
      @Rempl_cuve1=0;
      end if

      'niveau bas cuve

      if (@Niv_Cuve1<=200)then
      @defaut_rempl=1; 'alarme
      else
      @defaut_rempl=0;
      end if

      'ouverture vanne sur niveau bas

      if (@Niv_cuve2<=10) then
      @CdeVanne1=1;
      @Cde_marche_P1=1;
      'else
      if (@Niv_cuve2>=@consigne_cuve2) then 'consigne à 300
      @CdeVanne1=0;
      'end if
      'end if
      else
      @CdeVanne1=0;
      end if
      end if



      'arret pompe sur vannes fermées

      if (@CdeVanne1==0 ) then
      @Cde_marche_P1=0;
      @RM_P1=0;

      end if
      end sub

      A+
      0