PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Lecture port COM pour indicateur de pesée ARPEGE MASTERK IDé 400
Lecture port COM pour indicateur de pesée ARPEGE MASTERK IDé 400
Débuté par BYADODE, 11 oct. 2021 21:59 - 4 réponses
Membre enregistré
3 messages
Posté le 11 octobre 2021 - 21:59
Chers tous,
Je suis confronté à un problème. Je réussi d'habitude à faire la lecture d'une trame sur port COM des indicateurs de pesée. Mais là je suis confronté à un soucis. J'ai un indicateur ARPEGE MASTERK IDé 400.
Je développe avec WD20.
L'ouverture du port COM avec la fonction sOuvre et le paramétrage avec la fonction sFixeParamètre se déroulent bien mais la lecture des octets du buffer d'entrée du port ne renvoie aucune valeur.

NB : Le paramétrage du COM de l'indicateur ARPEGE MASTERK IDé 400 est bien 9600 8 N 1
Je suis sur un projet et ça coince. Si quelqu'un a déjà utilisé cet indicateur de pesée sur un projet, son aide est la bien venue.
Vraiment besoin d'aide et merci

Voici le code que j'ai l'habitude d'utiliser pour la lecture du port COM et récupérer la trame :
//=========================
eVitesse, eParite, eBitDonnee, eBitStop, eDurée sont des entiers
bDTR, bRTS, bXON sont des booléens
//format est un buffer
//nOctects est un entier

ePort est un entier // numero du port
nOctets est un entier // nombre d'octet à recuperer dans le buffer d'entrée du port
nTrame est un chaîne // valeur de la trame

sFerme(ePort)

eVitesse = 9600 // Vitesse de transmission
eParite = 0 // 0 : Pas de parité, 1 : Parité paire, 2 : Parité impaire
eBitDonnee = 8 // Nombre de bits par caractère (4, 5, 6, 7 ou 8
eBitStop = 0 // 0 = 1 bit de stop, 1 = 1.5 bit de stop, 2 = 2 bits de stop
eDurée = 5000
bDTR = Faux
bRTS = Faux
bXON = Faux

SI sOuvre(ePort, 1200, 1200, 20000, Vrai)=Vrai ALORS
SI sFixeParamètre(ePort, eVitesse, eParite, eBitDonnee, eBitStop, bDTR , bRTS , bXON)=Vrai ALORS
nOctets = sDansFileEntrée(ePort)
nTrame = sLit(ePort,nOctets)
Info("Trame : " +nTrame)
SINON
Erreur("Erreur paramétrage port COM")
FIN
SINON
Erreur("Erreur d'ouverture du Port ")
FIN


--
BYADODE
Membre enregistré
3 844 messages
Popularité : +227 (347 votes)
Posté le 12 octobre 2021 - 13:42
Bonjour,
BYADODE a écrit :
Voici le code que j'ai l'habitude d'utiliser pour la lecture du port COM et récupérer la trame :

J'ai parcouru la doc en ligne (je n'ai pas téléchargé la doc complète).
A priori, l'appareil peut envoyer plusieurs type d'informations.
Ne doit tu pas lui demander ce qu'il doit renvoyer ? Donc dans ce cas, avant de lire il faut écrire.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
3 messages
Posté le 13 octobre 2021 - 11:17
Bonjour Voroltinquo,
Oui effectivement l'appareil utilise le protocole ERIC. Il peut envoyer plusieurs types d'infos. On doit lui envoyer la commande souhaitée.
Mais peux tu me donner le lien pour la doc en ligne? Je vais télécharger et bien lire.
Merci d'avance

--
BYADODE
Membre enregistré
3 844 messages
Popularité : +227 (347 votes)
Posté le 13 octobre 2021 - 11:51
https://www.masterk.fr/produit/ide-400-pont-bascule-numerique/
Il faut aller sur le lien qui va bien et donner nom email etc..

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
3 messages
Posté le 17 octobre 2021 - 00:25
Bonsoir,
J'ai finalement compris que l'indicateur IDE400 envoi des informations à la demande. Il suffit d'écrire sur dans le buffer de sortie du port série la commande appropriée.
trame est une chaîne
sEcrit(Numport, commmande) // commande peut être = I, B, etc suivi du numéro de station (numéro IDE)
BOUCLE
SI sDansFileSortie(numport) = 0 ALORS SORTIR
FIN
trame = sLit(numport, sDansFileEntrée(numport))


Merci

--
BYADODE