LibNoDave kompilieren auf raspberry pi?

Das mit den Zeichen in deiner Beschreibung hab ich nicht gesehen. Aber jetzt hab ich es nochmals durchgelesen und auch gesehen.
Jetzt wollte ich nochmals make ausführen so schreibt mir der pi folgendes heraus:

make: *** keine Targets angegeben und keine >make<- Steuerdatei gefunden. Schluss.

Bei anderen File bin ich noch beim suchen. Sind doch laut Forum in Zeile 311 zu ändern.
 
Hurra!

Hab dieses gefunden "dc =daveNewConnection(di,2,1,useSlot); // insert your rack and slot here "

Aber wo ändere ich das File? Kommt die 0 zwischen die Klammern hinein?
Scheinbar kapiere ich da etwas nicht. Entschuldige schon mal meine Fragen. Logo programmieren da hab ich keine Probleme ab da steige ich bald aus. Etwas zu hoch für mich. Seit ihr Prgrammierer?

Gruß alex
 
Frag doch mal aticio nach seinem .c File und dem kompilierten Programm. Vielleicht kommst du damit weiter. Wenn dich das Thema aber interessiert, solltest du mal ein kleines C Tutorial durcharbeiten (Stichwort "Hallo Welt"). Dann fällt vieles leichter.
Nebenbei sind die meisten hier im Forum (SPS-) Programmierer. ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich krame nochmal das alte Thema heraus, da ich hierzu noch ein paar Fragen habe aber keinen neuen Thread aufmachen möchte. Aktuell setze ich einen Raspberry PI zusammen mit der Libnodave ein um verschiedene Informationen auszutauschen.
Leider hat die von mir eingesetzte alte Library scheinbar Probleme mit Memory-Leaks.

Daher wollte ich heute meine Programme neu kompilieren.
Das Kompilieren an sich war auch problemlos möglich.

Leider habe ich jetzt das Problem das meine Programme keine Daten mehr austauschen.
Ich erhalte Fehlermeldungen die darauf hindeuten, das Datentypen nicht zusammen passen.

Ich habe folgendes Probiert:
- Siemens Logo 0BA7 (192.168.0.1:102 255.255.255.0 kein Gateway!)
Logo ist Pingbar von Rasperry.

- Raspberry PI mit Debian wheezy (Linux RASPBERRY 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU/Linux)

- Das Logo-Programm:
Keine VM Speichers konfiguriert. (Müssen unter Extras->Parameter-VM-Zuordnung in der Logo!Soft konfiguriert werden)
Ich will ja erstmal nur Verbinden können.

- Make Aufruf:
CFLAGS+=-DARM_FIX
CFLAGS=-Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN
CTFLAGS=-Wall -Winline -fPID -DLINUX -DDAVE_LITTLE_ENDIAN
CPPFLAGS=-Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN

- Libnodave 0.8.5.1 heruntergeladen -> testISO_TCP.c angepasst -> make -> make install

- Änderungen an testISO_TCP:
dc =daveNewConnection(di,2,1,0); // insert your rack and slot here

- Programmaufruf: ./testISO_TYP -d 192.168.0.1

- Programmausgabe:
openSocket: enter OpenSocketopenSocket: OpenSocket: socket is 3
openSocket: Connected to host: 192.168.0.1
openSocket: setsockopt Success 0
send packet: :
0:0x03,0x00,0x00,0x16,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,0x02,0x01,0x00,0xC2,
10:0x02,0x01,0x20,0xC0,0x01,0x09,
IF1 daveConnectPLC() step 1. got packet: :
IF1 error in daveConnectPLC() step 1. retrying...res 0 readISOpacket: short packet:
IF1 daveConnectPLC() step 1. got packet: :
IF1 error in daveConnectPLC() step 1. retrying...res 0 readISOpacket: short packet:
IF1 daveConnectPLC() step 1. got packet: :
IF1 error in daveConnectPLC() step 1. retrying...Couldn't connect to PLC.
Please make sure you use the -2 option with a CP243 but not with CPs 343 or 443

