PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → AIDE SUR LES PONTS BASCULES
AIDE SUR LES PONTS BASCULES
Iniciado por DEV MARCEL, 27,sep. 2022 18:33 - 1 respuesta
Miembro registrado
3 mensajes
Publicado el 27,septiembre 2022 - 18:33
Bonjour famille je voulais afficher le poids des marchandises sur une bascule mais ça ne s'affiche pas d'abord qui pourrait m'aider voici le code : bufFer est un Buffer =""
Résultat est un booléen
Résultat = sOuvre(1, 2000, 2000)
SI Résultat = Vrai ALORS
//parametrage de com1 + emmission de la trame modbus"01 03 00 01 00 01 D5 CA"
sFixeParamètre(1, 7200, 1, 8, 0) //1, 19200, 0, 8, 0
sEcrit(1,Caract(0x01)+Caract(0x03)+Caract(0x00)+Caract(0x01)+Caract(0x00)+Caract(0x01)+Caract(0xD5)+Caract(0xCA))

//attente de 10 ms
Multitâche(10)
//lecture du buffer port com1
B est un Buffer
B = sLit(1,sDansFileEntrée(1))
SAI_Buffer = B //<------------------------affchage de la trame reçu ( ,)

//concaténation des chaines tirées des bytes reçus
SAI_Representation = B[[1]]+B[[2]]+B[[3]]+B[[4]]+B[[5]]+B[[6]]+B[[7]] //<--------------- affichage (¶;Â)

SAI_Poids_de_la_pesée = Val(SAI_Representation,"X") //<------------la valeur de la chaine sai_representation en hexadécimale affichage "0"

//vérification de la longueur de la trame

SAI_Taille=Taille(B) //<------------------------affichage "7"

sFerme(1)

SINON
Erreur("Erreur d'ouverture du port de la bascule !")
FIN
Miembro registrado
3.883 mensajes
Popularité : +227 (347 votes)
Publicado el 27,septiembre 2022 - 21:14
Bonjour,
Dans un premier temps pour indiquer au compilateur que l'on travaille en hexa, la totalité du nombre peut être traitée d'un coup
dans ton cas :
sEcrit(1,Caract(0x01)+Caract(0x03)+Caract(0x00)+Caract(0x01)+Caract(0x00)+Caract(0x01)+Caract(0xD5)+Caract(0xCA))

est équivalent à
sEcrit(1,0x010300010001D5CA)

ça, c'est pour alléger le code.

Dans un deuxième temps, il est préférable d'utiliser le code suivant:
sEcrit(1,0x010300010001D5CA)
BOUCLE
SI sDansFileSortie(1) = 0 ALORS SORTIR
FIN
ToastAffiche("Trame envoyée")

Plutôt que "Multitache" on est sûr que tou est bien parti.

Enfin il est normal que la taille soit 7, tu ne lis que les 7 premiers caractères.

Dans ton prochain post pense aussi à utiliser les balises, pour indiquer le code (le bouton à gauche au-dessus de la zone de texte)

--
Il y a peut être plus simple, mais, ça tourne