libnodave via S7Online macht Probleme nach Verbindungstrennung und erneuten Verbinden

Zuviel Werbung?
-> Hier kostenlos registrieren
mit nmake habe ich noch nichts gemacht, aber die letzte libnodave.net.cs welche Du mir gesedet hattest konnte ich mit dem c#-compiler (csc.exe) in die libnodave.net.dll verwandeln, ich nehme an das geht dann mit der Source für die libnodave.dll gleichermassen, oder liege ich da falsch?

Ja, da liegst du falsch! Sonst hätte Ich's auch geschaft ;-)

Habe aber jetzt größere Probleme, Habe vor 1h meinen Netlink-treiber unter Windows 7 geupdatet, und nun crashed LibNodave beim Zugriff auf S7Online (egal ob meine DLL oder die orginale!)

Scheiße!

(Ja, Ich weis, Step7 ist ja auch noch nicht für Win7 freigegeben!)
 
Ja, da liegst du falsch! Sonst hätte Ich's auch geschaft ;-)

Habe aber jetzt größere Probleme, Habe vor 1h meinen Netlink-treiber unter Windows 7 geupdatet, und nun crashed LibNodave beim Zugriff auf S7Online (egal ob meine DLL oder die orginale!)

Scheiße!

(Ja, Ich weis, Step7 ist ja auch noch nicht für Win7 freigegeben!)

ups... da drücke ich Dir die Daumen, dass Du das wieder hin kriegst und das meine ich nicht nur im eigenen Interesse.

Meintest Du mit "nmake" eigentlich die "winmake.bat" im Stammverzeichnis des libnodave zip oder wie ist die offizielle Vorgehensweise zum compilieren der libnodave.dll?

Gruss,

bool
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ups... da drücke ich Dir die Daumen, dass Du das wieder hin kriegst und das meine ich nicht nur im eigenen Interesse.

Meintest Du mit "nmake" eigentlich die "winmake.bat" im Stammverzeichnis des libnodave zip oder wie ist die offizielle Vorgehensweise zum compilieren der libnodave.dll?

Gruss,

bool

Eigendlich musst du vcwinmake verwenden (sowie ich das sehe) das andere ist für compilierung unter linux mit wine!

Wenn du das nutzt brauchst du nmake und das hab Ich, aber beim compilieren kommen bei mir lauter fehler. Ich hab mir ein VS2010 C++ DLL Projekt erstellt, die entsprechenden Sourcen reinkopiert, die Compiler und Linker Sachen angepasst und das Symbol BCCWIN definiert.

Weis nur nicht ob alles richtig ist, aber kompiliert habe ich es ja!
 
Nochmal Ich...

Nebensächliches:

Windows 7 und die Netlink Treiber.

Mit dem neusten treiber von Helmholz, crash beim hinzufügen von Schnittstellen. Dann neusten treiber von Deltalogic verwendet (dachte eigendlich die beiden sind gleich (Version ist es auch)). Damit geht Step7 wieder aber Libnodave DLL crasht. Dann treiber von IBH installiert, Connection scheitert erst beim daveNewConnection aufruf.

Ohhh man....
 
Wundert mich eigentlich nicht

Hallo,

Jochen Kühner schrieb:
und nun crashed LibNodave beim Zugriff auf S7Online (egal ob meine DLL oder die orginale!)

Also mal erst einige Worte vorab : Ich schätze und achte die Leistung von Zottel mit der LibNoDave und auch Deine Bemühungen um den Protokoller und auch das Engagement von rudl. Das ist alles schön, um mal die Haussteuerung mit dem Rauf- und Runterfahren vom PC die Jalousien zu steuern.
Aber wenn ich diesen Rotz ernsthaft in ein Angebot für meine Kunden einarbeiten würde, die würden mir bei der Auftragsverhandlung freundschaftlich auf die Schulter klopfen und mir zeigen, wo der Maurer das Loch gelassen hat.

Die Freds hier im Forum zu Problemen mit LibNoDave sind wohl recht vielfältig, da kommen einige hunderte zusammen und dominieren wohl ..

Aber ich bezahle lieber ein paar hundert Euro für eine kostenplichtige, aber funktionierende und zuverlässige Komponente, bevor ich viele Arbeitstunden für die Nichtfunktionalität von Freeware verschwende. Ich muss einfach meinem Kunden die Funktionalität garantieren.
Nur mal so zum Nachdenken, und bitte nicht böse sein wegen meiner vielleicht etwas harten Worte, aber ich sehe das auf Grund meiner Erfahrung etwas pragmatischer ...

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,