- Portscan an der Logo:
root@xyz:~$ nmap 192.168.0.1 -p1-65535

Starting Nmap 6.40 ( http://nmap.org ) at 2014-06-26 21:28 CEST
Nmap scan report for 192.168.0.1
Host is up (0.0081s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE
102/tcp open iso-tsap
10001/tcp open scp-config

Nmap done: 1 IP address (1 host up) scanned in 19.39 seconds



Habt ihr eine Idee????


Danke,
Ben
 
Zuletzt bearbeitet:
Ich hänge hier eine testISO_TCP dran die ich auf einem Raspi kompiliert habe. Probier mal Ist von 0.8.5. Du brauchst sie nicht neu zu kompilieren; du kannst Slot- und Rack auf der Kommandozeile angeben!
 

Anhänge

  • testISO_TCP.zip
    44,1 KB · Aufrufe: 42
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zottel,

ich habe gerade das von dir zur Verfügung gestellte Testprogramm auf den Raspberry kopiert und wie mit folgendem Befehl gestartet:
./testISO_TCP -d 192.168.0.1 --slot=0

Ausgabe:
-----------

openSocket: enter OpenSocketopenSocket: OpenSocket: socket is 3
openSocket: Connected to host: 192.168.0.1
openSocket: setsockopt Success 0
send packet: :
0:0x03,0x00,0x00,0x16,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,0x02,0x01,0x00,0xC2,
10:0x02,0x01,0x02,0xC0,0x01,0x09,
IF1 daveConnectPLC() step 1. got packet: :
IF1 error in daveConnectPLC() step 1. retrying...res 0 readISOpacket: short packet:
IF1 daveConnectPLC() step 1. got packet: :
IF1 error in daveConnectPLC() step 1. retrying...res 0 readISOpacket: short packet:
IF1 daveConnectPLC() step 1. got packet: :
IF1 error in daveConnectPLC() step 1. retrying...Couldn't connect to PLC.
Please make sure you use the -2 option with a CP243 but not with CPs 343 or 443.


Anbei noch meine Einstellungen im Programm der Logo:
-------------------------------------------------------------------
Unbenannt.jpg
Unbenannt2.jpg


Wie gesagt, mit einer alten Version der Libnodave kann ich zugreifen..
Kann ich evtl den Log-Level erhöhen damit wir etwas verwertbares an Debug-Messages bekommen?
 
Hi,

aah, steht ja alles da:
Code:
.. 0xC  2,
10:0x02,0x01,0x02 ..
Destination TSAP = 01:02, also slot=2

hmm, gab wohl entsprechende Änderung von 0.8.4.6 nach 0.8.5 bezgl. der Gerätekennung

Ergängzung in testISO_TCP.c:
Code:
    dc =daveNewConnection(di,2,0,useSlot);  // insert your rack and slot here
    dc->communicationType = 2; // OP

so sollte danach tun:
Code:
./testISO_TCP -d --slot=0 192.168.0.1
 
Hi egal,

ich habe die Zeile wie vorgeschlagen eingefügt.

Code:
./testISO_TCP -d --slot=0 192.168.0.1

Augabe:
Code:
openSocket: enter OpenSocketopenSocket: OpenSocket: socket is 3
openSocket: Connected to host: 10.0.0.2 
openSocket: setsockopt Success 0
send packet: :                             
                            0:0x03,0x00,0x00,0x16,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,0x02,0x01,0x00,0xC2,
                            10:0x02,0x02,0x00,0xC0,0x01,0x09,
readISOpacket: 22 bytes read, 22 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x16,0x11,0xD0,0x00,0x01,0x5D,0xB4,0x00,0xC0,0x01,0x09,0xC1,0x02,
                            10:0x01,0x00,0xC2,0x02,0x02,0x00,
IF1 daveConnectPLC() step 1. got packet: :                             
                            0:0x03,0x00,0x00,0x16,0x11,0xD0,0x00,0x01,0x5D,0xB4,0x00,0xC0,0x01,0x09,0xC1,0x02,
                            10:0x01,0x00,0xC2,0x02,0x02,0x00,
TPDU len 9 = 512
PDU header:                             
                            0:0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x07,0x80,
_daveExchange PDU number: 65535
IF1 enter _daveExchangeTCP
send packet: :                             
                            0:0x03,0x00,0x00,0x19,0x02,0xF0,0x80,0x32,0x01,0x00,0x00,0xFF,0xFF,0x00,0x08,0x00,
                            10:0x00,0xF0,0x00,0x00,0x01,0x00,0x01,0x07,0x80,
readISOpacket: 27 bytes read, 27 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x1B,0x02,0xF0,0x80,0x32,0x03,0x00,0x00,0xFF,0xFF,0x00,0x08,0x00,
                            10:0x00,0x81,0x04,0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
IF1 _daveExchangeTCP res from read 27
result of exchange: 0
PDU header:                             
                            0:0x32,0x03,0x00,0x00,0xFF,0xFF,0x00,0x08,0x00,0x00,0x81,0x04,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
error: context is not supported. Step7 says:Function not implemented or error in telgram.
IF1 error in daveConnectPLC() step 1. retrying...
PDU header:                             
                            0:0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x07,0x80,
_daveExchange PDU number: 65536
IF1 enter _daveExchangeTCP
send packet: :                             
                            0:0x03,0x00,0x00,0x19,0x02,0xF0,0x80,0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
                            10:0x00,0xF0,0x00,0x00,0x01,0x00,0x01,0x07,0x80,
readISOpacket: 27 bytes read, 27 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x1B,0x02,0xF0,0x80,0x32,0x03,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
                            10:0x00,0x81,0x04,0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
IF1 _daveExchangeTCP res from read 27
result of exchange: 0
PDU header:                             
                            0:0x32,0x03,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x81,0x04,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
error: context is not supported. Step7 says:Function not implemented or error in telgram.
IF1 error in daveConnectPLC() step 1. retrying...
PDU header:                             
                            0:0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x07,0x80,
_daveExchange PDU number: 65537
IF1 enter _daveExchangeTCP
send packet: :                             
                            0:0x03,0x00,0x00,0x19,0x02,0xF0,0x80,0x32,0x01,0x00,0x00,0x00,0x01,0x00,0x08,0x00,
                            10:0x00,0xF0,0x00,0x00,0x01,0x00,0x01,0x07,0x80,
readISOpacket: 27 bytes read, 27 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x1B,0x02,0xF0,0x80,0x32,0x03,0x00,0x00,0x00,0x01,0x00,0x08,0x00,
                            10:0x00,0x81,0x04,0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
IF1 _daveExchangeTCP res from read 27
result of exchange: 0
PDU header:                             
                            0:0x32,0x03,0x00,0x00,0x00,0x01,0x00,0x08,0x00,0x00,0x81,0x04,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
error: context is not supported. Step7 says:Function not implemented or error in telgram.
IF1 error in daveConnectPLC() step 1. retrying...
Couldn't connect to PLC.
 Please make sure you use the -2 option with a CP243 but not with CPs 343 or 443.

Aufruf:
Code:
./testISO_TCP --slot=0 192.168.0.1


Ergebnis:
Code:
IF1 error in daveConnectPLC() step 1. retrying...
IF1 error in daveConnectPLC() step 1. retrying...
IF1 error in daveConnectPLC() step 1. retrying...
Couldn't connect to PLC.
 Please make sure you use the -2 option with a CP243 but not with CPs 343 or 443.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

Code:
TPDU len 9 = 512
das ist falsch, die LOGO hat eine max. PDU-Länge von 240 Byte;
irgendwie ist die V0.8.5 bezgl. Logo nicht so optimal ;-)
(mal sehen, was die LOGO! 8 bringt)

Also, die V0.8.4.6 nehmen
oder wieder basteln:
Code:
    dc =daveNewConnection(di,2,0,useSlot);  // insert your rack and slot here
    dc->communicationType = 2; // OP
    dc->maxPDUlength = 240; // hack for LOGO

Besser wäre natürlich, den Fehler zu suchen ;-)

