Paralleler Zugriff mit libnodave !!

moojoe

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

habe folgendes Problem:

Habe ein Tool (Visual Basic .NET) entwickelt mit dem ich mit mehreren Threads auf eine SPS zugreifen will. Dabei greifen 2-3 Threads parallel auf die SPS zu (Auslesen von Daten aus einem Datenbaustein). Über Ethernet funktioniert das ganze problemlos. Nun versuche ich das ganze für die Profibusschnittstelle bzw. MPI zu realisieren.
Deswegen meine Frage: Wie kann ich einen parallelen Mehrfachzugriff über die S7Online-Schnittstelle das libnodave-Treibers realisieren? Brauche ich da mehrere Verbindungen und kann ich das auch mit einer Verbindung realisieren.

Bin für jeden Vorschlag dankbar!

Gruß
moojoe
 
Brauche ich da mehrere Verbindungen und kann ich das auch mit einer Verbindung realisieren.
Es reicht eine Verbindung. Die Threads dürfen aber nicht gleichzeitig auf die Funktionen von libnodave zugreifen, speziell die daveReadBytes darf immer nur von einem Thread zur gleichen Zeit aufgerufen werden. Das solltest Du über Semaphore oder Ähnliches verriegeln.

Das gilt übrigens auch für ISo_Over_TCP, denn manche SPSen können nur 2 gleichzeitige TCP-Verbindungen.


Gruß Axel
 
Hab das mal mit den Semaphoren ausprobiert und es klappt auch mit nur einer Verbindung.

Ich möchte später möglichst viele SPS ansprechen, eigentlich so ziemlich alle der 300er und 400er Baureihe von Siemens die von libnodave unterstützt werden.

gruß Daniel
 
Zurück
Oben