probleme avec plusieurs rs232 (com)
Utilisateur WDF
Inscrit:
19/04/2006 18:20
Post(s): 63
Le contexte est le suivant, Dans une fenetre il ya 2 table

La premiere table m'instruit sur la presence des com sur la machine existant
Dans le le cas present,

com1 non fonctionnel
com2 non fonctionnel
com3 operationnel
com4 operationnel

La deuxieme table est la lecture sur mes com et l'ajout des donees dans la table2

Mes lecteurs sont 2 lecteurs de barre code, et il lise les memes type de barrecode

Ce que je veux faire, c'est de lire a partir de l'une ou l'autre de mes lecteurs, sur les com qui seront ouverts
dans le cas present com3 et com4 et inscrire le resultat dans la table2

J'obtiens presentement que des lectures sur le com4 ,qui est le derniers com ouverts

Voici les code de ma fenetre
// ****** Déclaration global de la fenetre ****
nCom1 est un entier = 1
nCom2 est un entier = 2
nCom3 est un entier = 3
nCom4 est un entier = 4
gnScan est un entier = 0

// Verification des rs232(com) sur la machine et ajout de l'information dans la première table
// fixe les parametre des ports ouverts
// installe les sEvénement

SI sOuvre(nCom1,5000,5000,sTimeoutDéfaut,Vrai)= Faux ALORS //port ouvert en mode evenementiel
TableAjoute(Table,"Com non fonctionnel " + nCom1)
// Erreur("Erreur lors de l'ouverture du Comrt "+nCom1)
// Ferme()
SINON
sFixeParamètre(nCom1, 9600, 1, 8, 0)
TableAjoute(Table,"Com " + nCom1)
gnScan = nCom1
sEvénement(nCom1,sEveCaractèreReçu,SRECEPTION2)

FIN
SI sOuvre(nCom2,5000,5000,sTimeoutDéfaut,Vrai)= Faux ALORS //port ouvert en mode evenementiel
TableAjoute(Table,"Com non fonctionnel " + nCom2)
// Erreur("Erreur lors de l'ouverture du Comrt "+nCom2)

SINON
sFixeParamètre(nCom2, 9600, 1, 8, 0)
TableAjoute(Table,"Com " + nCom2)
gnScan = nCom2
sEvénement(nCom2,sEveCaractèreReçu,SRECEPTION2)

FIN
SI sOuvre(nCom3,5000,5000,sTimeoutDéfaut,Vrai)= Faux ALORS //port ouvert en mode evenementiel
TableAjoute(Table,"Com non fonctionnel " + nCom3)
// Erreur("Erreur lors de l'ouverture du Comrt "+nCom3)

SINON //FIN
sFixeParamètre(nCom3, 9600, 1, 8, 0)
TableAjoute(Table,"Com " + nCom3)
gnScan = nCom3
sEvénement(nCom3,sEveCaractèreReçu,SRECEPTION2)

FIN
SI sOuvre(nCom4,5000,5000,sTimeoutDéfaut,Vrai)= Faux ALORS //port ouvert en mode evenementiel
TableAjoute(Table,"Com non fonctionnel " + nCom4)
// Erreur("Erreur lors de l'ouverture du Comrt "+nCom4)

SINON //FIN
sFixeParamètre(nCom4, 9600, 1, 8, 0)
TableAjoute(Table,"Com " + nCom4)
gnScan = nCom4
sEvénement(nCom4,sEveCaractèreReçu,SRECEPTION2)

FIN
// ************************************************************************

// fermeture de la fenetre

sFerme(1)
sFerme(2)
sFerme(3)
sFerme(4)
//sFinEvénement(nCom1)
//sFinEvénement(nCom2)
//sFinEvénement(nCom3)
//sFinEvénement(nCom4)

Ferme ()

// **************************************************************************


// lecture du buffers et ajout de l'information dans la table2 a chaque lecture
PROCEDURE SRECEPTION2(nCom1)

wtaille est un entier
sBuffer est une chaîne
FlagOK est un booléen
carstop est une chaîne
carstop=RC

//Fintimer(1)
wtaille=sDansFileEntrée(nCom1)
FlagOK=Faux

