Transfert de données entre onduleur et Pc sous programme C #

sinato 6 Messages postés dimanche 29 mai 2016Date d'inscription 31 mai 2016 Dernière intervention - 29 mai 2016 à 16:07 - Dernière réponse : VANDREAM 24 Messages postés mercredi 14 août 2013Date d'inscription 15 novembre 2016 Dernière intervention
- 7 nov. 2016 à 09:49
bonjour,
je suis débutante en c#, mes questions sont les suivantes:
1/" comment récupérer des données d'un onduleur kaco powador 3000 connecté à un Pc par port serie RS232 puis enregistrer ces données dans une base de donnée!!!!!!
2/afficher ces données en temps réel sous forme de graphe
merci
Afficher la suite 

Votre réponse

11 réponses

Whismeril 11548 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 29 mai 2016 à 17:58
0
Merci
Bonjour,

si tu as cet onduleur, je suppose que tu as la doc, donc le protocole de dialogue.

Pour le port RS, il faut utiliser la classe SerialPort, y'a plein d'exemples sur le net, et pour le graphe, ça dépend si tu es en Winform ou en WPF.
Commenter la réponse de Whismeril
sinato 6 Messages postés dimanche 29 mai 2016Date d'inscription 31 mai 2016 Dernière intervention - Modifié par BunoCS le 30/05/2016 à 09:46
0
Merci
merci pour votre réponse
concernant l'onduleur c'est un Powador 12.0 à 20.0 TL3 ,il est équipés d'un enregistreur de données intégré avec serveur web, d'un écran graphique pour l'affichage des données de fonctionnement, ainsi que d'un port USB pour la mise à jour des firmwares et l'extraction des données de journalisation.Par contre je veux extraire les données directement à travers le port RS232 et créer mon propre interface(interface de monitorin d'un systeme photovoltaique raccordé au réseau),j'ai réussi à me connecté à l'onduleur,ça me reste la partie de récupération de données ainsi leur affichage(j'utilise Winform)
voici mon programme :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;



namespace graphe
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void btnConn_Click(object sender, EventArgs e)
        {
            serialPort1.PortName = txtCOMPort.Text;
            serialPort1.BaudRate = Convert.ToInt32(txtBaudrate.Text);
            if (serialPort1.IsOpen) return;
            serialPort1.Open();     
        }

        private void btnDisConn_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen == false) return;
            serialPort1.Open();   
        }
    }
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.
Commenter la réponse de sinato
Whismeril 11548 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 30 mai 2016 à 09:33
0
Merci
Ok, donc tu es en winform, pour le graphe il existe le contrôle Chart.
Il y a un tuto en VB.NET (facilement transposable) ici
http://plasserre.developpez.com/cours/chart/

Pour le port RS, les exemples pullulent sur le web, et on ne fera pas les recherches à ta place
Commenter la réponse de Whismeril
sinato 6 Messages postés dimanche 29 mai 2016Date d'inscription 31 mai 2016 Dernière intervention - 30 mai 2016 à 09:50
0
Merci
j'ai tellement d'exemples que je me trouve perdue entre eux.
Le Contôle chart n'est pas vraiment utile pour les graphe en temps réel,j'essaye maintenant la bibliothèque de ZedGraphe.
je vous remercie encore
Commenter la réponse de sinato
Whismeril 11548 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 30 mai 2016 à 10:36
0
Merci
Le problème de ZedGraph est qu'il a été abandonné il y a quelques années.
Et qu'il n'était pas forcement plus approprié au temps réel.

Dans les deux cas, il va te falloir gérer tes données soit en glissement (comme un registre à décalage), soit en empilement et remettre à jour les courbes à chaque nouvelle donnée.

