Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : IHM + RS232 [ Windows / Process ] (sebome)

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é dans : logiciel, rs232, partie, trames, ihm


Répondre à ce message

Sujets en rapport avec ce message

Obtenir des infos sur un logiciel en cours d'execution [ par torak ] Salut à tous!Je cherche en fait un moyen d'avoir des infos sur un logiciel qui s'exécute et avec lequel on a ouvert plusieurs documents.Prenons par ex Avec quel logiciel on fait du C# ? [ par Cdcyrille ] Voila en fait j'aimerai juste savoir avec quoi on fait du C#.Je sais que le C++ c avec Visual Studio C (++ je croit) mais je pense pas qu'il puisse fa Databinding et validation [ par Miltiades ] J'ai un 'petit' formulaire (juste quelques dizaines de champs dont la pluparts sont gérés par databinding,le probleme, c'est qu'une petite partie des .ocx sous .net [ par marshallmatter ] MarshallMatterBonjour à tous,Je vous écris parce que j'ai crée une IHM sous visual c# .net et on me demande aujourd'hui d'en faire un activeX.J'ai "ré Pour Nix -> MA CSBar [ par stailer ] Salut,Je viens à peine de voir que tu proposes un petit logiciel qui s'appelle CSBar et qui donne les infos importantes de ce site.Ok, ca c'est cool.E Installer c# [ par stiley1 ] Bjr à tous,Je voudrais installer mon logiciel sur plusieurs autres postes qui sont en réseaux mais qui n'ont pas c# (du fait que leurs utilisateurs ne Integration de fenetre [ par Adrianmartin ] HelloJ'aimerais pouvoir integrer une partie de la fenètre de Systen.Windows.Fomrs.ColorDialogdans mon appli.En fait ce que Sauvegarde d'un variable [ par liliemumue ] BonjourJe suis entrain de creer un petit logiciel qui imprime des recu , seulement chaque recu doit avoir un numéro différent.Donc je dois avoir un fi Probleme avec la base de données [ par giorgio08 ] Bonjour à tous, j 'ai un énorme problème qui m'mpeche davancer dans mon applicatopn.J ai une base de données qui est composée d'un vingtaine de tables Probleme entre 2 tables Important [ par giorgio08 ] Re bonjour a tous, j'ai enfin trouver une solution par rapport a mon probleme. mais j ai qd meme un gros problemej ai 2 tables une PARTIES et une RESU


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,733 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.