Code:
./testISO_TCP --slot=0 10.11.12.235
Connected.
Trying to read 64 bytes (16 dwords) from data block 1.
DB1:DW0: 311
DB1:DW1: 236
...
DB1:DW32: 0
Trying to read 16 bytes from FW0.
FD0: 16777216
FD4: 35848192
FD8: 0
FD12: 0.000000
Finished.
 
Hi,

Code:
TPDU len 9 = 512
das ist falsch, die LOGO hat eine max. PDU-Länge von 240 Byte;
TPDU bezieht sich auf ISO-Pakete, PDU auf Pakete der S7-Kommunikation.

Ich habe keine LOGO. Was soll der Rest von deinem Beitrag? Hast du erfolgreich kommuniziert, nachdem du in der Version 0.8.5
Code:
  dc =daveNewConnection(di,2,0,useSlot);  // insert your rack and slot here
    dc->communicationType = 2; // OP
    dc->maxPDUlength = 240; // hack for LOGO

diese Änderungen vorgenommen hast?
Wenn ja: Braucht es beide oder hast du mal jede einzeln probiert?
 
Hi,

diese Änderungen vorgenommen hast?
Wenn ja: Braucht es beide oder hast du mal jede einzeln probiert?
Ja, habe ich;
es braucht beide Änderungen:

- CommunicationType ist neu lt. LibNoDave ChangeLog und die Logo besteht wohl auf Typ 2=OP oder alternativ 20 für Logo Peer
- an der PDU-Berechnung wurde lt. Log wohl auch geschraubt (PDU split .. multiple ISO/IBH packekts)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zottel,
Hallo egal,

also, ich habe hier nochmal einige Debug-Informationen für euch.
Die von egal vorgeschlagenen Änderungen wurden von mir durchgeführt:
Code:
dc =daveNewConnection(di,2,0,useSlot);  // insert your rack and slot here     
dc->communicationType = 2; // OP 
    dc->maxPDUlength = 240; // hack for LOGO

Der Programmaufruf:
Code:
./testISO_TCP -d --slot=0 192.168.0.1

Die Programmausgabe:
Code:
openSocket: enter OpenSocketopenSocket: OpenSocket: socket is 3
openSocket: Connected to host: 192.168.0.1
openSocket: setsockopt Success 0
send packet: :                             
                            0:0x03,0x00,0x00,0x16,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,0x02,0x01,0x00,0xC2,
                            10:0x02,0x02,0x00,0xC0,0x01,0x09,
readISOpacket: 22 bytes read, 22 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x16,0x11,0xD0,0x00,0x01,0x5D,0xB4,0x00,0xC0,0x01,0x09,0xC1,0x02,
                            10:0x01,0x00,0xC2,0x02,0x02,0x00,
IF1 daveConnectPLC() step 1. got packet: :                             
                            0:0x03,0x00,0x00,0x16,0x11,0xD0,0x00,0x01,0x5D,0xB4,0x00,0xC0,0x01,0x09,0xC1,0x02,
                            10:0x01,0x00,0xC2,0x02,0x02,0x00,
TPDU len 9 = 512
PDU header:                             
                            0:0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
_daveExchange PDU number: 65535
IF1 enter _daveExchangeTCP
send packet: :                             
                            0:0x03,0x00,0x00,0x19,0x02,0xF0,0x80,0x32,0x01,0x00,0x00,0xFF,0xFF,0x00,0x08,0x00,
                            10:0x00,0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