// Lecture des informations sur le port série en fonction de la condition d'arrêt
SI wtaille<>0 ALORS
sBuffer=""
TANTQUE PAS FlagOK
sBuffer=sBuffer+sLit(gnScan,1)
SI Droite(sBuffer,Taille(carstop))=carstop ALORS

Trace(sBuffer,wtaille,sDansFileEntrée(nCom1))

TableAjoute(TABLE2, "Com " + gnScan + TAB + sBuffer )
FlagOK=Vrai
FIN
FIN
FIN

// Traitement des informations lues sur le port série
SI FlagOK ALORS

FIN
// ************************************************************

Merci a l'avance de l'aide

Contribution le : 19/01/2011 17:12
Créer un fichier PDF de la contribution Imprimer


Re: probleme avec plusieurs rs232 (com)
ChefDeProjet WDF
Inscrit:
02/06/2003 13:49
Post(s): 151
j'utilise depuis plusieurs années plusieurs com en meme temps sur un logiciel windev

comment puis je t'aider


merci de faire plus simple

Contribution le : 20/01/2011 00:57
Créer un fichier PDF de la contribution Imprimer


Re: probleme avec plusieurs rs232 (com)
Utilisateur WDF
Inscrit:
19/04/2006 18:20
Post(s): 63
je veux lire le com3 et le com4 a l'aide de 2 lecteur codebarre ub fixe et l'autre mibile et inscrire le resultat dans une table

tout simplement


je n'ai pas de probleme a lire sur un com ou l'autre com
mais quand je les assemble ,je ne peux que lire q'un seul



comme tu constatera dans le code ci-dessus , j'utilise le
sEvenement, peut etre que je l'emploi mal

Contribution le : 20/01/2011 04:32
Créer un fichier PDF de la contribution Imprimer


Re: probleme avec plusieurs rs232 (com)
ChefDeProjet WDF
Inscrit:
02/06/2003 13:49
Post(s): 151
voici une bride de code develloppé il y a des années qui
fct bien


NumSeriedouchette=ProcInitSeriedouchette()

....

SI NumSerieDouchette>0 ALORS NumTimerDouchette=TimerSys(ProcTestDouchette,50)

...


PROCEDURE ProcTestDouchette()

LOCAL
Buffer1 est un entier

// Affiche l'heure
LIBHEURE..Libellé=Gauche(HeureVersChaîne(HeureSys()),8)

// Lit si il y eu réception donnée sur le port série
Buffer1=sDansFileEntrée(NumSerieDouchette)
SI Buffer1=0 ALORS RETOUR

// Test l’existence du champs
SI ChampExiste("GENCODE")=Faux ALORS RETOUR

// Vérin si les fenêtres appelante gère le gencode
SI PAS FenEnCours()="FGESTION" ALORS RETOUR

LOCAL
Buffer2 est un entier
NbEssais,PositionC est un entier sans signe
ChaineReçue est une chaîne


BOUCLE
NbEssais++
// Temporisation
Multitâche(5)
Buffer2=sDansFileEntrée(NumSerieDouchette)
SI Buffer1=Buffer2 ALORS SORTIR
Buffer1=Buffer2
SI NbEssais=10 ALORS SORTIR
FIN

// Lit les caractères du buffer
ChaineReçue=sLit(NumSerieDouchette,Buffer1)

// Supprime le premier caractere
ChaineReçue=Milieu(ChaineReçue,DepartGencode)

//Recupe premier code barre
PositionC=Position(ChaineReçue,Caract(13))
SI PositionC>0 ALORS ChaineReçue=Milieu(ChaineReçue,1,PositionC-1)

// envoi le resultat sur le champ correspondant
SI PAS ChaineReçue="" ALORS
// Chaine recu est un gencode
ModifVente=Faux
FGESTION.GENCODE=ChaineReçue
ExécuteTraitement(FGESTION.BTNRCHPRODUIT,trtClic)
FIN




..................................................
a toi de faire ta mayonnaise
avec les tymersys et un petit test tu metrises l'evenement


salut

Contribution le : 20/01/2011 08:26
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2