IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

demande d'une indication


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut demande d'une indication
    Bonjour, je veux récupérer des valeurs brut des 6 wagos connecté au réseau via le protocole TCP/IP

    mon code marche très bien pour un seul wago qui a son ip sur la photo , je veux faire la mème chose pour les autres wago qui ont juste l'ip qui se diffère par rapport a celui qui est dans la photo , j'ai pas voulu dupliquer le code 6 fois , ça me parait un peu con, Du coup je veux savoir comment peux je le faire correctement , j'utilise les classes ou une boucle,quelqu'un peut me donner un coup de main
    Images attachées Images attachées  

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    faire une méthode ou une classe qui prend un paramètre une ip (et un port s'il peut différer, et d'autres paramètres si nécessaire comme un nom connu par ton appli, un id …)
    et mettre ton actuel code dedans qui utilisera les paramètres pour fonctionner
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 022
    Par défaut
    Place ce code dans une fonction avec un unique paramètre de type string pour passer l'IP.
    Tu remplace l'IP en dur par le contenu de la variable

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    faire une méthode ou une classe qui prend un paramètre une ip (et un port s'il peut différer, et d'autres paramètres si nécessaire comme un nom connu par ton appli, un id …)
    et mettre ton actuel code dedans qui utilisera les paramètres pour fonctionner
    merci pour la réponse , Nom : Capture.JPG
Affichages : 223
Taille : 74,9 Ko

    Dois-je faire comme ça ? désolé je suis débutant, et j'ai besoin de C# juste pour modbus , du coup j'ai pas envie de relire toute les cours POO pour m'en servir

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    pas "ip" mais juste ip
    mettre ce void en dessous du main parce que là t'as mis un void dans un void (=> private static importValeurBrut(string ip))
    et dans le main tu peux ensuite l'appeler plusieurs fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    importValeurBrut("telle ip");
    importValeurBrut("autre ip");
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par popo Voir le message
    Place ce code dans une fonction avec un unique paramètre de type string pour passer l'IP.
    Tu remplace l'IP en dur par le contenu de la variable
    mais pour mon programme j'ai 6 ip qui vont étre utiliser à la fois , du coup j'ai besoin d'une boucle qui peut me faire ce traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ModbusClient modbusClient1 = new ModbusClient("ip1", 502);
    ModbusClient modbusClient2 = new ModbusClient("ip2", 502);
    ModbusClient modbusClient3 = new ModbusClient("ip3", 502);
    ModbusClient modbusClient4 = new ModbusClient("ip4", 502);
    ModbusClient modbusClient5 = new ModbusClient("ip5", 502);
    ModbusClient modbusClient6 = new ModbusClient("ip6", 502);
     
     
    int[] readHoldingRegisters1 = modbusClient1.ReadHoldingRegisters(0, 8);
    int[] readimputregistre1 = modbusClient1.ReadInputRegisters(0, 4);
     
     
    int[] readHoldingRegisters2 = modbusClient2.ReadHoldingRegisters(0, 8);
    int[] readimputregistre2 = modbusClient2.ReadInputRegisters(0, 4);
     
    int[] readimputregistre i+1 = modbusClienti +1.ReadHoldingRegisters(0, 8);
    int[] readimputregistre i +1  = modbusClient i+1 .ReadInputRegisters(0, 4);
    et ainsi de suite puis les affiches
    Dernière modification par Invité ; 08/03/2019 à 22h31. Motif: Ajout des balises [CODE] mon code [/CODE] (bouton #)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    pas "ip" mais juste ip
    mettre ce void en dessous du main parce que là t'as mis un void dans un void (=> private static importValeurBrut(string ip))
    et dans le main tu peux ensuite l'appeler plusieurs fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    importValeurBrut("telle ip");
    importValeurBrut("autre ip");
    je vous remercie , je suis arrivé làNom : Capture.JPG
Affichages : 212
Taille : 73,1 Ko , pour l'appel de la méthode ça se fait ou ?

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Dans le main comme je l'ai dis, tu peux appeler plusieurs fois l'autre méthode avec une ip différente à chaque fois
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    Dans le main comme je l'ai dis, tu peux appeler plusieurs fois l'autre méthode avec une ip différente à chaque fois
    je vous remercie monsieur , ça a marché , j'ai juste un petit soucis , c'est qu'il me donne les information de l'ip 1 , puis je sois cliquer pour avoir celui de l'ip 2
    si par exemple je veux y avoir accés au readHoldingRegisters[4]; du 3 éme ip par exemple importvaleurbrut("194.176.3.15");
    comme peux-je y avoir
    Images attachées Images attachées   

  10. #10
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    déplace le console.ReadKey de la méthode import vers la main (à la fin)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Invité
    Invité(e)
    Par défaut
    je vous remercie encore une fois pour votre aide , , ça a marché nickel pour l'affichage ,

    Nom : Capture.JPG
Affichages : 201
Taille : 111,3 Ko

    j'ai une toute petite Question par rapport à la valeur sélectionnée, j'utilise le code qui est cadré dans la deuxième photo , il me donne la valeur demandé pour chaque ip
    Nom : Capture2.JPG
Affichages : 191
Taille : 94,7 Ko


    Si par exemple je veux avoir accés la valeur readHoldingRegisters[4] de l'adresse ip [2]
    par quoi dois - je remplacer ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    int valeur = readHoldingRegisters[4];
                    Console.Write("la valeur selectionée est  " + valeur +"\n");

Discussions similaires

  1. connaitre les paramètres demandés par une méthode
    Par von_magnus dans le forum Tkinter
    Réponses: 4
    Dernier message: 25/07/2006, 15h22
  2. CR9 - Plantage si demande : Créer une nouvelle connexion
    Par CR9-Deb dans le forum Connectivité
    Réponses: 3
    Dernier message: 06/04/2006, 15h12
  3. demande d'une fonction php
    Par carmen256 dans le forum Langage
    Réponses: 5
    Dernier message: 20/01/2006, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo