Was ist der GET-Befehl?
Genau wie der Put-Befehl ist ein GET-Befehl ein in TIA Portal integrierter Funktionsblock FB, der ausschließlich für CPUs der S7-Familie verwendet wird, um Daten von einer Remote-Partner-SPS zu einer lokalen SPS zu übertragen. Im Gegensatz zum PUT-Befehl überträgt der GET-Befehl Daten von der SPS_2 in die SPS_1, anstatt sie von der SPS_1 in die SPS_2 zu übertragen.
Wenn ich den GET-Befehl verwende, hätte ich zwei SPSen, wobei ich Daten von einer SPS namens Partner zu einer anderen SPS namens Lokal übertragen muss. Die lokale SPS ist der Ort, an dem der GET-Befehl programmiert wird.
Zusätzlich zu einer Profinet-Verbindung zwischen den beiden SPSen. An der Partner-SPS müssen einige Konfigurationen vorgenommen werden, damit die andere SPS darauf zugreifen kann.
Wir erstellen ein Beispielprojekt, um zu zeigen, wie der GET-Befehl verwendet wird.
Siemens-SPS-zu-SPS-Kommunikationsprojekt
Wir gehen von einem Beispielprojekt aus, in dem wir zwei SPS im selben Projekt haben, SPS_1, die als lokale SPS fungiert, und SPS_2, die die Partner-SPS ist.
Um eine Situation zu schaffen, in der wir den GET-Befehl verwenden müssen, gehen wir davon aus, dass wir eine Ganzzahl von der Partner-SPS_2 zur lokalen SPS_1 lesen/abrufen möchten.
Erstellen wir zunächst ein neues Projekt und fügen die beiden SPS hinzu. Siehe Bild 1.
Bild 1. Erstellen Sie ein neues Projekt und fügen Sie zwei SPS hinzu.
Jetzt müssen wir die Partner-SPS_2 konfigurieren, um den GET-Zugriff von SPS_1 zu ermöglichen. Wir müssen auch die Daten vorbereiten, die von SPS_2 in SPS_1 verschoben werden.
Zuerst müssen wir den Zugriff des GET-Befehls auf PLC_2 zulassen, der die Daten bereitstellen wird. Siehe Abbildung 2.
Abbildung 2. Zugriff des GET-Befehls zulassen.
Wie Sie auf der Abbildung sehen, erlauben wir dem GET-Befehl den Zugriff auf PLC_2 über die Eigenschaften von PLC_2. Klicken Sie in der Option „Schutz und Sicherheit“ auf
„Zugriff mit PUT/GET-Kommunikation vom Remote-Partner zulassen“.
Jetzt darf ich mit dem GET-Befehl Daten vom Partner PLC_2 lesen/abrufen.
ALS NÄCHSTES möchten wir die Daten erstellen, die auf PLC_1 verschoben werden. Wir gehen davon aus, dass PLC_1 eine Ganzzahl von PLC_2 abrufen möchte.
Wir definieren ein Ganzzahl-Tag mit dem Namen „SendDataToPLC_1“. Dieses Ganzzahl-Tag wird von PLC_2 in PLC_1 gelesen. Siehe Abbildung 3.
Abbildung 3. Zu PLC_1 zu verschiebende Daten definieren
Und das ist es; Dies ist die gesamte Konfiguration, die Sie von der PLC_2-Seite aus vorbereiten müssen, um Daten über den GET-Befehl empfangen zu können.
JETZT gehen wir zu PLC_1. In PLC_1 möchten wir eine Logik erstellen, in der wir den GET-Befehl verwenden, um Daten von PLC_2 zu lesen.
Wie im letzten Artikel ziehen wir den GET-Befehl einfach per Drag & Drop in unseren Main OB1. Siehe Bild 4.
Bild 4. Ziehen und Ablegen des GET-Befehls
Beachten Sie, dass sich der GET-Befehl im S7-Kommunikationsordner befindet, da er eine exklusive Funktion für SPS der S7-Familie ist, da er Sicherheitsprobleme beinhaltet. Denken Sie daran, dass sich in Bild 2, als wir die Verwendung des GET-Befehls erlaubten, dieser im Attribut „Sicherheit und Schutz“ der SPS-Eigenschaften befand, da er mit der Sicherheit und dem Schutz der SPS zusammenhängt.
Wenn Sie den GET-Befehl per Drag & Drop in Ihren Ordner ziehen, werden Sie aufgefordert, eine Datenblockinstanz zu erstellen, da der GET-Befehl im Wesentlichen ein Funktionsblock-FB ist. Siehe Bild 5.
Bild 5. Erstellen Sie eine Dateninstanz für den GET-Befehl.
Nachdem wir nun den GET-Befehl zu unserer Logik hinzugefügt haben, müssen wir mit der Konfiguration des GET-Blocks beginnen, wie wir es zuvor mit dem Put-Befehl getan haben. Um die Konfigurationsansichten des GET-Befehls zu öffnen, drücken Sie auf das kleine blaue Symbol oben auf dem Block. Siehe Bild 6.
Bild 6. Konfigurationsansicht öffnen.
Wir müssen zwei Hauptparameter konfigurieren, den Verbindungsparameter und den Blockparameter. Siehe Bild 7.
Bild 7. GET-Blockkonfiguration.
Wie Sie auf dem Bild sehen können, ist die lokale SPS die SPS, von der der GET-Befehl aufgerufen wird. Während die Partner-SPS diejenige ist, die die Daten liefert, ist es auch dieselbe, für die wir den GET-Zugriff zugelassen haben. In unserem Projekt ist die Partner-SPS PLC_2.
Sie können auch auf dem Bild sehen, dass das Partnerfeld leer ist und wir die SPS auswählen müssen. Siehe Bild 8.
Bild 8. Unterschiedliche Option in der Partnerliste
Wie Sie sehen, haben wir zwei verschiedene Optionen zur Auswahl für die Partner-SPS.
Nicht angegeben ist, wenn die SPSen aus unterschiedlichen TIA Portal-Projekten stammen und wenn die SPSen aus demselben TIA Portal-Projekt stammen, dann finden Sie die andere SPS in der Liste.
Wenn Sie die Option PLC_2 wählen, da sich unsere SPSen im selben Projekt befinden, wird die Verbindungskonfiguration automatisch ausgefüllt. Siehe Bild 9.
Bild 9. PLC_2 als Partner
Da sich beide SPS im selben Projekt befinden, werden alle Verbindungsparameter automatisch ausgefüllt, wenn ich die Option SPS_2 wähle.
Wenn die Partner-SPS hingegen aus einem anderen Projekt stammt, wähle ich die Option „Nicht angegeben“ und muss in diesem Fall einige Daten wie die IP-Adresse der Partner-SPS eingeben. Siehe Abbildung 10.
Abbildung 10. Partner-SPS als nicht angegeben.
Wie Sie sehen, müssen Sie, wenn der Partner nicht angegeben ist, einige Informationen wie die IP-Adresse der Partner-SPS manuell hinzufügen.
Sie können auch sehen, dass wir der lokalen SPS_1 ein Subnetz hinzufügen müssen. Gehen Sie dazu einfach zu den Profinet-Eigenschaften der SPS_1 und wählen Sie „Neues Subnetz hinzufügen“. Siehe Abbildung 11.
Abbildung 11. Subnetz für SPS_1 hinzufügen
Nachdem Sie der SPS_1 ein neues Subnetz hinzugefügt haben, ist die Konfiguration der Verbindungsparameter abgeschlossen. Siehe Bild 12.
Bild 12. Verbindungsparameter sind abgeschlossen.
Die nächste Konfiguration, um die wir uns kümmern müssen, ist der Blockparameter.
Im Blockparameter definieren wir die Daten, die zwischen den beiden SPSen verschoben werden, und auch das Triggersignal, das den Start der Ausführung des GET-Blocks ermöglicht. Siehe Bild 13.
Bild 13. Blockparameter.
Wie Sie sehen, müssen wir das Triggersignal für den GET-Block definieren und wir müssen auch definieren, welche Daten von PLC_2 verschoben werden (Lesebereich ADDR_1) und wohin diese Daten gehen (Speicherbereich RD_1).
Wir haben ADDR_1 bereits zuvor definiert, das ist das SendDataToPLC_1-Integer-Tag, das wir in PLC_2 definiert haben.
JETZT definieren wir den Speicherbereich für dieses Integer-Tag und das Triggersignal. Siehe Bild 14.
Bild 14. Triggersignal und Speicherbereich definieren
Nachdem wir das Triggersignal, ADDR_1 und RD_1 definiert haben, werden wir diese Parameter in die Blockkonfiguration eintragen. Siehe Bild 15.
Bild 15. Blockparameter eintragen
Jetzt ist die Konfiguration des GET-Blocks abgeschlossen und Sie können sehen, dass der Block nun zum Herunterladen und Ausführen bereit ist. Siehe Bild 16.
Bild 16. GET-Block
Der GET-Block ist jetzt konfiguriert und sobald das Triggersignal aktiv ist, wird der Block ADDR_1 von PLC_2 lesen und in RD_1 in PLC_1 schreiben.
- Read more...
-
- 0 comments
- 52 views