Also mal erst einige Worte vorab : Ich schätze und achte die Leistung von Zottel mit der LibNoDave und auch Deine Bemühungen um den Protokoller und auch das Engagement von rudl. Das ist alles schön, um mal die Haussteuerung mit dem Rauf- und Runterfahren vom PC die Jalousien zu steuern.
Aber wenn ich diesen Rotz ernsthaft in ein Angebot für meine Kunden einarbeiten würde, die würden mir bei der Auftragsverhandlung freundschaftlich auf die Schulter klopfen und mir zeigen, wo der Maurer das Loch gelassen hat.

Die Freds hier im Forum zu Problemen mit LibNoDave sind wohl recht vielfältig, da kommen einige hunderte zusammen und dominieren wohl ..

Aber ich bezahle lieber ein paar hundert Euro für eine kostenplichtige, aber funktionierende und zuverlässige Komponente, bevor ich viele Arbeitstunden für die Nichtfunktionalität von Freeware verschwende. Ich muss einfach meinem Kunden die Funktionalität garantieren.
Nur mal so zum Nachdenken, und bitte nicht böse sein wegen meiner vielleicht etwas harten Worte, aber ich sehe das auf Grund meiner Erfahrung etwas pragmatischer ...

Gruß

Question_mark

ich denke nicht das es als Problem anzusehen ist wenn dies nun unter Windows 7 crashed (wo es auch noch keine Offizielle Siemens Version, noch einen offiziellen Netlink Treiber gibt)

Und Ich habe die Netlink Bibliothek schon in einigen Anlagen Produktiv im Einsatz und noch nie Probleme gehabt! Auch habe Ich ja bei der Libnodave den Quelltext und kann nach Fehlern selbst suchen, wobei Ich bei einer ClosedSource Bibliothek immer auf den Hersteller und dessen Reaktionszeit angewiesen bin.

Aber Ich weis auch nicht was dieser Punkt jetzt hier in diesem Thread soll, denke diese Diskussion wäre auch in einem Extra Thread besser aufgehoben!

Oder hat es was mit dem gefragten Problem zu tun?
 
@Question_mark
Bitte beim Thema des Threads bleiben und kein pauschales Runtermachen, Danke.
 
Zuletzt bearbeitet:
Pfft ..

Hallo,

Jochen Kühner schrieb:
Nebensächliches:

Windows 7 und die Netlink Treiber.

Mit dem neusten treiber von Helmholz, crash beim hinzufügen von Schnittstellen. Dann neusten treiber von Deltalogic verwendet (dachte eigendlich die beiden sind gleich (Version ist es auch)). Damit geht Step7 wieder aber Libnodave DLL crasht. Dann treiber von IBH installiert, Connection scheitert erst beim daveNewConnection aufruf.

Vielen Dank für Deine Einschätzung, das die Funktionalität nur nebensächlich ist.

bool schrieb:
Bitte beim Thema des Threads bleiben und kein pauschales Runtermachen, Danke.

Aber gerne .. Wenn Du mit Kritik nicht umgehen kannst, halte einfach das Maul :ROFLMAO:

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
???

Hallo,

Jochen Kühner schrieb:
Mit dem neusten treiber von Helmholz, crash beim hinzufügen von Schnittstellen. Dann neusten treiber von Deltalogic verwendet (dachte eigendlich die beiden sind gleich (Version ist es auch)). Damit geht Step7 wieder aber Libnodave DLL crasht. Dann treiber von IBH installiert, Connection scheitert erst beim daveNewConnection aufruf.

So langsam werde ich nachdenklich. Also alles an Treibern drin in Deinem Projekt. Also LibNoDave (ist ja Open Source), Treiber von Deltalogic, Helmholtz und IBH ...

Werden diese Treiber bei Deinem Projekt alle kostenlos mitgeliefert ?

Ich werde mir das mal alles schnell bei Dir runterladen, bevor Dir ein paar der genannten Firmen den Arsch bis zu den Ohren aufreissen :ROFLMAO:

Gruß

Question_mark
 
Hallo,



So langsam werde ich nachdenklich. Also alles an Treibern drin in Deinem Projekt. Also LibNoDave (ist ja Open Source), Treiber von Deltalogic, Helmholtz und IBH ...

Werden diese Treiber bei Deinem Projekt alle kostenlos mitgeliefert ?

Ich werde mir das mal alles schnell bei Dir runterladen, bevor Dir ein paar der genannten Firmen den Arsch bis zu den Ohren aufreissen :ROFLMAO:

Gruß

Question_mark

Hääää???? Wieso sollten diese in meinem Projekt sein...

Ich habe diese Treiber bei mir installiert um zu sehen mit welchem der Netlink unter Windows 7 wieder zum funktionieren zu bringen ist...


Question_mark schrieb:
Aber gerne .. Wenn Du mit Kritik nicht umgehen kannst, halte einfach das Maul

Mir kommt es eher so vor als könntest du das nicht....
 
Da kneift aber unser Jochen

Hallo,

Jochen Kühner schrieb:
Mir kommt es eher so vor als könntest du das nicht....