readISOpacket: 27 bytes read, 27 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x1B,0x02,0xF0,0x80,0x32,0x03,0x00,0x00,0xFF,0xFF,0x00,0x08,0x00,
                            10:0x00,0x00,0x00,0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
IF1 _daveExchangeTCP res from read 27
result of exchange: 0
PDU header:                             
                            0:0x32,0x03,0x00,0x00,0xFF,0xFF,0x00,0x08,0x00,0x00,0x00,0x00,
plen: 8 dlen: 0
Parameter:                             
                            0:0xF0,0x00,0x00,0x01,0x00,0x01,0x00,0xF0,
error: ok

*** Partner offered PDU length: 240 used limit 240

Connected.
Trying to read 64 bytes (16 dwords) from data block 1.
PDU header:                             
                            0:0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,
plen: 14 dlen: 0
Parameter:                             
                            0:0x04,0x01,0x12,0x0A,0x10,0x02,0x00,0x40,0x00,0x01,0x84,0x00,0x00,0x00,
_daveExchange PDU number: 65536
IF1 enter _daveExchangeTCP
send packet: :                             
                            0:0x03,0x00,0x00,0x1F,0x02,0xF0,0x80,0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,
                            10:0x00,0x04,0x01,0x12,0x0A,0x10,0x02,0x00,0x40,0x00,0x01,0x84,0x00,0x00,0x00,
readISOpacket: 89 bytes read, 89 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x59,0x02,0xF0,0x80,0x32,0x03,0x00,0x00,0x00,0x00,0x00,0x02,0x00,
                            10:0x44,0x00,0x00,0x04,0x01,0xFF,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            20:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            30:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            40:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            50:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
IF1 _daveExchangeTCP res from read 89
result of exchange: 0
PDU header:                             
                            0:0x32,0x03,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x44,0x00,0x00,
plen: 2 dlen: 68
Parameter:                             
                            0:0x04,0x01,
Data     :                             
                            0:0xFF,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            10:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            20:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            30:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            40:0x00,0x00,0x00,0x00,
Data hdr :                             
                            0:0xFF,0x04,0x02,0x00,
Data     :                             
                            0:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            10:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            20:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            30:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
error: ok
_daveSetupReceivedPDU() returned: 0=ok
_daveTestReadResult() returned: 0=ok
DB1:DW0: 0
DB1:DW1: 0
...
DB1:DW32: 0
Trying to read 16 bytes from FW0.
PDU header:                             
                            0:0x32,0x01,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,
plen: 14 dlen: 0
Parameter:                             
                            0:0x04,0x01,0x12,0x0A,0x10,0x02,0x00,0x10,0x00,0x00,0x83,0x00,0x00,0x00,
_daveExchange PDU number: 65537
IF1 enter _daveExchangeTCP
send packet: :                             
                            0:0x03,0x00,0x00,0x1F,0x02,0xF0,0x80,0x32,0x01,0x00,0x00,0x00,0x01,0x00,0x0E,0x00,
                            10:0x00,0x04,0x01,0x12,0x0A,0x10,0x02,0x00,0x10,0x00,0x00,0x83,0x00,0x00,0x00,
readISOpacket: 41 bytes read, 41 needed
readISOpacket: packet:                             
                            0:0x03,0x00,0x00,0x29,0x02,0xF0,0x80,0x32,0x03,0x00,0x00,0x00,0x01,0x00,0x02,0x00,
                            10:0x14,0x00,0x00,0x04,0x01,0xFF,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            20:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
IF1 _daveExchangeTCP res from read 41
result of exchange: 0
PDU header:                             
                            0:0x32,0x03,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x14,0x00,0x00,
plen: 2 dlen: 20
Parameter:                             
                            0:0x04,0x01,
Data     :                             
                            0:0xFF,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                            10:0x00,0x00,0x00,0x00,
Data hdr :                             
                            0:0xFF,0x04,0x00,0x80,
Data     :                             
                            0:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
