begin process at 2012 02 08 06:12:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Process

 > 

IHM + RS232


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

IHM + RS232

jeudi 4 septembre 2008 à 17:53:12 | IHM + RS232

sebome

Bonjour à tous,

J'ai une petite question concernant l'architecture d'un logiciel.

Dans mon logiciel, je lis des trames sur le port RS232 et j'affiche les données sur une IHM (sous forme de LED pour des etats binaires, ou dans un tableau et possible aussi d'afficher des courbes).
La lecture sur le port série se fait dans un thread lancer par la partie IHM.
Mon problème et que lorsque je reçois des trames trop regulierement (toutes les 10 ms environ), l'affichage des données sur l'IHM fait ramer le logiciel.

Je cherche une idée pour séparer la partie lecture et decodage des trames rs232 de la partie IHM.

Auriez vous une idée à me proposer (je suis developpeur amateur)?

Sébome
jeudi 4 septembre 2008 à 18:13:05 | Re : IHM + RS232

leprov

Réponse acceptée !
Plusieurs choses :
1 - Pas besoin de lancer un thread. Juste besoin de t'abonner a SeriaPort.DataReceived (si ca correspond a ton besoin). Cette méthode s'execute dans le threadpool sans que tu aies besoin d'intervenir a ce niveau.
2 - toutes les 10ms, si tu rame, cest pas une question de threading ou d'IHM, cest juste que ton traitement est trop long/lent (surtout si tu es déjà dans un thread à part)
jeudi 4 septembre 2008 à 18:36:50 | Re : IHM + RS232

sebome

Je pensai essayer d'avoir la partie IHM asynchrone à la partie RS232.
Mon problème est que c'est  la partie rafraichissement de l'IHM qui prend du temps.

Il faudrait que je trouve un moyen d'appeler une fonction (pour modifier des champs de l'IHM) et de ne pas attendre la fin de celle-ci pour continuer la suite.

Je vous remercie pour votre aide.


Sébome
vendredi 5 septembre 2008 à 00:08:37 | Re : IHM + RS232

leprov

Réponse acceptée !
déjà tu devrais commencer par voir si tu peux pas mieux faire tes traitements IHM (utilises-tu des fonctions longues? as tu codé override des méthodes OnPaint dans tes controles d'affichages et si oui ne peux tu pas optimiser?).
Sinon si cest vraiment un problème entre tes deux threads, tu peux utiliser TaForm.BeginInvoke(TaMethodDeMiseAJourDesDonnees) pour que tes deux thread ne s'attendent pas mutuellement
vendredi 5 septembre 2008 à 12:06:50 | Re : IHM + RS232

sebome

J'ai améliorer les traitement IHM et aussi le decodage des trames.

La seul choses que je ne sais pas améliorer c'est les courbes. J'utilise le composant zedgraph pour tracer mais courbes. Je voudrai voir l'evolution des courbes en temps réel. Le problème est qu'a chaque ajout d'un point dans la courbe, j'ai l'impressions qu'il retrace la courbe entierement . J'utilise peut être mal le composant ou ce n'est pas un composant pour tracer des courbes en temps réel.


Sébome
vendredi 5 septembre 2008 à 13:05:38 | Re : IHM + RS232

leprov

Réponse acceptée !
et tu ne peux pas rafraichir le graphe sur un timer? genre toutes les 200ms? tu met les data de tes trames dans un buffer, et au bout de 200ms tu les envoies au graphe, ce qui te permettrait de ne pas ramer (et la différence visuelle serait totalement imperceptible)
vendredi 5 septembre 2008 à 13:43:26 | Re : IHM + RS232

sebome

Oui c'est une bonne idée.
Je vais essayer merci.

Sébome


Cette discussion est classée dans : logiciel, rs232, partie, trames, ihm


Répondre à ce message

Sujets en rapport avec ce message

créer une partie d'une IHM suivant un model définit [ par simlaboum ] Salut à tous, Je voudrais créer plusieurs zone dans mon IHM (avec une combobox, un bouton...) toutes ces zones sont sur le même moule. De plus je ne s Croos-thread s - utilisation des delegates pour modifier des paramettre des controls [ par megamario ] Bonsoir à tous. J'ai un petit souci avec mon programme quand à l'utilisation des threads et du passage de paramètres. J'ai trouvé un tuto qui expliq aide: Hachage [ par the55reaper ] Slt a tous j'ai un problème je cherche depuis quelques jours un logiciel qui fait le hachage (peut n'importe MD5,SH1..etc.) juste il fait le hachage d Exécuter un logiciel en arrière plan [ par GhostMoon ] Salut tout le monde j suis débutante en c# je veux intégrer un logiciel et l'exécute en arrière plan et l résultat sera affichée en avant plan. Comme question en c# [ par MILAHA13 ] bonjour Je réalise un logiciel en c# qui fait l’ouverture d’une image dans Picture box et je veux écrire un code (d’un bouton) qui prend cette imag statistique pour une application jee [ par assouma16 ] salut, j'ai besoin vraiment de votre aide , je veus utiliser un logiciel de statistique pour l'intergrer dans mon application JEE, ce logiciel va m'ai IHM boutton interface [ par zargooo04 ] [^^happy10]bonjours; voila j'ai un programe c# qui fait des traitement sur une phraze; je veut faire un interface ou il y'a: 1-zone ou en entre la phr


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales