IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

[PCvue / Scada Basic] Vérification programme


Sujet :

Automation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut [PCvue / Scada Basic] Vérification programme
    Bonjour,

    Je débute totalement en BASIC et d'après ce que j'ai compris, le Scada BASIC de PCvue est un peu différence du BASIC.
    Je dois réaliser dans le cadre d'un stage une petit modification sur un synoptique, et j'ai besoin pour ceci de passer par un calcul très simple.

    Ce que je souhaite faire, c'est faire le rapport de deux valeurs, le comparer avec un rapport "consigne" et modifier deux bit pour les exploiter ensuite sur le synoptique (affichage d'information suivant l'état des bits).

    Pouvez vous m'indiquer si ce code est correct (syntaxe, structure ....) ?
    Merci d'avance pour ceux qui prendront le temps de m'aider !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    sub main ()
    'Déclaration des variables
    	dim a as double ;
    	dim b as double ;
    	dim c as double ;
    'Calcul des rapports "min et max" consigne
    	a=3-0.05 ;
    	b=3+0.05 ;
    'Calcul du rapport entre les deux variables
    	c=@MA.VARIABLE.1/@MA.VARIABLE.2 ;
    'Comparaison du rapport mesuré et des consignes (a et b)
    'et mise à 0 ou 1 des variables de "commande" sur le synoptique
    	if (c>b) then
    		@MA.VARIABLE.SYNOPTIQUE.1=1 ;
    	else
    		@MA.VARIABLE.SYNOPTIQUE.1=0 ;
    	end if
    
    	if (c<a) then
    		@MA.VARIABLE.SYNOPTIQUE.2=1 ;
    	else
    		@MA.VARIABLE.SYNOPTIQUE.2=0 ;
    	end if
    end sub

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 20
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    La syntaxe est bonne, rien à y redire.

    Maintenant comme je le dis toujours, les plus à mêmes de répondre à ce genre de question, ça reste leur support technique: support@arcinfo.com

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 90
    Points : 126
    Points
    126
    Par défaut
    Hello,

    faire gaffe à la division entre @MA.VARIABLE.1 et @MA.VARIABLE.2, il faut éviter une division par 0;

    concernant le nommage des variables, les noms a, b et c sont voulus (définis dans une formule, ou autre) ?
    Pour la lisibilité du code (et donc sa maintenabilité), des noms plus expressifs seraient appréciables, par exemple:
    a deviendrait limite_min;
    b deviendrait limite_max;
    c deviendrait rapport_consignes;

    même remarque pour les variables de la base de données: @MA.VARIABLE.SYNOPTIQUE.1 n'est pas très parlant... En règle générale, on se fiche de savoir si une variable est utilisée sur un synoptique, dans un programme ou ailleurs, c'est son rôle (l'information qu'elle porte) qui nous sert.

    En espérant avoir été utile,

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    faire gaffe à la division entre @MA.VARIABLE.1 et @MA.VARIABLE.2, il faut éviter une division par 0;
    Il ne devrait jamais y avoir ce cas là. La variable 2 ne sera jamais égale à 0.

    concernant le nommage des variables, les noms a, b et c sont voulus (définis dans une formule, ou autre) ?
    Pour la lisibilité du code (et donc sa maintenabilité), des noms plus expressifs seraient appréciables, par exemple:
    a deviendrait limite_min;
    b deviendrait limite_max;
    c deviendrait rapport_consignes;

    même remarque pour les variables de la base de données: @MA.VARIABLE.SYNOPTIQUE.1 n'est pas très parlant... En règle générale, on se fiche de savoir si une variable est utilisée sur un synoptique, dans un programme ou ailleurs, c'est son rôle (l'information qu'elle porte) qui nous sert.
    J'ai mis ces mnémoniques pour plus de compréhension sur le post.
    Les variables de la base de données ont des noms à rallonge, c'est pour cela que je les ai simplifié, et même chose pour les variables du programme.
    Merci tout de même Poil_dur !


    @ belsion
    Merci pour l'info ! Je les contacterais si besoin !

    Les fonctions de SCADA Basic sont elles les mêmes que pour du Basic standard ? Sinon, savez vous ou trouver de la doc sur ce langage ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 20
    Points : 34
    Points
    34
    Par défaut
    F1 depuis l'éditeur de programme

    Et non, on ne retrouve pas du tout les mêmes instructions qu'en Basic. On retrouve notamment qui sont très orientées vers les fonctionnalités du produits (manipulations d'alarmes, de variables, des historiques, des fenêtres de tendances, ...). Il y a certes des ressemblances,c'est vraiment un langage à part.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Je testerais donc ce petit programme dès mercredi matin !
    Si j'ai besoin d'un autre coup de pouce je ferais probablement appel à vous !

    Merci !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Bon il fonctionne à merveille !

    Par contre, pas d'aide depuis l'éditeur de programmes.

    Donc je suis dans le flou total concernant les fonctions dispo.
    Je vais envoyer un mail, mais si quelqu'un à de la doc qui traîne, je suis preneur !

    J'ai un deuxième soucis par contre, c'est pour exécuter le programme automatiquement.
    J'ai rajouter la ligne de programme "preload" dans mon programme INI.
    Je l'ai rajouté dans le menu d'exécution automatique (ex toutes les 5s).

    Lorsque je démarre mon projet, il se charge bien, il s'exécute bien toutes les 5s, mais il reste en défaut (variables en défaut).
    Lorsque je le charge et l'exécute manuellement, tout fonctionne correctement ! Le synoptique utilisant les variables fonctionne parfaitement.

    Quelqu'un aurait un complément d'informations concernant la procédure pour qu'un programme s'exécute correctement ?

    Merci pour vos infos !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 20
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Si l'aide n'est pas dispo depuis l'éditeur de programme, c'est que tu dois être sur une version beta ou core (d'ailleurs tu es dans quelle version ? L'éditeur a changé il y a quelques temps)... Pas de miracle, si tu veux y avoir accès, soit tu demandes à tes collègues une version release avec l'aide, soit tu contact la hotline.
    Un autre moyen d'accéder à l'aide de PcVue, c'est directement depuis le menu "Démarrer", l'aide est aussi accessible dans le sous-menu qui va bien.


    Sinon pour ton problème, là c'est moi qui suis dans le flou !

    Donc tu charge un programme au démarrage de ton projet (le programme INI si je comprends bien).
    Dans ce programme, tu dois avoir une fonction Main() qui charge tes autres programmes.
    A côté de ça tu as une action cyclique à 5s qui exécute ta fonction.

    Pour pouvoir aller plus loin, tu peux toujours nous donner les programmes en questions pour qu'on y voit plus clair.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé.

    En fait dans le paramétrage des actions cycliques, j'appelle le programme précédemment chargé (par INI), et il y a un champs "fonction". J'ai pris ce champ pour une indication, un commentaire et j'ai donc mis le "but" de mon programme.
    Erreur, ce champ sert à appeler une fonction interne au programme.
    Tout fonctionne correctement à présent ! =)

    Je suis sur une vieille version (7.2).
    Je vais également devoir upgrader le serveur (Xp Sp1 à 7) et PcVue.

    J'ai donc contacter le service client pour qu'il me fournissent la doc de la v7.2 ainsi que celle de la dernière version.
    J'ai par ailleurs été surpris d'avoir une réponse me demandant plus de détails sur mes coordonnées pour être contacté par téléphone en moins d'une paire d'heures.

    Merci à tous, et spécialement à toi Belsion !
    A bientôt !

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut pcvue et et 200s
    bonjour ,comment on établie la communication entre pcvue 10.0 et siemens et 200s merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SCADA Basic PcVue
    Par ajunata dans le forum Automation
    Réponses: 1
    Dernier message: 18/03/2014, 10h06
  2. SCADA Basic PcVue
    Par ajunata dans le forum Général VBA
    Réponses: 1
    Dernier message: 10/03/2014, 13h22
  3. Difficultés utilisation SCADA Basic (PCvue 9)
    Par Nicodu2929 dans le forum Automation
    Réponses: 4
    Dernier message: 10/01/2014, 06h29
  4. [SCADA Basic] PCVUE
    Par Hurricane71 dans le forum Basic
    Réponses: 4
    Dernier message: 01/10/2013, 20h03
  5. [PcVue / Scada Basic] Programme PcVue
    Par Stark54 dans le forum Basic
    Réponses: 2
    Dernier message: 30/05/2013, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo