libnodave-0.8.2 unter Ubuntu für S5-Anbindung kompilieren

borni110

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

ich möchte mit einem Linux-PC unter Ubuntu 6.06 mit Hilfe von libnodave Daten aus einer S5 auslesen. Dazu habe ich mir libnodave-0.8.2 gezogen und im Linux entpackt. Teste ich nun sofort die Verbindung mit testAS511, so kann ich die SPS ansprechen.
Versuche ich nun mit
- make clean
- make

die Quellen selbst zu übersetzen, wird zwar wieder ein testAS511 erstellt, die Kommunikation mit der S5 funktioniert nicht mehr. Ich habe mal ein Log der Ausgaben mit angehangen.
Code:
nodave.c: In function ‘_daveReadSingle’:
nodave.c:2107: warning: pointer targets in passing argument 2 of ‘di->ifread’ differ in signedness
nodave.c: In function ‘daveGetProgramBlock’:
nodave.c:5502: warning: pointer targets in initialization differ in signedness
nodave.c: In function ‘_daveReqTrans’:
nodave.c:5776: warning: pointer targets in passing argument 2 of ‘_daveReadChars2’ differ in signedness
nodave.c:5778: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
nodave.c:5779: warning: pointer targets in passing argument 2 of ‘_daveMemcmp’ differ in signedness
nodave.c:5791: warning: pointer targets in passing argument 2 of ‘_daveReadChars2’ differ in signedness
nodave.c:5793: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
nodave.c:5794: warning: pointer targets in passing argument 2 of ‘_daveMemcmp’ differ in signedness
nodave.c: In function ‘_daveEndTrans’:
nodave.c:5817: warning: pointer targets in passing argument 2 of ‘_daveReadChars2’ differ in signedness
nodave.c:5819: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
nodave.c:5820: warning: pointer targets in passing argument 2 of ‘_daveMemcmp’ differ in signedness
nodave.c: In function ‘_daveExchangeAS511’:
nodave.c:5868: warning: pointer targets in passing argument 2 of ‘_daveReadChars2’ differ in signedness
nodave.c:5870: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
nodave.c:5871: warning: pointer targets in passing argument 2 of ‘_daveMemcmp’ differ in signedness
nodave.c:5913: warning: pointer targets in passing argument 2 of ‘_daveReadChars2’ differ in signedness
nodave.c:5914: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
nodave.c:5915: warning: pointer targets in passing argument 2 of ‘_daveMemcmp’ differ in signedness
nodave.c:5921: warning: pointer targets in passing argument 2 of ‘_daveReadChars2’ differ in signedness
nodave.c:5922: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
nodave.c:5923: warning: pointer targets in passing argument 2 of ‘_daveMemcmp’ differ in signedness
nodave.c: In function ‘daveSCP_receive’:
nodave.c:6227: warning: pointer targets in passing argument 5 of ‘SCP_receive’ differ in signedness
nodave.c: In function ‘_daveConnectPLCS7online’:
nodave.c:6262: warning: pointer targets in passing argument 2 of ‘_daveSCP_send’ differ in signedness
nodave.c:6277: warning: pointer targets in passing argument 2 of ‘_daveSCP_send’ differ in signedness
nodave.c:6297: warning: pointer targets in passing argument 2 of ‘_daveSCP_send’ differ in signedness
nodave.c:6312: warning: pointer targets in passing argument 2 of ‘_daveSCP_send’ differ in signedness
nodave.c: In function ‘_daveSendMessageS7online’:
nodave.c:6346: warning: pointer targets in passing argument 2 of ‘_daveSCP_send’ differ in signedness
nodave.c:6347: warning: pointer targets in passing argument 5 of ‘SCP_receive’ differ in signedness
nodave.c: In function ‘_daveGetResponseS7online’:
nodave.c:6354: warning: pointer targets in passing argument 2 of ‘_daveSCP_send’ differ in signedness
testMPI.c: In function ‘main’:
testMPI.c:449: warning: pointer targets in passing argument 2 of ‘stdwrite’ differ in signedness
testMPI.c:450: warning: pointer targets in passing argument 2 of ‘stdread’ differ in signedness
testMPI.c:451: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
testMPI.c:452: warning: pointer targets in passing argument 2 of ‘stdread’ differ in signedness
testMPI.c:453: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
testMPI.c:454: warning: pointer targets in passing argument 2 of ‘stdwrite’ differ in signedness
testMPI.c:455: warning: pointer targets in passing argument 2 of ‘stdread’ differ in signedness
testMPI.c:456: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
testMPI.c:457: warning: pointer targets in passing argument 2 of ‘stdread’ differ in signedness
testMPI.c:458: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
testMPI.c:459: warning: pointer targets in passing argument 2 of ‘stdwrite’ differ in signedness
testMPI.c:460: warning: pointer targets in passing argument 2 of ‘stdread’ differ in signedness
testMPI.c:461: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
testMPI.c:463: warning: pointer targets in passing argument 2 of ‘stdwrite’ differ in signedness
testMPI.c:464: warning: pointer targets in passing argument 2 of ‘stdread’ differ in signedness
testMPI.c:465: warning: pointer targets in passing argument 2 of ‘_daveDump’ differ in signedness
testPPIload.c: In function ‘main’:
testPPIload.c:216: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testPPIload.c:217: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testPPIload.c:220: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testMPIload.c: In function ‘main’:
testMPIload.c:225: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testMPIload.c:226: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testMPIload.c:229: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
ibhsim5.c: In function ‘handleLoadProgram’:
ibhsim5.c:205: warning: pointer targets in passing argument 1 of ‘atol’ differ in signedness
ibhsim5.c:209: warning: pointer targets in passing argument 1 of ‘atol’ differ in signedness
testISO_TCPload.c: In function ‘main’:
testISO_TCPload.c:232: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testISO_TCPload.c:233: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testISO_TCPload.c:236: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testMPI_IBHload.c: In function ‘main’:
testMPI_IBHload.c:216: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testMPI_IBHload.c:217: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testMPI_IBHload.c:220: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testPPI_IBHload.c: In function ‘main’:
testPPI_IBHload.c:215: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testPPI_IBHload.c:216: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testPPI_IBHload.c:219: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
testAS511.c: In function ‘main’:
testAS511.c:166: warning: unused variable ‘saveDebug’

