-> Hier kostenlos registrieren
Hallo,
seit ein paar Tagen (eher Nächten) beschäftige ich mit libnodave (0.8.4.5)unter Visual Basic 2008 Express.
Mein Ziel ist es einen Datenlogger zu programmieren, welcher konfigurierbare Datenbereiche (E,A,M,DB...) einer S7 317 PN/DP in ebenfalls konfigurierbaren Formaten (bin, dez,hex...) in eine simple Datei schreibt. Dies möchte ich absichtlich mit einem autarken Programm erstellen, da ich ohne Excel oder ähnliches auskommen möchte.
So weit so gut, über ISO TCP funktioniert das ganze schon mal prinzipiell, jedoch scheitere ich bei dem Versuch über den SSW7 USB nach MPI Adapter von Helmholz Daten zu lesen. Dieser steht zwar nicht direkt in der libnodave Kompatibilitätsliste, ich hatte aber irgendwo hier im Forum gelesen, dass auch Adapter von Helmholz u.U. funktionieren sollen.
Mit dem Protokoll "libnodave.daveProtoMPI" scheint die SPS Verbindung erfolgreich initiert zu werden (der Rückgabewert von "di.initAdapter" und "dc.connectPLC" ist "0", also eigentlich alles ok, auch leuchten beim Adapter alle Kommunikations LEDs). Beim Leseversuch per "dc.readBytes" oder auch das Multiread "dc.execReadRequest" jedoch schmiert mir das Programm mit Speicherverletzungsfehler (Rückgabewert von "dc.execReadRequest": FFFFFFFB) ab, auch lässt sich die "erfolgreich" geöffnete Verbindung nicht mehr schliessen.
Mit den Protokollen "libnodave.daveProtoMPI2" oder "libnodave.daveProtoMPI3" bekomme ich leider gar keine Verbindung aufgebaut.
Bei "libnodave.daveProtoMPI2" ist der Rückgabewert von "di.initAdapter" "0" und "dc.connectPLC" ist Fehlercode "3", ich weiss jedoch leider nicht wo die Fehlercodes dokumentiert sind. Wenn mir vielleicht jemand mitteilen könnte wo die Rückgabewerte inkl Fehlercodes der libnodave Funktionen und auch deren Parameteroptionen aufgelistet sind würde mir dies evtl auch schon helfen den Fehler eingrenzen zu können.
Bei "libnodave.daveProtoMPI3" ist der Rückgabewert von "di.initAdapter" bereits "FFFFFFFF"hex, ich weiss jedoch wie gesagt leider nicht was dieser Code aussagt
Ich habe bei allen Versuchen, sowohl 19,2 als auch 187,5kBaud probiert, auch habe ich die Tests einmal auf einem Rechner ohne und einmal mit installiertem SIMATIC Manager durchgeführt.
Sind evtl. auch bereits Adapter von PI (z.B. USB oder Ethernet nach MPI) bekannt welche mit libnodave funktionieren?
Ich bin für jede neue Erkenntnis offen und dankbar.
Gruss,
bool
seit ein paar Tagen (eher Nächten) beschäftige ich mit libnodave (0.8.4.5)unter Visual Basic 2008 Express.
Mein Ziel ist es einen Datenlogger zu programmieren, welcher konfigurierbare Datenbereiche (E,A,M,DB...) einer S7 317 PN/DP in ebenfalls konfigurierbaren Formaten (bin, dez,hex...) in eine simple Datei schreibt. Dies möchte ich absichtlich mit einem autarken Programm erstellen, da ich ohne Excel oder ähnliches auskommen möchte.
So weit so gut, über ISO TCP funktioniert das ganze schon mal prinzipiell, jedoch scheitere ich bei dem Versuch über den SSW7 USB nach MPI Adapter von Helmholz Daten zu lesen. Dieser steht zwar nicht direkt in der libnodave Kompatibilitätsliste, ich hatte aber irgendwo hier im Forum gelesen, dass auch Adapter von Helmholz u.U. funktionieren sollen.
Mit dem Protokoll "libnodave.daveProtoMPI" scheint die SPS Verbindung erfolgreich initiert zu werden (der Rückgabewert von "di.initAdapter" und "dc.connectPLC" ist "0", also eigentlich alles ok, auch leuchten beim Adapter alle Kommunikations LEDs). Beim Leseversuch per "dc.readBytes" oder auch das Multiread "dc.execReadRequest" jedoch schmiert mir das Programm mit Speicherverletzungsfehler (Rückgabewert von "dc.execReadRequest": FFFFFFFB) ab, auch lässt sich die "erfolgreich" geöffnete Verbindung nicht mehr schliessen.
Mit den Protokollen "libnodave.daveProtoMPI2" oder "libnodave.daveProtoMPI3" bekomme ich leider gar keine Verbindung aufgebaut.
Bei "libnodave.daveProtoMPI2" ist der Rückgabewert von "di.initAdapter" "0" und "dc.connectPLC" ist Fehlercode "3", ich weiss jedoch leider nicht wo die Fehlercodes dokumentiert sind. Wenn mir vielleicht jemand mitteilen könnte wo die Rückgabewerte inkl Fehlercodes der libnodave Funktionen und auch deren Parameteroptionen aufgelistet sind würde mir dies evtl auch schon helfen den Fehler eingrenzen zu können.
Bei "libnodave.daveProtoMPI3" ist der Rückgabewert von "di.initAdapter" bereits "FFFFFFFF"hex, ich weiss jedoch wie gesagt leider nicht was dieser Code aussagt
Ich habe bei allen Versuchen, sowohl 19,2 als auch 187,5kBaud probiert, auch habe ich die Tests einmal auf einem Rechner ohne und einmal mit installiertem SIMATIC Manager durchgeführt.
Sind evtl. auch bereits Adapter von PI (z.B. USB oder Ethernet nach MPI) bekannt welche mit libnodave funktionieren?
Ich bin für jede neue Erkenntnis offen und dankbar.
Gruss,
bool