Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: libnodave anfänger sucht hilfe

  1. #11
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn aus der libnadave.dll eine libnodave.lib erzeugt wurde, dann entspricht dieses Format den Borland-Wünschen. Wenn es trotzdem noch nicht aufgelöste Symbole gibt, kann dies an den calling conventions hängen. Wie ist der Compiler eingestellt: stdcall, cdecl, pascal? Wie wurde die dll compiliert?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  2. #12
    Registriert seit
    22.02.2006
    Beiträge
    51
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    hi

    hab mir die lib nun mit implib aus der dll erzeugt und sie so verwendet:

    Code:
    //---------------------------------------------------------------------------
    
    #pragma hdrstop
    #pragma comment(lib,"libnodavec.lib");
    #define BCCWIN
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    extern "C" {
    #include "nodavesimple.h"
    //#include "nodave.h"
    }
    #include "setport.h"
    //---------------------------------------------------------------------------
    
    #pragma argsused
    int main(int argc, char* argv[])
    {
    _daveOSserialType fds;
    daveInterface * di;
    daveConnection * dc;
    int res;
    fds.rfd=setPort("COM1", "9600", 'O');
    fds.wfd=fds.rfd;
    if (fds.rfd > 0) {
    	di = daveNewInterface(fds, "IF1", 0, daveProtoPPI, daveSpeed9k);
    	daveSetTimeout(di,5000000);
    	if (daveInitAdapter(di) == 0) {
    		dc = daveNewConnection(di, 2, 0, 0);
    		if (daveConnectPLC(dc) == 0) {
    			if (daveReadBytes(dc, daveDB, 1, 0, 2, NULL) == 0) {
    				res = daveGetS16(dc);
    			}
    		}
    	}
    }
    getchar();
    }
    //---------------------------------------------------------------------------
    nun sagte r zwar noch [BCC32 Warnung] File1.cpp(4): W8094 Falsche Verwendung von #pragma comment( <typ> [,"string"]) aber das dürfte nicht das Problem sein denn laufen tut das Programms chonmal es lässt sich compilieren vielen dank an alle

    mfg

    chris

  3. #13
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Na ist doch prima.
    Diese #pragma-Anweisung ist für Billisoft die Mitteilung, dass die angegebene Lib für das Linken verwendt werden soll. Kann auch über Angabe bei Linker erfolgen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  4. #14
    Registriert seit
    22.02.2006
    Beiträge
    51
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hi

    hab nun folgenden Code:

    Code:
    //---------------------------------------------------------------------------
    
    #pragma hdrstop
    #pragma comment(lib,"libnodavec.lib");
    #define BCCWIN
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    extern "C" {
    #include "nodavesimple.h"
    //#include "nodave.h"
    }
    #include "setport.h"
    //---------------------------------------------------------------------------
    
    #pragma argsused
    int main(int argc, char* argv[])
    {
    _daveOSserialType fds;
    daveInterface * di;
    daveConnection * dc;
    int res;
    char buffer [255];
    fds.rfd=setPort("COM1", "9600", 'O');
    fds.wfd=fds.rfd;
    if (fds.rfd > 0) {
    printf("Etabliere #1\n");
    	di = daveNewInterface(fds, "IF1", 0, daveProtoPPI, daveSpeed9k);
    	daveSetTimeout(di,5000000);
    	if (daveInitAdapter(di) == 0) {
    	printf("Etabliere #2\n");
    		dc = daveNewConnection(di, 2, 0, 0);
    		if (daveConnectPLC(dc) == 0) {
    		printf("Etabliere #3\n");
    			if (daveReadBytes(dc, daveDB, 1, 0, 2, NULL) == 0) {
    				res = daveGetS16(dc);
    				printf("Etabliere #4\n");
    			}
    		}
    	}
    }
    itoa (res, buffer, 255);
    printf(buffer);
    getchar();
    }
    //---------------------------------------------------------------------------
    leider hab ich keine doku mehr zu daveNewConnection gefunden weiss nicht mehr wo ich das her hatte wer kann mir da helfen? auserdem bleibt er da auch stehen er zeigt nur
    Etabliere #1
    Etabliere #2
    an

    an was könnte das liegen? ich nutzte die PPI Schnittstelle auf 9,6kbit/s eingestellt und COM1. Gehen tut libnodave denn wenn ich die testPPI.exe probier die fertigcompiliert beilag ließt er Daten von der SPS es muss also an meinen programm irgendwo liegen

    mfg

    chris

Ähnliche Themen

  1. Anfänger sucht Hilfe bei CANopen Mastermodul CX1500-M510
    Von wolfi999 im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 26.05.2009, 12:19
  2. anfänger sucht antwort
    Von tigrz im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 03.01.2009, 20:24
  3. Anfänger sucht Hilfe bei AB Programmierung
    Von rantanplan im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 25.02.2008, 16:56
  4. SCL Anfänger sucht Hilfe!
    Von hans55 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 11.12.2007, 22:48
  5. Anfänger in Sachen abwärtszählen und TP170A sucht kleinen Ti
    Von Anonymous im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 18.02.2004, 12:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •