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 :

Acquisition des données par port serie [WD17]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 13
    Points
    13
    Par défaut Acquisition des données par port serie
    Salut à tous! je suis entrains de faire une acquisition de donné depuis mon port serie afin de les rangés dans une table; mais j'ai un sourci avec le rangement dans la table.
    elles se range de facon desordonnéé

    voila un exemple de ce qui arrive sur le port serie

    //////////////////////////////////////////////////////////////////////////////////////
    2.50 2.51 2.52 2.53 2.54 2.55 2.56 2.57 2.58 2.59 2.60 2.60 2.61 2.62 2.63 2.64 2.65 2.66 2.67 2.68 2.69 2.70 2.71 2.72 2.73 2.74 2.75 2.76 2.77 2.78 2.79 2.80 2.81 2.82 2.83 2.84 2.85 2.86 2.87 2.88 2.89 2.90 2.91 2.92 2.93 2.94 2.95 2.96 2.97 2.98 2.99 3.00 3.01 3.02 3.03 3.04 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.26 3.27 3.28 3.29 3.30 3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 3.46 3.46 3.47 3.48 3.49 3.50
    /////////////////////////////////////////////////////////////////////////////////////
    en effet se sont des echantions de tension que je preleve depuis un microcontrolleur.
    voici la commande que j'utilise pour enregistrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Nombre = sDansFileEntrée(1)
    gsMessageluEXPRESS = sLit(1, nombre)
     
    	TableAjoute(TABLE_TABLEAU,iEXPRESS + TAB + (iEXPRESS*0.00005392) + TAB + gsMessageluEXPRESS)
     
    	iEXPRESS=iEXPRESS+1
    et voila le result qui es tres desordonné....
    0.18
    2.50
    0.00
    2.52
    2.00
    53.00
    2.54
    2.55
    2.56
    2.57
    2.00
    0.58
    59.00
    0.00
    2.61
    2.62
    0.63
    0.64
    2.65
    2.66
    0.67
    68.00
    9.00
    2.71
    2.00
    72.00
    3.00
    2.70
    5.00
    2.77
    2.00
    78.00
    2.00
    0.79
    80.00
    1.00
    2.83
    2.84
    2.00
    85.00
    6.00

    Merci par avance pour votre aide pour ranger tous ces données dans une seule colonne
    merci...

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Par exemple ... trier la table sur cette colonne
    F1 --> Trier

  3. #3
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour HPascal,
    En générale je suis souvent d'accord avec toi mais là je pense que le problème n'est pas juste un tri de table.

    D'après ce que je comprend il devrait recevoir les données dans un ordre mais lors de l'ajout dans sa table ça pose problème.

    Bonjour patrijuvet,
    Je suppose que pour lire les données de ton port série tu as mis un évènement.
    Ensuite cette évènement lance la procédure que tu as mis en exemple.

    Il faut faire attention avec la lecture des infos sur le port série, car pour moi lors de la lecture d'info à partir d'un lecteur code barre il arrive que les infos soit pas donner dans leur intégralité lors de la lecture mais bien en plusieurs fois

    Peux tu nous dire s'il y a un caractère indiquant le fin de ta donnée d'acquisition.
    Genre un RC après ta valeur ou un espace?
    Ta valeur envoyé fait telle une longueur fixe?

    Ensuite tu nous donne le résultat de ta troisième colonne, peux tu nous donné aussi la première colonne correspondante?

    Si on regarde l'exemple de ce que obtiens on voit bien que les valeurs lu ne le sont pas dans leur totalité.
    dans l'exemple suivant
    2.52
    2.00
    53.00
    ta première valeur est bien 2.52 mais l'autre devrais être 2.53
    hors tu reçoit cette valeur en deux fois 2. puis 53

    Si tu es sur que les valeurs reçut font 4 caractère alors boucle ton slit jusqu'à avoir 4 caractère ou un caractère de contrôle serait le mieux. puis tu fait ton ajout dans ta table.

    En gros il faut que tu analyse ce que tu reçoit pour le décomposer par bloque de valeur
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  4. #4
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Salut mail.spam

    Tu as raison j'ai répondu un peu vite, mais la question ressemblait beaucoup à un simple problème de tri :
    Merci par avance pour votre aide pour ranger tous ces données dans une seule colonne
    Si le problème est autre il faudrait que patrijuvet donne un peu de détail pour qu'on l'aide

  5. #5
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Merci pour vos reponse!
    en fait je suis entrain de faire des acquisitions de donnée depuis un microcontroleur(courant ,tension , température....)qui se charge à son tour de les transmettre à mon port serie t je veux stoker ses donnés dans une table pour faire une representation graphique en fonction du temps.

    le microcontroleur fait une conversion analogique numerique et transmet les donnée au port serie. je les aient limitter à 3 chifrre (2.55 par exemple)

    mon tableau aura 8 colone (col1=indice, col2=temps, col3=V1, col4=v2, col5=v3....
    v1,v2,v3,...v8 sont mes donné qui arrive sur le port serie.
    Mais dans l'exemple que j'ai envoyé je faisai d'abor un test sur une seul colone

    voici mon code source windev complet pour le test sur une seul colone


    arrivé des donnés serie (ceci je lobtient par simulation avec proteus)


    2.50
    2.51
    2.52
    2.53
    2.54
    2.55
    2.56
    2.57
    2.58
    2.59
    2.60
    2.60
    2.61
    2.62
    2.63
    2.64
    2.65
    2.66
    2.67
    2.68
    2.69
    2.70
    2.71
    2.72
    2.73
    2.74
    2.75
    2.76
    2.77
    2.78
    2.79
    2.80
    2.81
    2.82
    2.83
    2.84
    2.85
    2.86
    2.87
    2.88
    2.89
    2.90
    2.91
    2.92
    2.93
    2.94
    2.95
    2.

    resultat de la table dans windev
    N° Temps V1
    0 0 0.00
    1 0.05 2.50
    2 0.1 2.00
    3 0.15 0.51
    4 0.2 2.52
    5 0.25 2.50
    6 0.3 3.00
    7 0.35 0.50
    8 0.4 4.00
    9 0.45 55.00
    10 0.5 0.56
    11 0.55 2.50
    12 0.6 7.00
    13 0.65 2.00
    14 0.7 58.00
    15 0.75 2.00
    16 0.8 0.59
    17 0.85 2.60
    18 0.9 2.60
    19 0.95 0.00
    20 1 2.61
    21 1.05 2.60
    22 1.1 2.00
    23 1.15 63.00
    24 1.2 0.64
    25 1.25 2.65
    26 1.3 2.60
    27 1.35 6.00
    28 1.4 67.00
    29 1.45 0.68
    30 1.5 2.69
    31 1.55 2.70
    32 1.6 0.00
    33 1.65 71.00
    34 1.7 0.72
    35 1.75 2.00
    36 1.8 0.73
    37 1.85 2.74
    38 1.9 2.00
    39 1.95 75.00
    40 2 2.70
    41 2.05 6.00
    42 2.1 2.77
    43 2.15 0.00
    44 2.2 2.00
    45 2.25 0.00
    46 2.3 78.00
    47 2.35 2.70
    48 2.4 9.00
    49 2.45 2.80
    50 2.5 2.00
    51 2.55 0.81
    52 2.6 2.00
    53 2.65 0.00
    54 2.7 82.00
    55 2.75 2.83
    56 2.8 0.00
    57 2.85 2.80
    58 2.9 4.00
    59 2.95 2.00
    60 3 0.00
    61 3.05 85.00
    62 3.1 2.86
    63 3.15 0.00
    64 3.2 2.00
    65 3.25 87.00
    66 3.3 2.88
    67 3.35 0.00
    68 3.4 2.00
    69 3.45 0.00
    70 3.5 89.00
    71 3.55 0.90
    72 3.6 2.00
    73 3.65 0.00
    74 3.7 91.00
    75 3.75 2.92
    76 3.8 2.00
    77 3.85 0.93
    78 3.9 2.00
    79 3.95 0.94
    80 4 2.95
    81 4.05 2.00
    voila le code source windev

    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
    25
    26
    27
    28
    iEXPRESS est un entier
    gsMessageluEXPRESS est une chaîne
    Nombre est un entier
    col1 est un tableau de 100 réels
     
     
    // Ouverture de COM1
    LigneCom1 est un booléen
    Numport est un entier = 1
     
    LigneCom1 = sOuvre(1, 2000, 2000,sTimeoutDéfaut,Vrai)
     
    SI LigneCom1 = Vrai ALORS
     
    	sFixeParamètre(1, 9600, 1, 8, 0)
     
     
    	sEvénement(1,sEveCaractèreReçu,"LectureCaractère")
     
    SINON
    	Erreur("Erreur d'ouverture de COM1")
    FIN
    sFerme(1)
     
     
     
    sFerme(1)
    TableSupprimeTout(matable)

    //
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PROCEDURE LectureCaractère()
     
     
    gsMessageluEXPRESS = sLit(1,4)
     
     
     
    	TableAjoute(matable,iEXPRESS + TAB + (iEXPRESS*0.05) + TAB + gsMessageluEXPRESS)
     
    	iEXPRESS=iEXPRESS+1

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Visiblement tu récupères tes données par morceau mais la coupure peut très bien se faire au milieu d'un nombre et il semble même y avoir des pertes

    Tu reçois par exemple : 2.5. puis 2 puis .51 puis 2.52 puis 2.5 puis 3 etc ...

    ça ressemble beaucoup à ce que disait mail.spam :
    Il faut faire attention avec la lecture des infos sur le port série, car pour moi lors de la lecture d'info à partir d'un lecteur code barre il arrive que les infos soit pas donner dans leur intégralité lors de la lecture mais bien en plusieurs fois

    Peux tu nous dire s'il y a un caractère indiquant le fin de ta donnée d'acquisition.
    Genre un RC après ta valeur ou un espace?
    Ta valeur envoyé fait telle une longueur fixe?
    Avant d'ajouter dans une table tu devrais faire une trace de la valeur reçue, et éventuellement concaténer ça dans une chaîne
    La question de mail.spam concernant les séparateurs et/ou caractères de fin est importante

  7. #7
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 13
    Points
    13
    Par défaut acquisition de donnée RS232 windev
    Merci HPASCAL
    effectivemen MAIL.SPAM m'a compris depuis

    mai moi je n'arrive toujour pa ranger ses donnée.

    j'ai meme modifier mon programme d'aquisition du microcontrolleur pour avoir ceci

    **********************************************************************************************
    Again:

    ' /////////////////////////CONVERSION ///////////////////////////
    V0 = ADIn 0 ' Place the conversion into variable V
    DelayUS 2 ' Wait for 1us
    V1 = ADIn 1 ' Place the conversion into variable V
    DelayUS 2 ' Wait for 1us
    V2 = ADIn 2 ' Place the conversion into variable V
    DelayUS 2 ' Wait for 1us
    V3 = ADIn 3 ' Place the conversion into variable V
    DelayUS 2 ' Wait for 1us
    ' V4 = ADIn 4 ' Place the conversion into variable V


    ' ///////////////////////// ETALLONAGE ///////////////////////////
    tension0= V0*x
    tension1= V1*x
    tension2= V2*x
    tension3= V3*x

    ' ///////////////////////// TRANSMISSION SERIE ///////////////////////////

    HSerOut ["\r T", Dec i,13] 'temps
    HSerOut ["U",Dec i,"=", Dec2 tension0,13] 'acquisition tension1
    HSerOut ["A",Dec i,"=", Dec2 tension1,13] 'acquisition courant
    HSerOut ["T",Dec i,"=", Dec2 tension2,13] 'acquisition temperature
    HSerOut ["V",Dec i,"=", Dec2 tension3,13] 'acquisition tension 2

    DelayUS 1
    i=i+1
    GoTo Again
    **********************************************************************************************
    ( dont a chaque fois que j'envoi une donnée au port serie , je fai un retour chariot (13) )

    RESULTAT


    T0
    U0=2.50
    A0=2.50
    T0=2.50
    V0=2.50

    T1
    U1=2.55
    A1=2.56
    T1=2.53
    V1=2.54

    T2
    U2=2.60
    A2=2.62
    T2=2.57
    V2=2.58

    T3
    U3=2.64
    A3=2.68
    T3=2.60
    V3=2.62

    T4
    U4=2.69
    A4=2.74
    T4=2.64
    V4=2.67

    T5
    U5=2.74
    A5=2.81
    T5=2.68
    V5=2.71

    T6
    U6=2.80
    A6=2.87
    T6=2.72
    V6=2.76

    T7
    U7=2.84
    A7=2.93
    T7=2.76
    V7=2.80

    T8
    U8=2.89
    A8=2.99
    T8=2.80
    V8=2.84

    T9
    U9=2.94
    A9=3.05
    T9=2.83
    V9=2.89

    T10
    U10=2.99
    A10=3.11
    T10=2.87
    V10=2.93

    T11
    U11=3.04
    A11=3.18
    T11=2.91
    V11=2.98

    T12
    U12=3.09
    A12=3.24
    T12=2.95
    V12=3.02

    T13
    U13=3.15
    A13=3.30
    T13=2.99
    V13=3.07

    T14
    U14=3.20
    A14=3.37
    T14=3.03
    V14=3.11

    T15
    U15=3.25
    A15=3.43
    T15=3.06
    V15=3.16

    T16
    U16=3.30
    A16=3.49
    T16=3.10
    V16=3.20
    je vousdrai que windev m'affiche quelque chose come ca dans ma table


    t U A T V

    0 2.50 2.50 2.50 2.50

    1 2.55 2.56 2.53 2.54

    2 2.60 2.62 2.57 2.58

    3 2.64 2.68 2.60 2.62

    4 2.69 2.74 2.64 2.67

    . . . . .

    . . . . .

    n . . . .



    à chaque instant t , chaque donnée correspondante,

    je ne parviens vraiment pas....
    un exemple de code pour la trace et concatener me serai peu etre utile
    Merci...

  8. #8
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    Je ne vois pas où tu bloques car tu as écrits l'ensemble des lignes qui te permet de résoudre ton problème...
    Il suffit que tu affectes chaque résultat à chaque variable, à savoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Tension1 = HSerOut ["U",Dec i,"=", Dec2 tension0,13] 'acquisition tension1
    Courant = HSerOut ["A",Dec i,"=", Dec2 tension1,13] 'acquisition courant
    Temp = HSerOut ["T",Dec i,"=", Dec2 tension2,13] 'acquisition temperature
    Tension 2 = HSerOut ["V",Dec i,"=", Dec2 tension3,13] 'acquisition tension 2
    puis de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAjoute(matable,i + TAB + Tension1+ TAB + Courant+TAB+Temp+TAB+Tension2)
    En revanche, il te faudra peut-être revoir l'affectation des variables...
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

  9. #9
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,
    Son probleme n'est pas l'affectation des variables mais le decoupage lors de la lecture du port serie..
    Lundi je te donnefai un exemple de code
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  10. #10
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    slt EDM-TAHITI !
    je rappel que ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Tension1 = HSerOut ["U",Dec i,"=", Dec2 tension0,13] 'acquisition tension1
    Courant = HSerOut ["A",Dec i,"=", Dec2 tension1,13] 'acquisition courant
    Temp = HSerOut ["T",Dec i,"=", Dec2 tension2,13] 'acquisition temperature
    Tension 2 = HSerOut ["V",Dec i,"=", Dec2 tension3,13] 'acquisition tension 2
    est dans un microcontrolleur relier au port serie de l'ordinateur

    et comment windev doit-il reconaitre ses variables ?
    (tension1,courant,Temp,tension2)??

  11. #11
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Voici un exemple de code, il faudra peut-être l'adapté un peu

    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
    sMessageluEXPRESS est chaîne // il faut le déclarer global au projet
    nPortCom est un entier
    bufPortCom est un Buffer
    nPosCarctèreControle est un entier
     
    bufPortCom = sLit(nPortCom,sDansFileEntrée(nPortCom))
     
    //	On regarde s'il y a le caractère de controle
    nPosCarctèreControle = Position(bufPortCom,Caract(13),1,DepuisDébut)
    SI nPosCarctèreControle > 0 ALORS
    	//	on a bien le carctère de contrôle
    	sMessageluEXPRESS += Gauche(bufPortCom,nPosCarctèreControle)
    	//	on fait l'envoie dans la table
    	TableAjoute(TABLE_TABLEAU,iEXPRESS + TAB + (iEXPRESS*0.00005392) + TAB + gsMessageluEXPRESS)
    	iEXPRESS=iEXPRESS+1
    	//	on vide le message lu
    	sMessageluEXPRESS = ""
    	//	on mémorise s'il y a eu d'autre caractère dans le buffer du port com
    	SI SansEspace(Droite(bufPortCom,nPosCarctèreControle+1)) <> "" ALORS
    		sMessageluEXPRESS = Droite(bufPortCom,nPosCarctèreControle+1)
    	FIN
    SINON
    	sMessageluEXPRESS += bufPortCom
    FIN
    il faut surtout penser à mettre la variable "sMessageluEXPRESS" en global au projet.

    Une autre solution est de faire une lecture en boucle du port com jusqu'à avoir ton caractère de contrôle.

    Cette exemple de code devrais marché pour ta première demande.

    Par contre dans la suite de tes messages si j'ai compris ton port com va avoir comme info.

    "caractère(13)T0U0=2.50A0=2.50T0=2.50V0=2.50"

    Il faudra peut-être revoir la façon dont tu envoie tes infos afin de mieux les traiter.
    Moi je verrai un truc du genre
    "T0;U=2.50;A=2.50;T=2.50;V=2.50caractère(13)"

    Ainsi lors de la lecture du port com tu vérifie la présence du carctère(13)
    puis tu décompose ta valeur lue en fonction des ;
    Ainsi tu obtient chaque valeur que tu peux traité. (et dans ce cas mon code marchera mieux.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  12. #12
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    slt!
    merci Sylvain pour ta contribution;
    ca l'air de marcher,mais pratiquement ca cloche, et quant j'analyse le problem se posse au niveau du reste de caractere dans le buffet.

    je pense qu'il fau encor regarder la sauvegade du reste de caractere dans le buffer....
    merci........

  13. #13
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Citation Envoyé par patrijuvet Voir le message
    slt!
    merci Sylvain pour ta contribution;
    ca l'air de marcher,mais pratiquement ca cloche, et quant j'analyse le problem se posse au niveau du reste de caractere dans le buffet.

    je pense qu'il fau encor regarder la sauvegade du reste de caractere dans le buffer....
    merci........
    Je t'ai donner les bases c'est à toi de chercher un peu plus..
    Et puis si tu ne donne pas d'exemple de ce que ça fait ça va pas être pratique.

    Le problème viens de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sMessageluEXPRESS = Droite(bufPortCom,nPosCarctèreControle+1)
    Je me suis trompé dans l'affectation du reste.
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sMessageluEXPRESS = sMessageluEXPRESS[[nPosCarctèreControle +1 A ]]
    Edit : je t'ai moinsser car si tu avais fait un débuggage pas à pas tu aurais trouver l'erreur et aussi la solution.
    Et aussi pour les fautes de rappes. (même si moi aussi j'en fait beaucoup)
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

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

Discussions similaires

  1. Acquisition de données par ports USB
    Par anezvox1 dans le forum Général Java
    Réponses: 0
    Dernier message: 07/01/2015, 00h03
  2. (Labview) acquisition de données par port COM d'un ordi
    Par howtosayhello dans le forum LabVIEW
    Réponses: 0
    Dernier message: 01/09/2010, 23h52
  3. [RS232] Procédure d'acquisition de données sur port serie
    Par kazaboua dans le forum Composants
    Réponses: 6
    Dernier message: 12/05/2007, 11h55
  4. Acquisition de donnée par port USB
    Par leskev dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/01/2007, 18h30
  5. acquisition des données sur port ethernet
    Par HELPME42 dans le forum Développement
    Réponses: 3
    Dernier message: 25/05/2006, 15h48

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