TIA Put/Get Rw/Rw

litlegerman

Level-2
Beiträge
312
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
Ich möchte gerne 50Byte mit einer anderen SPS via Put/Get aus tauschen...
Die Verbindung selbst funktioniert und die Werte gehen auch, jetzt soll allerdings die Richtung individuell.
Also Habe ich an SPS A die ein Wert in der Struktur geändert, wird der Wert in SPS B geändert (Via Put).
Ändere ich einen Wert in SPS B soll er sich in SPS A auch ändern (Via Get).
Das bekomme ich leider nicht zufriedenstellend hin...
Ich vergleiche die Struktur in SPS A mit einer gespeicherten, Struktur bei Änderung löse ich den PUT befehl aus, ansonsten wird nur GET befehl ausgelöst.
mach jetzt aber die Änderung währen grade GET die Daten überschreibt, wird die Änderung übergebügelt...

Was mach ich falsch?
 
Moin,

nochmal zum mitmeißeln:

In "SPS A" Änderung wird mit PUT in "SPS B" geschrieben.
In "SPS B" Änderung soll sich auch in "SPS A" ändern. "SPS A" liest mit GET aus "SPS B"?

Ich vergleiche die Struktur in SPS A mit einer gespeicherten, Struktur bei Änderung löse ich den PUT befehl aus, ansonsten wird nur GET befehl ausgelöst.
Wie wird GET ausgelöst? Zyklisch?

mach jetzt aber die Änderung währen grade GET die Daten überschreibt, wird die Änderung übergebügelt...
Passiert die Änderung im selben Zyklus, in dem GET die Daten überschreibt? Wenn GET die (gleichen?) Daten überschreibt, wird damit ja direkt ein PUT ausgelöst (weil sich die Daten ja ändern). Das scheint mir alles nicht ganz konsistent zu sein. Eigentlich nimmt man ja auch getrennte Datenbereiche...



Hinweis:
die eigentliche Kommunikation läuft unterlagert im Betriebssystem der SPS schneller ab, als der Aufruf von PUT/GET zeitlich voneinander "entfernt" liegt. Bei uns zeigte sich das u.a. darin, dass bei einer openTCP-Kommunikation der Baustein TSEND noch "in Bearbeitung" gemeldet hat, unterlagert aber schon gesendet hatte und wir so schnell empfangen haben, dass ein Anworttelegramm bei uns im Log vor dem loggen des gesendeten Telegramms (eintrag in LOG durch "DONE") erfolgt ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin, danke für die schnelle Anwort.
In "SPS A" Änderung wird mit PUT in "SPS B" geschrieben.
In "SPS B" Änderung soll sich auch in "SPS A" ändern. "SPS A" liest mit GET aus "SPS B"?
Ja, genauso soll es sein!
Wie wird GET ausgelöst? Zyklisch?
Das wäre mir am liebsten…
aber da hätte ich auch noch andere Fragen:
1.Kann ich den Put/Get in einem Multi-Instanz FB aufrufen und ihm dann in jeder Instanz eine andere IP abarbeiten lassen,
"SPS B“ gibt es 13 mal, oder muss ich für jede einen einzelnen FB machen?
2.Können 13 Put/Get befehle (Put und Get natürlich nicht gleichzeitig und die 13 haben dann auch alle andere IP adressen) paralell abgearbeitet werden?
Passiert die Änderung im selben Zyklus, in dem GET die Daten überschreibt? Wenn GET die (gleichen?) Daten überschreibt, wird damit ja direkt ein PUT ausgelöst (weil sich die Daten ja ändern). Das scheint mir alles nicht ganz konsistent zu sein. Eigentlich nimmt man ja auch getrennte Datenbereiche...
Das könnte die Lösung sein!? Get in einen andere Damenbereich in SPS A holen und die dann synchronisiere, fa hätte ich auch selbst drau kommen können.
Hinweis:
die eigentliche Kommunikation läuft unterlagert im Betriebssystem der SPS schneller ab, als der Aufruf von PUT/GET zeitlich voneinander "entfernt" liegt. Bei uns zeigte sich das u.a. darin, dass bei einer openTCP-Kommunikation der Baustein TSEND noch "in Bearbeitung" gemeldet hat, unterlagert aber schon gesendet hatte und wir so schnell empfangen haben, dass ein Anworttelegramm bei uns im Log vor dem loggen des gesendeten Telegramms (eintrag in LOG durch "DONE") erfolgt ist.
Interessant zu wissen!
 
Wie wird GET ausgelöst? Zyklisch?
Das wäre mir am liebsten…
aber da hätte ich auch noch andere Fragen:
1.Kann ich den Put/Get in einem Multi-Instanz FB aufrufen und ihm dann in jeder Instanz eine andere IP abarbeiten lassen,
"SPS B“ gibt es 13 mal, oder muss ich für jede einen einzelnen FB machen?
2.Können 13 Put/Get befehle (Put und Get natürlich nicht gleichzeitig und die 13 haben dann auch alle andere IP adressen) paralell abgearbeitet werden?
Ich hoffe zwar, dass es heutzutage nicht mehr so ist, aber ich kenne es so, dass ...
die einzelnen Aufträge ganz brav nacheinander und in Ruhe zu Ende ausgeführt werden müssen. Nichts parallel, egal wie gut und wichtig die Gründe dafür erscheinen mögen.
 
@litlegerman :
Wenn SPS-A und auch SPS-B im selben Datenbereich und quasi auch zur selben Zeit Daten ändern können dann wird es schwierig. Entweder eine von beiden hat dann Vorrang oder du arbeitest zu jeder der Variablen mit einem Zeitstempel ... oder es können NICHT dieselben Variablen von beiden geändert werden ...
 
Zurück
Oben