error: ok
_daveSetupReceivedPDU() returned: 0=ok
_daveTestReadResult() returned: 0=ok
FD0: 0
FD4: 0
FD8: 0
FD12: 0.000000
Finished.

Nochmaliger Aufruf:
Code:
./testISO_TCP --slot=0 192.168.0.1

Ergebnis:

Code:
Connected.
Trying to read 64 bytes (16 dwords) from data block 1.
DB1:DW0: 0
DB1:DW1: 0
...
DB1:DW32: 0
Trying to read 16 bytes from FW0.
FD0: 0
FD4: 0
FD8: 0
FD12: 0.000000
Finished.

Zottel, ist das evtl noch ein Fehler in der Libnodave?


Danke bis dahin,
Ben
 
Hallo Zottel,

für mich sind das 2 Grundlegende Änderungen beim Programmablauf.
Die eigentliche Änderung besteht in meinen Augen aus diesen beiden Zeilen:
Code:
dc->communicationType = 2; // OP 
    dc->maxPDUlength = 240; // hack for LOGO
Da ich aber nicht beurteilen kann ob das sich nun generell bei der Mehrzahl der speicherprogrammierbaren Steuerungen zutrifft ist die Frage an dich ob das nun ein Fehler in der Lib ist oder nicht.
Das ich die Änderungen brauche ist für mich ein funktionierender Workaround.

Wie wäre es denn wenn man in die Lib ein Precompiler-Flag(#ifdef SIEMENS_LOGO_0BA7) abfägt und beim Aufruf von daveNewConnection(..,..,..,..) die entsprechenden Einstellungen für die PDU-Länge,(..) hinterlegt? Das ließe sich entsprechend erweitern wenn z.B. die 0BA8 oder andere Modelle auf den Markt kommen. Ist einfach mal eine Idee. Vorallem verhindert das uu. Probleme beim Modelwechsel (Code müsste dann wahrscheinlich nicht angepasst werden sondern nur mit anderem Precompiler-Flag kompiliert werden).

Vielleicht ist das auch zuviel des Guten.

Ben
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie wäre es denn wenn man in die Lib ein Precompiler-Flag(#ifdef SIEMENS_LOGO_0BA7) abfägt und beim Aufruf von daveNewConnection(..,..,..,..) die entsprechenden Einstellungen für die PDU-Länge,(..) hinterlegt?
Dann bräuchte man im Extremfall für jede Ziel-CPU eine andere Libnodave.dll ...

Harald
 
Hallo Zottel,

für mich sind das 2 Grundlegende Änderungen beim Programmablauf.
Die eigentliche Änderung besteht in meinen Augen aus diesen beiden Zeilen:
Code:
dc->communicationType = 2; // OP 
    dc->maxPDUlength = 240; // hack for LOGO
Da ich aber nicht beurteilen kann ob das sich nun generell bei der Mehrzahl der speicherprogrammierbaren Steuerungen zutrifft ist die Frage an dich ob das nun ein Fehler in der Lib ist oder nicht.
Das ich die Änderungen brauche ist für mich ein funktionierender Workaround.

Wie wäre es denn wenn man in die Lib ein Precompiler-Flag(#ifdef SIEMENS_LOGO_0BA7) abfägt und beim Aufruf von daveNewConnection(..,..,..,..) die entsprechenden Einstellungen für die PDU-Länge,(..) hinterlegt? Das ließe sich entsprechend erweitern wenn z.B. die 0BA8 oder andere Modelle auf den Markt kommen. Ist einfach mal eine Idee. Vorallem verhindert das uu. Probleme beim Modelwechsel (Code müsste dann wahrscheinlich nicht angepasst werden sondern nur mit anderem Precompiler-Flag kompiliert werden).

Vielleicht ist das auch zuviel des Guten.

Ben

das wäre doch einfach nur murksich, anstatt den ursprünglichen fehler zu suchen....

poste doch mal ein wireshark log, dann kann mal schaun, wo die Auswertung in libnodave nicht klappt!
 
Zurück
Oben