Du hast hier im Forum in einigen Beiträgen um kritische und aber auch konstruktive Kritik und Anregungen zu Deinem Projekt regelrecht gebettelt. Du hast diese Kritik und auch Anregungen von mir bekommen und maulst jetzt hier herum. Geh doch einfach mit dem User "bool" unter die Kuscheldecke und lass Dich von Ihm bewundern :ROFLMAO:

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Vielen Dank für Deine Einschätzung, das die Funktionalität nur nebensächlich ist.

Question_mark

Das Nebensächliche stand hier, da dies eigendlich nichts mit der Thread Topic zu tun hat.

Wollte nur erwähnen das eben das meiste unter Win7 eben noch nicht geht, und dies hat nix mit LibNoDave zu tun wenn die Treiber nicht laufen!
 
Andere Version...

Hier nochmal ne anderst kompilierte Version.

Probiers mal damit.
 

Anhänge

  • libnodave.zip
    65,9 KB · Aufrufe: 10
...Das ist alles schön, um mal die Haussteuerung mit dem Rauf- und Runterfahren vom PC die Jalousien zu steuern.
Aber wenn ich diesen Rotz ernsthaft in ein Angebot für meine Kunden einarbeiten würde, die würden mir bei der Auftragsverhandlung freundschaftlich auf die Schulter klopfen und mir zeigen, wo der Maurer das Loch gelassen hat.
Jooh...
Da es ausser Libnodave nicht so viele Open Source Lösungen gibt, behaupte ich mal frech, daß fast der ganze "Rest" des Forums Probleme behandelt, die Leute mit Lösungen von "professionellen" Anbietern haben. Ich meine jetzt noch nicht einmal nur Kommunikationsbibliotheken sondern die gesamte Automatisierungstechnik, Hard- und Firmware eingeschlossen.
Und wie kann es sein, daß viele Anwender eher hier Hilfe finden als bei dem "professionellen" Support des Herstellers?

Die Freds hier im Forum zu Problemen mit LibNoDave sind wohl recht vielfältig, da kommen einige hunderte zusammen und dominieren wohl ..

Dominieren was? Das Forum? Den Themenbereich SPS-PC-Kommunikation? Letzteres mag vielleicht sein.

Zur Menge tragen mindestens 3 Kategorien von Threads bei, die es bei anderen Produkten gar nicht gibt:

- Selber kompilieren. Kann man ohne Quellcode nicht. Ist ja bei "professionellen" Produkten nicht nötig. Ist bei Libnodave auch nicht nötig. Aber wer mag und kann, kann. Bitte sehr! Wer aber dabei Hilfe braucht: Es gibt ein README.compiling, das muß reichen.

- Leute, die Libnodave ausprobieren wollen, die aber nicht wissen, wie sie eine DLL einbinden, wie sie eine Header-Datei benutzen, die die Speicheraufteilung einer S7 nicht verstehen, die nicht vorhandene Datenbausteine lesen wollen, etc. Ich denke, daß der Großteil dieser Leute durchaus um die Grenzen der eigenen Fähigkeiten weiß. Daher würden sie sich scheuen, einige hundert Euro zu investieren. Aber mit Libnodave ist der Versuch kostenlos.

- Der dritte Punkt ist meine Schuld: Ich bezeichne die Nutzung von s7online als "experimentell", ich rate davon ab, es gibt keinen Grund es zu nutzen außer mit CP5x1x. Es ist extrem "buggy". Ich selbst brauche es nicht und habe es daher niemals verbessert. Aus heutiger Sicht hätte ich s7online vielleicht besser nie veröffentlicht.

Aber ich bezahle lieber ein paar hundert Euro für eine kostenplichtige, aber funktionierende und zuverlässige Komponente, bevor ich viele Arbeitstunden für die Nichtfunktionalität von Freeware verschwende.
Natürlich, WENN das die Alternativen sind.
Ich habe auch schon "viele Arbeitstunden" damit verschwendet, die Grenzen oder Unzulänglichkeiten sogenannter "funktionierender und zuverlässiger Komponenten" zu erkunden. Ich glaube, da gibt es auch einen psychologischen Faktor:
Wenn das Produkt einen klangvollen Namen hat, sucht der Neuling (Neuling in Bezug auf das Produkt, nicht auf das Fachgebiet) den Fehler zuerst bei sich. Wenn es "Open Source", Freeware, kostenlos, namenlos ist, tendiert er eher dazu, Schwierigkeiten dem Produkt anzulasten.

