Jump to content
  • Sign in to follow this  

    Daten zwischen SPS verschieben – Siemens-Grundlagen – TSEND TRCV

       (0 reviews)

    xiangjinjiao

    Im vorherigen Artikel haben wir darüber gesprochen, wie man mithilfe von Open User Communication eine Verbindung zwischen zwei SPS herstellt, und wir haben das TCP-Protokoll verwendet, um eine Verbindung zwischen zwei SPS herzustellen. Wir haben im Artikel gezeigt, wie man Anweisungen wie TCON und TDISCON verwendet, um diese Verbindung herzustellen.

    Daten zwischen SPS verschieben

    In diesem Artikel zeigen wir, wie wir mit dem Verschieben von DATEN zwischen den SPS beginnen können, die wir im letzten Artikel verbunden haben. Wir werden zu diesem Zweck die Blöcke TSEND und TRCV verwenden.

    Daten an SPS_2 senden

    Wir werden auf dem Projekt aufbauen, das wir im letzten Artikel erstellt haben, was bedeutet, dass die Blöcke TCON und TDISCON bereits in unserem Projekt installiert sind. Und wir werden unser Projekt fortsetzen, indem wir die Blöcke TSEND und TRCV hinzufügen, um mit dem Verschieben von Daten zwischen den beiden SPS zu beginnen.

    Um Daten von SPS_1 an SPS_2 zu senden, beginnen wir mit der Erstellung eines Datenblocks, der alle Informationen enthält, die wir an SPS_2 senden müssen. Siehe Bild 1.

    91-1.gif

    Bild 1. Erstellen Sie einen neuen Datenblock.

    Wie wir bereits besprochen haben, ist es besser, Ihren Blöcken einen geeigneten Namen zu geben, damit Sie leicht und intuitiv herausfinden können, wofür die einzelnen Blöcke gedacht sind.

    Zweitens fügen wir dem Datenblock einige Daten hinzu, die wir an PLC_2 senden möchten.

    Wir sind davon ausgegangen, dass wir drei verschiedene Daten-Tags senden müssen. Siehe Bild 2.

    91-2.gif

    Bild 2. Definieren Sie einige Daten, die an PLC_2 gesendet werden sollen.

    Um den gerade erstellten Datenblock an PLC_2 senden zu können, müssen wir noch etwas tun: Wir müssen sicherstellen, dass der optimierte Blockzugriff des Datenblocks nicht ausgewählt ist.

    Dazu müssen wir zu den Eigenschaften des Datenblocks gehen und diese Option deaktivieren. Siehe Bilder 3 und 4.

    91-3.gif

    Bild 3. Gehen Sie zu den Eigenschaften des Datenblocks.

    91-4.gif

    Bild 4. Deaktivieren Sie die Option „Optimierter Blockzugriff“.

    Achten Sie darauf, diese Option zu deaktivieren, bevor Sie den TSEND-Block verwenden, da sie sonst nicht funktioniert.

    Nachdem wir nun die Daten vorbereitet haben, die wir an PLC_2 senden möchten, versuchen wir, sie tatsächlich zu senden. Wir werden das mithilfe des TSEND-Blocks tun. Ziehen Sie die Anweisung einfach per Drag & Drop in Ihren Haupt-OB1, um sie Ihrer Logik hinzuzufügen. Siehe Bild 5.

    91-5.gif

    Bild 5. TSEND-Block hinzufügen.

    Wenn Sie den TSEND-Block hinzufügen, werden Sie aufgefordert, einen Instanzdatenblock zu erstellen, da es sich im Wesentlichen um einen Funktionsblock handelt. Geben Sie ihm erneut einen richtigen Namen. Siehe Bild 6.

    91-6.gif

    Bild 6. Dateninstanz für TSEND erstellen.

    Wenn der TSEND-Block Ihrer Logik hinzugefügt wird, werden Sie feststellen, dass wir einige wichtige Konfigurationen vornehmen müssen. Siehe Bild 7.

    91-7.gif

    Bild 7. Der TSEND-Block.

    Wie Sie sehen, müssen wir einige Konfigurationen vornehmen:

    • Das REQ-Signal, um das Senden der Daten zu ermöglichen.

    Für das REQ-Signal definieren wir ein Tag SendData, das zum Aktivieren des Sendens der Daten verwendet wird.

    • ID der Verbindung, die ich zum Senden der Daten verwenden werde, da ich mehr als eine Verbindung haben kann, muss ich also zuweisen, welche Verbindung verwendet wird.

    Im letzten Artikel haben wir die ID 1 für die Verbindung zwischen PLC_1 und PLC_2 definiert, also setzen wir die ID auf 1.

    • DATA, die ich senden muss. Wir haben bereits einen Datenblock mit allen Informationen erstellt, die ich senden muss, wir können den Datenblock einfach per Drag & Drop in den TSEND-Block ziehen. Siehe Bild 8.

    91-8.gif

    Bild 8. Konfigurieren Sie den TSEND-Block.

    Daten von PLC_1 empfangen

    Nachdem wir TSEND zum Senden der Daten an PLC_2 eingerichtet haben, müssen wir diese Daten innerhalb von PLC_2 empfangen. Dazu verwenden wir den TRCV-Block. Siehe Bild 9.

    91-9.gif

    Bild 9. TRCV-Block hinzufügen.

    Wie Sie sehen, fügen Sie den TRCV-Block einfach per Drag & Drop in Ihre Logik ein. Und Sie wissen, dass wir als Nächstes eine Dateninstanz für diesen Block erstellen müssen. Siehe Bild 10.

    91-10.gif

    Bild 10. Dateninstanz zum TRCV-Block hinzufügen.

    Nachdem der TRCV-Block in Ihre Logik aufgerufen wurde, müssen wir einige Parameter konfigurieren, wie wir es mit TSEND getan haben. Siehe Bild 11.

    91-11.gif

    Bild 11. Der TRCV-Block.

    Wie Sie sehen, ist EN-R ein Aktivierungssignal, das erfüllt sein muss, damit der TRCV-Block mit dem Empfangen der Daten beginnen kann. Die ID ist die Verbindung, die verwendet wird, und DATA ist der Ort, an dem die empfangenen Daten gespeichert werden.

    Wir müssen also einen Datenblock erstellen, um die darin enthaltenen Daten zu empfangen. Denken Sie daran, ihm einen richtigen Namen zu geben. Siehe Abbildung 12.

    91-12.gif

    Abbildung 12. Erstellen Sie einen Datenblock zum Empfangen von Daten.

    Definieren Sie als Nächstes die Informationstags, die von PLC_1 empfangen werden. Es empfiehlt sich, sicherzustellen, dass der Datenblock dieselbe Datenstruktur aufweist wie die Daten, die empfangen werden. Siehe Abbildung 13.

    91-13.gif

    Abbildung 13. Definieren Sie Datentags.

    Für EN-R definieren wir ein RecieveData-Tag, um den Datenempfang zu aktivieren. Und für die Verbindungs-ID ist es 1, wie wir es zuvor eingerichtet haben. Siehe Bild 14.

    91-14.gif

    Bild 14. EN-R-Signal.

    Als Nächstes ziehen Sie den von uns erstellten Datenblock per Drag & Drop in unseren TRCV-Block, um alle Konfigurationen abzuschließen. Siehe Bild 15.

    91-15.gif

    Bild 15. Fügen Sie Ihren Datenblock in den TRCV-Block ein.

    Wenn Sie den von uns erstellten DB per Drag & Drop verschieben, werden Sie feststellen, dass TIA Portal eine Warnung ausgibt und den gerade hinzugefügten Datenblock nicht akzeptiert.

    Und das liegt daran, dass wir „Optimierter Blockzugriff“ des Datenblocks nicht deaktiviert haben, wie wir es bei TSEND getan haben. Siehe Abbildung 16.

    91-16.gif

    Abbildung 16. Optimierter Blockzugriff.

    Wie bereits erwähnt, müssen wir diese Option deaktivieren, da TSEND und TRCV sonst nicht funktionieren. Siehe Abbildung 17.

    91-17.gif

    Abbildung 17. Deaktivieren Sie die Option „Optimierter Blockzugriff“.

    Sie können sehen, dass der Datenblock jetzt mit der TRCV-Anweisung akzeptiert wird, nachdem wir „Optimierter Blockzugriff“ deaktiviert haben.

    Nachdem nun der Aufruf und die Konfiguration der TSEND- und TRCV-Blöcke abgeschlossen sind, simulieren wir unser Projekt und sehen, wie die Daten gesendet und empfangen werden.

    Zuerst erstellen wir eine einfache Logik, die sicherstellt, dass Datenwerte für unsere definierten Tags vorhanden sind.

    Einfache Logik zum automatischen Erstellen von Datenwerten

    Wir erstellen eine einfache Logik zum automatischen Erstellen und Aktualisieren der Datenwerte, damit der Datentransfer zwischen den beiden SPSen leichter zu erkennen ist. Siehe Abbildung 18.

    91-18.gif

    Abbildung 18. Einfache Logik.

    Diese einfache Logik verwendet das Taktbit %M50.5, um die Werte der im Datenblock SendToPLC_2 gespeicherten Daten automatisch zu ändern.

    Simulation des SPS-Projekts

    Kompilieren wir unser Projekt und starten eine Simulation. Als Erstes müssen wir die Verbindung zwischen den beiden SPSen mithilfe des TCON-Blocks herstellen, den wir im letzten Artikel konfiguriert haben.

    Denken Sie daran, dass wir die Verbindungsfunktion von SPS_2 aktivieren und die Verbindung mit SPS_1 herstellen müssen. Siehe Bilder 19, 20 und 21.

    91-19.gif

    Bild 19. Keine Verbindung zwischen den SPSen

    91-20.gif

    Bild 20. Verbindung aktivieren.

    91-21.gif

    Bild 21. Verbindung herstellen.

    Nachdem wir nun die Verbindung zwischen den beiden SPSen hergestellt haben, verschieben wir die Daten von SPS_1 nach SPS_2, wie wir sie eingerichtet haben.

    Setzen Sie zuerst das Tag SendData auf TRUE. Siehe Bild 22.

    91-22.gif

    Bild 22. Das Signal REQ ist wahr.

    Sie können sehen, dass, obwohl SendData TRUE ist, keine Daten von SPS_1 an SPS_2 gesendet wurden. Und das liegt daran, dass der TRCV-Block noch nicht aktiviert ist, um Daten zu empfangen. Siehe Bild 23.

    91-23.gif

    Bild 23. EN-R-Signal ist falsch.

    Wie Sie sehen, ist der TRCV-Block nicht aktiviert, um Daten zu empfangen, da RecieveData noch nicht TRUE ist. Sobald EN-R wahr ist, werden die Daten vom Datenblock in PLC_1 in den Datenblock von PLC_2 gesendet. Siehe Bild 24.

    91-24.gif

    Bild 24. EN-R-Signal ist wahr.

    Sobald EN-R wahr ist, können Sie sehen, dass die Daten von PLC_1 in PLC_2 verschoben werden.

    Wenn Sie das Projekt öffnen und es selbst simulieren, werden Sie feststellen, dass die Daten in PLC_1 kontinuierlich aktualisiert und in PLC_2 übertragen werden.

    Und so können wir eine Kommunikation zwischen zwei PLCs herstellen und TSEND- und TRCV-Blöcke verwenden.

    Sign in to follow this  


    User Feedback

    Create an account or sign in to leave a review

    You need to be a member in order to leave a review

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    There are no reviews to display.


Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...