Könnt Ihr mir eventuell einen Tip geben, woran es hängt?

ciao Borni
 
Weitere Ausgabelogs

Hallo nochmal,

ich hänge hier noch die Ausgaben der beiden testAS511-Progamme an, zuerst den der funktionierenden, im Paket enthaltenen:

Code:
borni@obelix-ubuntu:~/libnodave-0.8.2$ ./testAS511  -s /dev/ttyS0
ConnectPLC
connect::
0:0x00,0x00,0x00,0x00,0x00,0xEF,0x00,0xEF,0x80,0xEE,0x00,0xEC,0x00,0xED,0x00,0xEA,
10:0x00,0x8B,0x04,0xCF,0xFF,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,
20:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x01,0x00,0x0A,0x00,0x00,0x10,0x03,
start of inputs in memory ef00
start of outputs in memory ef80
start of flags in memory ee00
start of timers in memory ec00
start of counters in memory ed00
start of system data in memory ea00
daveGetKG(dc:0x805f078, mantissa:0x00000000)
daveGetKG(dc:0x805f078, mantissa:0x00000000 exponent:0x00 0.00000000)
daveGetKG(00000000)
daveGetKG(80000000)
FD0: 0
FD4: 0
FD8: 0
FD12: 0.000000
daveGetKG(dc:0x805f078, mantissa:0x00423120)
daveGetKG(dc:0x805f078, mantissa:0x00423120 exponent:0x44 4337952.00000000)
daveGetKG(61046240)
daveGetKG(E1046240)
DD0: 1.52628e+20
daveGetKG(dc:0x805f078, mantissa:0x0020534C)
daveGetKG(dc:0x805f078, mantissa:0x0020534C exponent:0x23 2118476.00000000)
daveGetKG(50014D30)
daveGetKG(D0014D30)
DD0: 8.67728e+09
daveGetKG(dc:0x805f078, mantissa:0x003A2053)
daveGetKG(dc:0x805f078, mantissa:0x003A2053 exponent:0x31 3809363.00000000)
daveGetKG(5768814C)
daveGetKG(D768814C)
DD0: 2.55642e+14
daveGetKG(dc:0x805f078, mantissa:0x004E2031)
daveGetKG(dc:0x805f078, mantissa:0x004E2031 exponent:0x4C 5120049.00000000)
daveGetKG(651C4062)
daveGetKG(E51C4062)
DD0: 4.61173e+22
daveGetKG(dc:0x805f078, mantissa:0x00202020)
daveGetKG(dc:0x805f078, mantissa:0x00202020 exponent:0x20 2105376.00000000)
daveGetKG(4E808080)
daveGetKG(CE808080)
DD0: 1.07795e+09
daveGetKG(dc:0x805f078, mantissa:0x00534620)
daveGetKG(dc:0x805f078, mantissa:0x00534620 exponent:0x20 5457440.00000000)
daveGetKG(4F268C40)
daveGetKG(CF268C40)
DD0: 2.79421e+09
area start is ea00, data start is ea0c
Now disconnecting

