-> Hier kostenlos registrieren
Hallo,
zunächst einmal ein herzliches dankeschön an den/die Macher von libnodave. Ich teste die library seit zwei Tagen (unter .NET) und bin wirklich sehr angetan. Die Kommunikation mit einer cp5611 über s7online und einer 315er SPS funktioniert wirklich einwandfrei.
Nur ein großes Problem steht mir im Weg: Ich muss in meiner Anwendung (es geht um eine Simulation) auf eine große Menge Daten, die überall verstreut in der SPS liegen können, lesend und schreibend zyklisch zugreifen. Also Eingänge, Ausgänge, Merker und DBs.
Nun habe ich getestet, dass über Mpi das auslesen und schreiben von 200 MerkerBytes in jeweils einer Anforderung schon ca. 80ms dauert. Wenn ich nun zudem in 10DBs jweils 200 Byte lesen und schreiben will, und auch noch 200Byte Ein-/und Ausgänge dann komme ich ganz schnell auf eine minimale Zykluszeit von einigen Sekunden! Die Anwendung sollte aber nach Möglichkeit mit ca 0,5s laufen.
Selbst wenn ich in meiner Anwendung nur 200Bit benötige muss ich ja immer den ganzen Speicher einlesen, da diese 200Bit überall verteilt sein können. (ist in der Anwendung frei konfigurierbar).
Nur die benötigten Bytes auszulesen würde noch länger dauern, da noch mehr einzelne Anforderungen notwendig wären.
Nun ist die Frage: Es muss doch irgendwie auch eine schnellere Möglichkeit geben. WinCC beispielsweise kann doch auch sehr viele Variablen, die überall verstreut sein können, auslesen und schreiben und dabei trotzdem die Zykluszeiten einhalten... Liegt das an der Libnodave bzw. wäre es mit anderen (kostenpflichtigen) Tools eher schneller möglich? Oder über OPCServer?
Über Profibus (1,5Mbit)habe ich es übrigens auch schon probiert, ist aber auch nur knapp doppelt so schnell...
Gruß
zunächst einmal ein herzliches dankeschön an den/die Macher von libnodave. Ich teste die library seit zwei Tagen (unter .NET) und bin wirklich sehr angetan. Die Kommunikation mit einer cp5611 über s7online und einer 315er SPS funktioniert wirklich einwandfrei.
Nur ein großes Problem steht mir im Weg: Ich muss in meiner Anwendung (es geht um eine Simulation) auf eine große Menge Daten, die überall verstreut in der SPS liegen können, lesend und schreibend zyklisch zugreifen. Also Eingänge, Ausgänge, Merker und DBs.
Nun habe ich getestet, dass über Mpi das auslesen und schreiben von 200 MerkerBytes in jeweils einer Anforderung schon ca. 80ms dauert. Wenn ich nun zudem in 10DBs jweils 200 Byte lesen und schreiben will, und auch noch 200Byte Ein-/und Ausgänge dann komme ich ganz schnell auf eine minimale Zykluszeit von einigen Sekunden! Die Anwendung sollte aber nach Möglichkeit mit ca 0,5s laufen.
Selbst wenn ich in meiner Anwendung nur 200Bit benötige muss ich ja immer den ganzen Speicher einlesen, da diese 200Bit überall verteilt sein können. (ist in der Anwendung frei konfigurierbar).
Nur die benötigten Bytes auszulesen würde noch länger dauern, da noch mehr einzelne Anforderungen notwendig wären.
Nun ist die Frage: Es muss doch irgendwie auch eine schnellere Möglichkeit geben. WinCC beispielsweise kann doch auch sehr viele Variablen, die überall verstreut sein können, auslesen und schreiben und dabei trotzdem die Zykluszeiten einhalten... Liegt das an der Libnodave bzw. wäre es mit anderen (kostenpflichtigen) Tools eher schneller möglich? Oder über OPCServer?
Über Profibus (1,5Mbit)habe ich es übrigens auch schon probiert, ist aber auch nur knapp doppelt so schnell...
Gruß