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

WinDev Discussion :

afficher le poids d'un indicateur de pesage [WD9]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut afficher le poids d'un indicateur de pesage
    Bonjour à tous,
    Je suis débutant en Windev9 et je dois afficher le poids (en KG ou Tonnes) dans un champ de saisie et je bute sur la conversion de cette trame en valeur numérique. Voici mon code ‘il fonctionne bien mis à part la conversion de la trame en valeur numérique (poids).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Résultat est un booléen
    Résultat = sOuvre(1,200,200,sTimeoutDéfaut)
    SI Résultat = Vrai ALORS
     
    sFixeParamètre(1, 1200, 1, 8,0)
    sEcrit(1,Caract(0x24))
     
     
     
    Multitache(50)
     
    Bf est un Buffer
    Bf=sLit(1,sDansFileEntrée(1))
    SAI_Digit=Bf // Voici la trame affichée « P$ )‚¹0Mø ».pour une un certain poids
    Ma question est : Comment convertir cette trame en valeur numérique pour afficher le poids correspondant ? Merci pour toute aide.

    TRACE de POIDS (de l’indicateur en question)

    Trace STX Etat Poids CR

    N° Bytes 1 1 8 1
    Exemple Hexa 02 41 20 20 20 32 2E 30 30 30 0D

    Exemple ASCII STX A 2 . 0 0 0 CR

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Dans un premier temps, as-tu tester ta commande avec un programme de com genre hyperterminal? Les données reçues ressemblent à de mauvais paramètres de com.

  3. #3
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Bonjour,
    Non, mais les données sont bonnes et varient suivant le poids. Ce que je cherche, c'est comment convertir cette chaine de caractères en valeur numérique (chiffre décimales)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    C'est toi qui voit!
    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
    sPoids est une chaîne = ""
    rValPoids est un réel = 0
    Résultat est un booléen
    Bf est un Buffer
    
    Résultat = sOuvre(1,200,200,sTimeoutDéfaut)
    SI Résultat = Vrai ALORS
    sFixeParamètre(1, 1200, 1, 8,0)
    sEcrit(1,Caract(0x24))
    FIN
    
    Multitache(50)
    
    Bf=sLit(1,sDansFileEntrée(1)) //Tester la taille de la chaine reçue voir boucler pour obtenir une trame complète
    
    sPoids = Milieu(Bf,3, 5)
    rValPoids  = Arrondi(Val(mPoids), 3) //je m'appuie sur la trame théorique et non sur ce que tu as reçu
    
    SAI_Digit=rValPoids

  5. #5
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    MERCI Fucce, je vais essayer ton code et te tiendrai aucourant.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    De rien mais je ne pense pas que cela va résoudre ton pb!

  7. #7
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Toujour rien, mais lorque j'essaye le même montage avec un autre logicel, il donne le poids exact. Ou est le problème ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    quel autre logiciel? Pourquoi ne veux-tu pas tester avec un logiciel de com?

  9. #9
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Normalement tu as l'explication de tout ça dans la doc de ton instrument de pesée.

    Ensuite tu nous as donné un resultat en exemple. Bien mais il correspond a quel poids ?

  10. #10
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Bonjour Patrick,
    c'est l'exemple de la Trace de poids donné par le constructeur. Moi je cherche comment convertir et afficher la trame reçu en valeur décimale(poids en Kg par exemple)

    Fucce, C'est un logiciel de pesage(Winpont). Mais comment dois-je essayer avec un autre com ?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Pour moi, tu ouvres Hyperterminal, tu configures ton port de COM1 en 1200bps, Pair, 8bits, 1stop.
    Tu écris $ (0x24) et tu vois la réponse.
    Quels sont les caractéristiques de ta balance? Au moins le marque...

  12. #12
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Fucce, ton code fonctionne très bien, avec seuleument un petit changement (sPoids = Milieu(Bf,4,10). Maintenant, comment puis-je avoir l'affichage du poids en continu ? (sans clic sur le bouton de validation)

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Cela dépend de ta balance : si tu peux la passer en mode maître, tu vas lire ce qu'elle t'envoie tout le temps sinon un thread avec une procédure qui fait une demande et qui lit le résultat.
    Au fait, c'était quoi le problème?

  14. #14
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    pour mon code, je ne sais pas encore ce qui cloche, mais avec ton code, ça marche très bien. Comment dois-je ce un thread avec une procédure ? Merci pour ton aide (l'indicateur : EPELSA BC 60)

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Chez moi (version XII), je crée une procédure locale que j'appelle selon un intervalle. Dans ta version, je te conseille de rechercher dans la doc la fonction TimerSys()

  16. #16
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    meci de ton conseil,je vais chercher .

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Recup données Balance
    Bonjour
    Les données que tu recoit sont en HEXADECIMAL
    tu doit les convertir en decimal pour pouvoir les lire et les afficher dans un champ numérique

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

Discussions similaires

  1. [WD17] Connexion réseau entre windev et indicateur de pesage
    Par karim15 dans le forum WinDev
    Réponses: 1
    Dernier message: 31/10/2014, 16h49
  2. afficher le poids d'un indicateur de pesage
    Par mirip dans le forum WinDev
    Réponses: 6
    Dernier message: 23/06/2009, 16h30
  3. [MySQL] Récupérer et afficher le poids occupé par une base de données MySQL
    Par raffa dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/10/2008, 16h24
  4. [Bo 5.1.8]Indicateurs ne s'affichent pas
    Par ninou58 dans le forum Deski
    Réponses: 4
    Dernier message: 19/06/2008, 08h52

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