Hauptmenü

MB_Server

Begonnen von NetFritz, 13. Januar 2012, 18:59:32

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

NetFritz

Hallo

Ich bin auf der Suche nach einem Demo wo ich mit einem PHP oder Perl Script auf meine WAGO 750-849 zugreifen kann.
Ist der Baustein MB_Server dafür geeignet?.
Ich stelle mir das so vor das das Script eine TCP(UDP) Verbindung zur WAGO öffnet und immer lauscht ob ein Bit den Zustand gewechselt hat.
Dazu müsste der Baustein MB_Server an meinen Linux-PC ein Telegramm senden.
Ist das so möglich?
Kann man aus der in der network.lib bei bausteine/demo/ das Programm "MB_SERVER_DEMO" dafür verwenden?.

Ich habe schon seit einiger Zeit mit phpmodbus von WAGO auf meine WAGO zugegriffen.
Ich muss dazu aber jedes mal eine Anfrage an die WAGO senden das ich eine Antwort bekomme.
Das belastet das Netzwerk und auch den Linux-PC wenn man das zu oft macht.

Gruß NetFritz

peewit

#1
hallo

bei modbus tcp sieht es folgend aus

es gibt einem server und einen client
der client ist der einzig aktive teil, und der server beantwortet immer nur die anfragen des clients

für die sps seite haben wir den client als auch server baustein

modbus tcp ist aber kein eventgesteuertes protokoll
du könntest aber auch eine bidirektionale kopplung aufbauen
jede seite ist client als auch master über zwei getrennte verbindungen
so könnte jede seite immer nur eventabhängig den datenverkehr durchführen

so arbeitet z.b. das OpenDataPort Protokoll (modbus tcp mit zwei verbindungen)

NetFritz

Hallo
Ich brauche ja nicht beide Seiten die Eventabhängig den Datenverkehr durchführen.
Mir reicht es ja, das die SPS sich meldet, wenn sie neue Daten hat.
Sie sich dann mit den PC austauscht und dann die neuen Daten an den PC übermittelt.
Gruß NetFritz

peewit

hallo

dann ist die sps der client und dein pc der server
aber es wird schwierig einen modbus tcp/udp server auf basis php zu finden

im prinzip kann man auch einfach byteblöcke per event von sps zu pc schicken und das php script
zerlegt die bytes in variablen....

überleg dir das mal .....
wenn du eine gute idee hast, dann können wir vielleicht wieder eine sonderlösung machen wie "DLOG_RRD"

NetFritz

Hallo
Ja vielleicht habe ich ja noch eine andere Idee.
Ich muss erst mal die Oscat.libs auf meiner Wago auf den neusten Stand bringen,
oder warte ich noch auf die Neuen.
Gruß NetFritz

NetFritz

Hallo
Vielleicht ist das die richtige Möglichkeit ?
Gibt es schon was neues dazu ?
http://www.oscat.de/community/index.php/topic,1194.msg6882.html#msg6882   
Gruß NetFritz

peewit

ja, das habe ich schon fertig programmiert und ist in der aktuellen network.lib 1.21 drinnen

jedoch ist dieser datenaustausch nicht eventorientiert, sonder zyklisch
somit ist es nicht das was du möchtest

NetFritz

Hallo
Zyklisch kann es schon sein, kommt nur darauf an wie lang die Pausen sind.
Ich rufe die WAGO phpmodbus z.Z. jede Minute auf, was mir eindeutig zu lange ist.
Gruß NetFritz