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++Builder Discussion :

Int�gration de la Libmodbus (XE3)


Sujet :

C++Builder

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    F�vrier 2013
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : F�vrier 2013
    Messages : 20
    Par d�faut Int�gration de la Libmodbus (XE3)
    Salut � tous

    Apres quelques heures pour trouver comment integrer la libmodbus je commence � me rendre compte de mon faible niveau pour integrer des libs � XE3(j'en ai dej� galerer pour d'autre dont Tcomport et modbustcp)
    vous me direz que j'ai d�j� modbus , or il est TCP et j'ai besoin du RTU pour mon projet, au d�part je voulais forcer avec comport les trames mais c'est pas si simple et �a fais un peu bricolage

    tentative dans l'ordre et constat:

    1. j'ai mis tous les fichier(libmodbus-3.0.3\src .c et .h) dans le repertoire (de de mon application fiche VCL C++ builder)
    2. par suret� j'ai valid� le chemin d'inclusion dans option du projet
    3.premi�re compilation Erreur au niveau "#include <sys/time.h>" je l'ai remplac� par <time.h> ok
    4.j'ai du mettre #include <unistd.h> en commentaire dans unit.h, j'ai beau chercher sur le net mais pas grand chose pour le remplacer
    5.� ce niveau quand je rentre une fonction � la premi�re parenth�se le compliateur propose bien le type de param�tre � rentrer j'en deduis que le modbus.h est reconnus
    6.� ce stade �a compile
    7. d�s que j'essaye avec avec une fonction (voir unit.ccp) j'ai l'erreur
    -[ilink32 Erreur] Error: '_modbus_write_registers' externe non r�solu, r�f�renc� depuis G:\C & C++ (EMBARCADERO)\RAD STUDIO\PROJETS\RAD_TP_EMBARCADERO\TEST_LIB_MODBUS\WIN32\DEBUG\UNIT1.OBJ

    Il me semble avoir d�j� eu ce probleme sur d'autre lib qui etait caus� par l'oublie de la dll dans le repertoire ...\Win32\Debug.
    je suis �tonn� de ne pas avoir trouv� de .lib et de .dll � ajouter au projet
    Si quelqu'un pourrait me confirm� si la demarche est bonne ou si c'est possible sur XE3 , ou encore mieux tester �a serait sympa 1000 Merci d'avance.
    Nicolas
    Bon week-end!

    lien libmodbus 3.0.3

    unit.h
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    //---------------------------------------------------------------------------
     
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <System.Classes.hpp>
    #include <Vcl.Controls.hpp>
    #include <Vcl.StdCtrls.hpp>
    #include <Vcl.Forms.hpp>
     #include <stdio.h>
    //#include <unistd.h>
    #include <string.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <modbus.h>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:	// Composants gérés par l'EDI
    	TButton *Button1;
    	void __fastcall Button1Click(TObject *Sender);
    private:	// Déclarations utilisateur
    public:		// Déclarations utilisateur
    	__fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif

    unit.ccp
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
     
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    unsigned int short *tab_rp_registers;
    modbus_t *ctx;
    int adr=0x6B,nbr= 2;
     
    //modbus_connect(ctx);
    //modbus_write_registers(ctx,adr,nbr,tab_rp_registers);
    }
    //---------------------------------------------------------------------------

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    un bug dans le linker Tlink qui n'accepte pas le signe '-' dans un nom de fichier --> r�sultat tous les fichiers comportant un '-' ne sont pas additionn�s � la lib

    concr�tement il suffit de renommer les fichiers

    modbus-data --> modbus_data
    modbus-rtu --> modbus_rtu
    modbus-tcp --> modbus_tcp

    la directive suivante de compilation doit �tre ajout�e: _WIN32

    ta librairie devrait avoir comme taille la somme de tous les fichiers qui la compose

    les r�f�rences � #include <unistd.h> doivent �tre mise en commentaire, car non utilis�e par Borland /Embarcadero

    si joint les fichies lib g�n�r�e en mode Debug et Release

    ne pas oublier la librarie ws2_32.lib dans ton projet

    cdlt
    Fichiers attach�s Fichiers attach�s
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    F�vrier 2013
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : F�vrier 2013
    Messages : 20
    Par d�faut
    Salut,

    Merci et encore merci

    ca marche parfaitement avec la lib que tu as compil�!

    Seul soucis , j'ai essay� de cr�er la libmodbus.lib mais pas moyen.


    1. Donc toujours dans le meme projet j'ai donc modifi� tous les "-" par des "_" partout (y compris evidemment dans les .c et � l'interieur des .h)

    2. integration de #if defined(_WIN32)
    #include <windows.h>
    #endif
    Dans le modbus.h

    3. tous les #include <unistd.h> sont en commentaire

    4. le "ws2_32.lib"(13ko) a �t� ajout� au projet (j'ai essay� aussi avec l'autre qui est dans le repertoire ...\psdk\ws2_32.lib (6.06ko))



    Y'a t-il une manip particuli�re pour g�n�rer ce .lib ?
    desol� de mon ignorance
    J'ai toujours eu des .lib et .dll � int�grer au projet (toutes finies), �a m'interresserait vraiment de savoir, si tu pourrais me detailler un peu comment tu as gener� ce .lib

    j'ai vu sur ce lien qu'il faut d�j� voir que l'option du lieur soit active , mais j'ai rien trouv� dans projet\option\lieur c++ pour Generate .LIB File
    j'ai bien mis un r�pertoire "option\C++ (option partag�es)\sortie Bpi/lib mais rien qui arrive dedans et tant que j'inclus pas la lib que tu as creer toujours la m�me erreur


    Merci d'avance bon dimanche

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut
    non rien de special
    il faut toutefois ajouter le fichier config.h qui est une copie de config.h.in
    ci-joint mon makefile du projet , les sources modifi�es, ainsi que 2 applications de test

    Le fichiers .cprojet et .cbproj.local ont �t� r�alis�s sous RadStudio 2010
    cdlt
    Fichiers attach�s Fichiers attach�s
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    F�vrier 2013
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : F�vrier 2013
    Messages : 20
    Par d�faut
    Le Probl�me peut �tre r�solu grace � ton aide et ta patience
    Vraiment MERCI pour tout
    Franchement sans ton aide je n'aurais jamais pus faire �a!!
    Je te souhaite bonne continuation!

    bonne soir�e
    Cdlt
    Nicolas

  6. #6
    Nouveau candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Par d�faut Modbus sous Windows
    Bonjour,
    Dans le cadre d'un projet, je suis entrain d'impl�menter le protocole modbus Tcp client/serveur
    Mon serveur est sure le raspbian de la carte raspberry Pi et mon client est une interface homme machine d�velopp� sous Qt sous Windows.
    J'ai r�ussi � installer libmodbus sous Raspbian mais pas sous windows
    Y a -t- il quelqu'un qui peut m'aider?
    Je vous remercie d'avance

  7. #7
    Membre averti
    Homme Profil pro
    D�veloppeur informatique (D�butant)
    Inscrit en
    Avril 2011
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur informatique (D�butant)
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 45
    Par d�faut
    Bonjour,

    Citation Envoy� par ihsen-b Voir le message
    J'ai r�ussi � installer libmodbus sous Raspbian mais pas sous windows
    Y a -t- il quelqu'un qui peut m'aider?
    As tu r�ussi finalement � installer libmodbus ? Je n'y arrive pas non plus..

    Cordialement,

    NazOok.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Int�gration de code c++
    Par Raoul le perdu dans le forum MFC
    R�ponses: 2
    Dernier message: 24/02/2004, 08h54
  2. int�gration de sons
    Par pal200 dans le forum OpenGL
    R�ponses: 2
    Dernier message: 09/02/2004, 11h17
  3. [MFC][Excel] Int�gration excel et MFC!
    Par fadoua dans le forum MFC
    R�ponses: 2
    Dernier message: 22/12/2003, 10h51
  4. [NETBEANS] Int�gration de Jboss dans NetBeans
    Par Kleb dans le forum NetBeans
    R�ponses: 1
    Dernier message: 09/06/2003, 18h45

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