Pour le port série as tu au moins commencé par le plus évident, à savoir l'aide en ligne?
https://msdn.microsoft.com/fr-fr/library/system.io.ports.serialport(v=vs.110).aspx
Commenter la réponse de Whismeril
sinato 6 Messages postés dimanche 29 mai 2016Date d'inscription 31 mai 2016 Dernière intervention - 30 mai 2016 à 10:54
0
Merci
je commence par le port série car c'est mon soucis pour le moment,j'ai passé par ce lien et par d'autres aussi,j'espère que je pourrais récupérer mes données ainsi les sauvegarder dans une base de données .
pour le Zedgraphe,je vous remercie pour l'information,car lors de l’implémentation de mon programme j'ai rencontré quelques problèmes,dans ce cas je vais m'orienté vers d'autres solutions,
je suis limité par le temps c'est pour ça que je me suis orientée vers vous afin de trouver des solutions déjas prêtes.
cordialement
Commenter la réponse de sinato
Whismeril 11548 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - Modifié par Whismeril le 30/05/2016 à 13:04
0
Merci
Une solution toute prête pour ton cas particulier est peu probable.
Et nous sommes tous bénévoles, et pas là pour faire ton travail à ta place.
On te donne des pistes, tu essayes, si ça ne vas pas tu reviens, en présentant ce que tu as tenté (voir la correction de Buno du message ou tu as mis ton code) et explique ce qui se passe et ce que tu voudrais obtenir.

Donc quand tu dis : je voudrais me dialoguer avec un port rs, je te donne le nom de la classe, tu me réponds avec un code qui l'ouvre (même dans le bouton disconnect...), c'est un début, maintenant il faut poser une question et attendre la reponse, ou si l'appareil débite régulièrement attendre qu'il dise quelque chose, dans le lien msdn (le premier truc qu'il faut regarder face à une nouvelle classe) y a ce qu'il faut pour démarrer

Édit faute d'orthographe

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Commenter la réponse de Whismeril
sinato 6 Messages postés dimanche 29 mai 2016Date d'inscription 31 mai 2016 Dernière intervention - 30 mai 2016 à 12:32
0
Merci
excusez moi Mr "Whismeril" je ne suis pas du genre de personnes qui acceptent que d'autres font leurs travail,
je vous remercie pour votre aide et votre temps
excellente journée
Commenter la réponse de sinato
Whismeril 11548 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 mai 2018 Dernière intervention - 30 mai 2016 à 20:59
0
Merci
tu as écrit
c'est pour ça que je me suis orientée vers vous afin de trouver des solutions déjas prêtes.

Cette phrase peut avoir plusieurs interprétations, en voici 3:
  • que l'un(e) d'entre nous écrive un code pour toi,
  • que l'un(e) d'entre nous cherche avec son moteur de recherche favori une solution toute prête qu'un(e) autre aura déjà écrite,
  • qu'un miracle te donnes un lien vers une solution toute prête qu'un(e) autre aura déjà écrite.


Y'a quand même une idée de ne pas faire tout le boulot toi même.
Alors oui ce site et bien d'autres proposent des tas de codes, mais il est assez rare de trouver exactement ce que l'on cherche, et le principe ici, conformément à la charte que tu as acceptée pour t'inscrire, et de promouvoir l'apprentissage et pas le tout cuit.
Commenter la réponse de Whismeril
sinato 6 Messages postés dimanche 29 mai 2016Date d'inscription 31 mai 2016 Dernière intervention - 31 mai 2016 à 00:05
0
Merci
je voulais une partie du code càd la méthode qui récupère les données du RS232 et je pense que j'ai bien précisé que je suis débutante en c# .j'ai réussi à trouver une solution " Dieu merci " et je vous remercie encore .
bon courage
VANDREAM 24 Messages postés mercredi 14 août 2013Date d'inscription 15 novembre 2016 Dernière intervention - 7 nov. 2016 à 09:49
salut, je pense que tu peux diffuser ta solution pour faire bénéficier d'autre qui seront dans le besoin.
Commenter la réponse de sinato

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.