und nun meiner selbst erstellten:
Code:
borni@obelix-ubuntu:~/libnodave-0.8.2$ ./testAS511  -s /dev/ttyS0
ConnectPLC
connect::
0:0x00,0x00,0x00,0x00,0x00,0xEF,0x00,0xEF,0x80,0xEE,0x00,0xEC,0x00,0xED,0x00,0xEA,
10:0x00,0x8B,0x04,0xCF,0xFF,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,
20:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x01,0x00,0x0A,0x00,0x00,0x10,0x03,
start of inputs in memory ef00
start of outputs in memory ef80
start of flags in memory ee00
start of timers in memory ec00
start of counters in memory ed00
start of system data in memory ea00
daveGetKG(dc:0x805e078, mantissa:0x00000000)
daveGetKG(dc:0x805e078, mantissa:0x00000000 exponent:0x00 0.00000000)
daveGetKG(00000000)
daveGetKG(80000000)
FD0: 0
FD4: 0
FD8: 0
FD12: 0.000000
daveGetKG(dc:0x805e078, mantissa:0x00423120)
daveGetKG(dc:0x805e078, mantissa:0x00423120 exponent:0x44 4337952.00000000)
daveGetKG(61046240)
daveGetKG(E1046240)
DD0: 1.52628e+20
daveGetKG(dc:0x805e078, mantissa:0x0020534C)
daveGetKG(dc:0x805e078, mantissa:0x0020534C exponent:0x23 2118476.00000000)
daveGetKG(50014D30)
daveGetKG(D0014D30)
DD0: 8.67728e+09
daveGetKG(dc:0x805e078, mantissa:0x003A2053)
daveGetKG(dc:0x805e078, mantissa:0x003A2053 exponent:0x31 3809363.00000000)
daveGetKG(5768814C)
daveGetKG(D768814C)
DD0: 2.55642e+14
daveGetKG(dc:0x805e078, mantissa:0x004E2031)
daveGetKG(dc:0x805e078, mantissa:0x004E2031 exponent:0x4C 5120049.00000000)
daveGetKG(651C4062)
daveGetKG(E51C4062)
DD0: 4.61173e+22
daveGetKG(dc:0x805e078, mantissa:0x00202020)
daveGetKG(dc:0x805e078, mantissa:0x00202020 exponent:0x20 2105376.00000000)
daveGetKG(4E808080)
daveGetKG(CE808080)
DD0: 1.07795e+09
daveGetKG(dc:0x805e078, mantissa:0x00534620)
daveGetKG(dc:0x805e078, mantissa:0x00534620 exponent:0x20 5457440.00000000)
daveGetKG(4F268C40)
daveGetKG(CF268C40)
DD0: 2.79421e+09
IF1 writeS5Bytes *** Requested data is out-of-range.
Now disconnecting

Auffällig ist, dass die Werte beim daveGetKG(dc: .... bei der funktionierenden Variante immer ein f enthalten, bei der nicht funktionierenden aber ein e enthalten.

Hat jemand eine Idee?

ciao Borni
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erste Frage: Warum solltest du die Bibliothek neu kompilieren? Die Datei libnodave.so ist eine "shared library" und du kannst Anwenderprogramme gegen diese linken.
Zweite Frage: Welche Version von gcc hat dein Ubuntu? Neuere Compiler werden immer pingeliger. Soweit ich gesehen habe, enthält die Ausgabe aber nur Warnungen. Also sollte das Ergebnis funktionieren. Oder es wäre ein Fall für die Compiler-Macher...
 
Im Ubuntu ist der GCC 4.0.3-1 enthalten.

Ich will eigentlich auch nicht die Lib neu übersetzen, ich möchte das Testprogramm für die AS511 neu erstellen, da ich meine Anwendung dann daraus ableiten will. Das scheint aber nicht zu funktionieren. Ich habe noch mal folgendes gecheckt:
Die Tar-Datei entpacken, enthaltenes testAS511 geht, siehe oben.
make clean
make

Die Datei testAS511 funktioniert nicht mehr, wie oben zu sehen. Nun nur die testAS511 wieder aus dem Tar holen, der Rest bleibt gleich. Und der Kontakt mit der S5 funktioniert wieder. Es scheint also irgendwie ein Problem beim erstellen der testAS511 zu geben.
 
Ich werde es mit dem entsprechenden gcc testen. Das wird aber ein bißchen dauern, weil ich nicht meinen gcc dauerhaft auswechseln auswechseln will :-(
Wenn du es eilig hast, besorg dir einen älteren gcc, 3.3.3 und kleiner. Auf vielen Systemen ist auch noch gcc-2.95 neben dem aktuellen gcc vorhanden. Du must dann im Makefile definieren, daß du den benutzen willst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kompilieren mit gcc-3.4 möglich, mit gcc-4.0 nicht

Hi Zottel,

Danke für Deine Hilfe, ich habe jetzt den gcc-3.4 im makefile angegeben und prompt hat das ganze auch funktioniert. Es liegt also scheinbar wirklich am gcc-4.0.

ciao Borni
 
Zurück
Oben