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

Ergebnis 1 bis 6 von 6

Thema: libnodave & Linux

  1. #1
    Registriert seit
    02.07.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Folgendes Szenario:
    Habe auf meinen Laptop win7 64Bit laufen. Darauf ist eine VM mit OpenSuse12.3. 32Bit
    Auf dieser VM will ich nun eine Anwendung mit libnodave erstellen.
    Software dazu: QT5
    Hab diese auch so weit fertig. Kann ohne Problem compilieren.
    Meine CPU (S7/319) ist von der VM aus erreichbar (ping).

    So weit so gut sieht alles i.O. aus.

    nur wenn ich versuche mit linodave auf die CPU zuzugreifen, bekomme ich einen Abbruch
    SIGPIPE Broken Pipe
    das heist so viel dass libnodave auf einen TCP Kanal schreiben will, der nicht vorhanden ist.

    int openSocket gibt mir den Wert 22 oder 21 zurück.
    dc initialiserung ist auch ok.
    di initialisierung ist auch ok.
    der Fehler kommt sobald ich versuche daveConnectPLC(dc) aufzurufen.

    Kann mir da jemand helfen?
    Zitieren Zitieren libnodave & Linux  

  2. #2
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Ich will mir keine Gedanken um QT5 machen, daher probiere es erst mit den Testprogrammen, die bei Libnodave dabei sind. Wahrscheinlich ist testISO_TCP dein Freund. testISO_TCP -d zeigt, was es tut.
    Was verstehst du unter:
    "dc initialiserung ist auch ok.
    di initialisierung ist auch ok."??????
    Bitte nenne die Namen der Funktionen!
    Unter ISO over TCP ist daveConnectPLC(dc) der erste Funktionsaufruf, der wirklich etwas übers Socket sendet.
    Allerdings scheint, wenn opensocket() erfolgreich war, doch auch der darin enthaltene connect()-Aufruf Erfolg gehabt zu haben...

  3. #3
    taxmax ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.07.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    testISO_TCP funktioniert.
    Hatte damit keine Probleme.
    Geändert von taxmax (03.07.2013 um 21:04 Uhr)

  4. #4
    taxmax ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.07.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier mal etwas von meinem Code:

    int a, res;
    daveInterface *di;
    daveConnection *dc;
    _daveOSserialType fds;

    daveSetDebug(daveDebugPrintErrors);

    fds.rfd = openSocket(102,"172.20.111.3");
    fds.wfd = fds.rfd;

    if(fds.rfd > 0)
    {
    // Init new connection
    di = daveNewInterface(fds, "IF1", 0, daveProtoISOTCP, daveSpeed187k);
    daveSetTimeout(di, 5000000);
    dc = daveNewConnection(di, 2, 0, 2); // insert your rack and slot here

    if(0 == daveConnectPLC(dc)) //Ab hier wird dann abgebrochen
    {
    res=daveReadBytes(dc,daveDB,205,410,2,NULL);
    if(0==res)
    {
    a=daveGetU16(dc);
    //Do Soemthing
    a=daveGetU16At(dc,62);
    //Do Soemthing
    }
    }
    }
    closeSocket(fds.rfd);

    daveConnectPLC() --> Hier werden noch eineige funktionen aufgerufen bis dann bei bei folgender funktion abbricht:
    nodave.c
    Zeile 3903:
    daveWriteFile(dc->iface->fd.wfd, dc->msgOut, size, i); -> SIGPIPE Broken Pipe
    Geändert von taxmax (03.07.2013 um 21:04 Uhr)

  5. #5
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Sorry, aber ich will deinen Code nicht.
    testISO_TCP funktioniert.
    Du hast den Quellcode von testISO_TCP.c
    Also kannst du vergleichen.
    Das ist ein bischen wie in einem Wimmelbild suchen und dazu habe ich nicht Zeit noch Lust.
    http://de.wikipedia.org/wiki/Die_nie...ichw%C3%B6rter

  6. Folgender Benutzer sagt Danke zu Zottel für den nützlichen Beitrag:

    bike (05.07.2013)

  7. #6
    Registriert seit
    29.10.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo TaxMax,

    mach zwar mit 'ner seriellen Kommunikation rum, hab aber auch bei daveConnectPLC das Problem.

    Hast Du ne Lösung gefunden??

    Gruß

Ähnliche Themen

  1. Siemens S7-200 & TSAP & LibnoDAve
    Von Dominique Van Huffel im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 19.09.2011, 17:57
  2. libnodave - linux
    Von waschtl im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 15.12.2010, 17:12
  3. LibNodave 64bit write error on Linux
    Von 3electrons im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 23.04.2010, 19:42
  4. Nur TCP/IP bei Libnodave und Ubuntu Linux
    Von Alexandr im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.01.2010, 22:06
  5. Libnodave, S7-222, Linux, Hilfe?
    Von jestal im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 31.10.2008, 20:41

Stichworte

Lesezeichen

Berechtigungen

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