Keine Verbindung mit libnodave und eigenem Programm

c0nt4ct

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

Ich habe nicht viel Erfahung mit SPS, arbeite aber zur Zeit an einem Projekt, bei welchem ich Daten aus einer S7 312 lesen muss. Das ganze ist per Ethernet vebunden, sowohl der Ping als auch das Testprogramm testISOTCP funktionieren. Mein eigenes aber nocht nicht. Vielleicht könnt ih mir weiterhelfen. Hier mein code:

Code:
#include <stdio.h>
#include <stdlib.h>
#define LINUX
#include "nodave.c"
#include "openSocket.c"
 
int main (int argc, char **argv[]){
 daveInterface * di; 
 daveConnection * dc;
 _daveOSserialType fds;
 
  int localMPI,res,Rack,Slot,listLength,useProtocol; 
 
 useProtocol=daveProtoISOTCP;
 
Rack=0;
 
 Slot=2;
 
 
 localMPI=0;
 
 fds.rfd=openSocket(102,"192.168.0.1");
 
 fds.wfd=fds.rfd;
 
 if (fds.rfd > 0)
 {
  di=daveNewInterface(fds,"IF1",0 , useProtocol, daveSpeed187k);
  daveSetTimeout(di,5000000);
 
 
  res=daveInitAdapter(di);
 
  dc=daveNewConnection(di,2,0,2);
 
[B] res=daveConnectPLC(dc);[/B]
 
if (res==0){
 printf ("Connected"); 
 printf ("Lese die ersten Bytes\n");  
 daveReadBytes(dc,daveInputs,0,2,1,NULL);
 printf ("Trenne PLC\n");
 daveDisconnectPLC(dc);
 printf("Trenne Adapter\n");
 daveDisconnectAdapter(di);
 close(fds.rfd);
}
}
}

AN der fettgedruckten Stelle bricht das Programm ab, allerdings ohne Fehlermeldung oder sonst irgendetwas. HAbe mit mit ein paar Printf anweisungen getestet. Habe ich irgendeinen groben Fehler darin?

Vielen Dank für die Hilfe.
 
Zurück
Oben