Question_mark schrieb:
...o langsam werde ich nachdenklich. Also alles an Treibern drin in Deinem Projekt. Also LibNoDave (ist ja Open Source), Treiber von Deltalogic, Helmholtz und IBH ...
Nur um es klarzustellen: Libnodave benötigt keine Treiber von Deltalogic, Helmholtz und IBH. Es kann mit den diversen Net-Link-Varianten deren PC-seitige Protokolle sprechen. Das ist dann auch zuverlässig.
Es KANN aber auch über s7online diese Treiber verwenden. Davon rate ich ab, weil eben die s7online-Anbindung fehlerhaft ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eigendlich musst du vcwinmake verwenden (sowie ich das sehe) das andere ist für compilierung unter linux mit wine!
Makefile.VC
Makefile.VC.WINE
Sind die Makefiles.
vcwinmake ruft nmake mit Makefile.VC auf.

Du kannst anpassen, welches du willst, aber bei Makefile.VC sollte es einfach weniger Arbeit sein...
Wenn du das nutzt brauchst du nmake und das hab Ich...
Das ist ja schon was...
..., aber beim compilieren kommen bei mir lauter fehler.
Meistens wird etwas nicht gefunden. Daran können Dateipfade in der Batch-Datei, im Makefile oder Umgebungsvariablen schuld sein. Und:
Libnodave ist C, nicht C++!!!!
Ich hab mir ein VS2010 C++ DLL Projekt erstellt, die entsprechenden Sourcen reinkopiert, die Compiler und Linker Sachen angepasst und das Symbol BCCWIN definiert.
Nichts dagegen einzuwenden. Mußt du halt nochmal machen, wenn sich irgendwann das makefile ändert...
Weis nur nicht ob alles richtig ist, aber kompiliert habe ich es ja!
Der ultimative Test: Wenn du nichts geändert hast, sollte die resultierende Libnodave.dll sollte genauso lang sein, wie die runtergeladene.
 
Hier nochmal ne anderst kompilierte Version.

Probiers mal damit.


Hab grad die neue dll verwendet, doch dann bringt u.a. die Funktion dc.connectPLC schon beim Connect via ISO on TCP die Rückmeldung -1.
Die prinzipielle Verbindung beim S7Online bringt zwar keine Fehler, jedoch geht nun schon beim ersten Verbinden die dc.execReadRequest auf -128.

Gruss,

bool
 
Soo, nun endlich...

So, habs nun mit Zottels Batch kompiliert bekommen (musste noch vcvarsall.bat in die winmake.bat aufnehmen das alle enviroment variablen gesetzt sind!)

Probiers mal damit, wenn die auch nicht geht, weis ich im Moment auch nicht weiter.
 

Anhänge

  • libnodave.zip
    67,9 KB · Aufrufe: 8
Zuviel Werbung?
-> Hier kostenlos registrieren
So...

Hab nun das verworfen die LibNodave zu ändern, hab nun in meiner erweiterten libnodave.net.dll die funktion libnodave.daveStrS7onlineError definiert.

Ruf die mal auf wenn dir S7Online -1 als Handle zurückgibt, oder wenn die Kommunikation nicht mehr funzt, um zu sehen ob der S7 Online Treiber einen fehler wirft.

Die Dll lade Ich in den anderen Thread wo Ich bereits die vorige Version hab!

Libnodave.dll kannst du dann wieder die orginale verwenden!
 
So, habs nun mit Zottels Batch kompiliert bekommen (musste noch vcvarsall.bat in die winmake.bat aufnehmen das alle enviroment variablen gesetzt sind!)

Probiers mal damit, wenn die auch nicht geht, weis ich im Moment auch nicht weiter.

Die ISO on TCP Verbindung und die erste Verbindung mit S7Online laufen wieder wie zuvor, doch leider gibt es ab der zweiten Verbindung beim Lesen noch immer eine -128 als Ergebnis.

Wie zuvor ist zu beobachten, dass vor der zweiten Verbindung
fds.rfd noch immer = 1 ist und die Funktion ohne Verzögerung durchläuft und auch danach ist fds.rfd = 1. Beim ersten Verbinden braucht sie normalerweise immer ein paar Sekunden um die Verbindung aufzubauen.

Du meintest, dass Du die Fehlercodes in die DL Limplementiert hast, doch wie kann ich diese Fehlercodes von openS7online auslesen? Die Funktion gibt ja nur das fds.rfd zurück.


Gruss,

bool

 
Hab nun das verworfen die LibNodave zu ändern, hab nun in meiner erweiterten libnodave.net.dll die funktion libnodave.daveStrS7onlineError definiert.

Ruf die mal auf wenn dir S7Online -1 als Handle zurückgibt, oder wenn die Kommunikation nicht mehr funzt, um zu sehen ob der S7 Online Treiber einen fehler wirft.

Die Dll lade Ich in den anderen Thread wo Ich bereits die vorige Version hab!

Libnodave.dll kannst du dann wieder die orginale verwenden!


ok, werde ich probieren.

Hatte diesen post leider zu spät gesehen und bereits selbst gepostet.

Gruss,

bool
 
Zurück
Oben