Jump to content
  • Sign in to follow this  

    Datenübertragung zwischen SPS-Systemen – TSEND_C und TRCV_C

       (0 reviews)

    leikang

    In den letzten Artikeln haben wir besprochen, wie man mithilfe der TCON- und TDISCON-Blöcke eine Verbindung zwischen zwei SPS herstellt und wie man mithilfe der TSEND- und TRCV-Blöcke Daten zwischen ihnen verschiebt.

    Datenübertragung zwischen SPS-Systemen
    In diesem Artikel lernen wir eine neue Anweisung kennen, die zur Kommunikation und Datenübertragung zwischen SPS-Systemen mithilfe der TSEND_C- und TRCV_C-Blöcke verwendet werden kann.

    TSEND_C

    Die Anweisung TSEND_C ist eine TIA-Portal-Anweisung, die zum Einrichten und Herstellen einer Verbindung zwischen zwei SPS verwendet wird. Sobald die Verbindung eingerichtet und hergestellt wurde, wird sie automatisch von der SPS aufrechterhalten und überwacht.

    Die Anweisung TSEND_C wird asynchron ausgeführt und hat die folgenden Funktionen:

    • Einrichten und Herstellen einer Kommunikationsverbindung ähnlich dem TCON-Block.
    • Senden von Daten über eine bestehende Kommunikationsverbindung ähnlich dem TSEND-Block.
    • Beenden oder Zurücksetzen der Kommunikationsverbindung ähnlich dem TDISCON.

    Daher wird TSEND_C als kompakt bezeichnet, da es gleichzeitig als mehr als 3 Blöcke fungiert.

    TRCV_C

    Der TRCV_C-Befehl ist ebenfalls ein TIA-Portal-Befehl, der zum Einrichten und Herstellen einer Verbindung zwischen zwei SPSen verwendet wird. Sobald die Verbindung eingerichtet und hergestellt wurde, wird sie automatisch von der SPS aufrechterhalten und überwacht.

    Der Befehl „TRCV_C“ wird asynchron ausgeführt und implementiert nacheinander die folgenden Funktionen:

    • Einrichten und Herstellen einer Kommunikationsverbindung ähnlich wie TCON.
    • Empfangen von Daten über eine bestehende Kommunikationsverbindung ähnlich wie TRCV.
    • Beenden oder Zurücksetzen der Kommunikationsverbindung ähnlich wie TDISCON.

    Daher wird TRCV_C als kompakt bezeichnet, da es gleichzeitig als mehr als 3 Blöcke fungiert.

    Verwendung von TSEND_C und TRCV_C in unserem SPS-Projekt

    Im letzten Artikel mussten wir, als wir Daten von SPS_1 an SPS_2 senden und senden mussten, in jeder SPS drei verschiedene Blöcke verwenden. Siehe Bild 1.

    89-1.gif

    Bild 1. Logik in PLC_1

    Wie Sie sehen, haben wir die TCON- und TDISCON-Blöcke verwendet, um die Verbindung herzustellen und zurückzusetzen, und wir haben TSEND verwendet, um die Daten von PLC_1 zu senden. Und dasselbe wurde für PLC_2 getan. Siehe Bild 2.

    89-2.gif

    Bild 2. Logik von PLC_2

    Auch hier haben wir die TCON- und TDISCON-Blöcke verwendet, um die Verbindung herzustellen und zurückzusetzen, und wir haben TRCV verwendet, um die Daten von PLC_1 zu empfangen.

    Nun möchten wir alle diese Blöcke ersetzen und versuchen, stattdessen TSEND_C und TRCV_C zu verwenden, um dieselbe Funktionalität zu erreichen.

    Zuerst verwenden wir in PLC_1, wo wir Daten senden müssen, den TSEND_C-Block. Ziehen Sie den Block einfach per Drag & Drop in den Haupt-OB1. Siehe Bild 3.

    89-3.gif

    Bild 3. TSEND_C-Block hinzufügen.

    Da TSEND_C im Wesentlichen ein Funktionsblock ist, werden Sie aufgefordert, eine Dateninstanz zu erstellen. Siehe Bild 4.

    89-4.gif

    Bild 4. Eine Instanz für TSEND_C erstellen

    TSEND_C ähnelt dem TSEND-Block insofern, als dass Sie einige Konfigurationen vornehmen und einige Signale hinzufügen müssen. Siehe Bild 5.

    89-5.gif

    Bild 5. TSEND_C-Block

    Jetzt benötigen wir ein Signal für REQ und Daten zum Senden und auch zum Konfigurieren der Verbindung. Für das REQ-Signal haben wir ein SendData-Tag erstellt.

    Außerdem können wir den Datenblock, den wir im letzten Artikel erstellt haben und den wir an PLC_2 senden müssen, einfach per Drag & Drop auf den DATA-Eingang des Blocks ziehen. Siehe Bild 6.

    89-6.gif

    Bild 6. Konfiguration des TSEND_C-Blocks.

    Um die Verbindungsparameter für den Block zu konfigurieren, können wir auf das kleine Konfigurationssymbol oben auf dem Block drücken, um die Konfigurationsansicht zu öffnen.

    Die Konfigurationsansicht sieht der des TCON-Blocks sehr ähnlich. Siehe Bild 7.

    89-7.gif

    Bild 7. Verbindungsparameter von TSEND_C

    Wir haben bereits in früheren Artikeln gezeigt, wie die Verbindungsparameter konfiguriert werden, also können wir einfach dasselbe tun wie beim TCON-Block, siehe Bild 8.

    89-8.gif

    Bild 8. Konfiguration der Verbindungsparameter

    Mit dieser Verbindungskonfiguration haben wir alle Konfigurationen des TSEND_C abgeschlossen. Beachten Sie, wie viel schneller das im Vergleich zur Konfiguration der TCON-, TDISCON- und TSEND-Blöcke ging.

    Jetzt müssen wir TRCV_C zu PLC_2 hinzufügen, damit es die von PLC_1 gesendeten Daten empfangen kann. Ziehen Sie im Haupt-OB1 von PLC_1 einfach TRCV_C per Drag & Drop in Ihre Logik. Siehe Abbildung 9. Denken Sie daran, eine Dateninstanz für den TRCV_C-Block zu erstellen.

    89-9.gif

    Abbildung 9. TRCV_C hinzufügen

    Sobald TRCV_C zu Ihrer Logik hinzugefügt wurde, müssen wir es konfigurieren. Wie bei TSEND_C müssen wir ein Signal hinzufügen, um den Datenempfang zu aktivieren, und wir müssen auch den Datenblock hinzufügen, in dem wir die Daten speichern werden. Siehe Abbildung 10.

    89-10.gif

    Abbildung 10.TRCV_C

    Wir haben ein RecieveData-Tag als EN_R-Signal definiert. Siehe Bild 11.

    89-11.gif

    Bild 11. EN_R-Tag definieren

    Denken Sie daran, die Option „optimierter Blockzugriff“ des Datenblocks zu deaktivieren, sonst funktioniert der Block nicht, wie wir in den letzten Artikeln gezeigt haben.

    Als nächstes müssen wir die Verbindungsparameter des TRCV_C-Blocks konfigurieren, wie wir es mit dem TSEND_C getan haben. Denken Sie nur daran, dass die nicht angegebene Partner-SPS jetzt die PLC_1 ist, siehe Bild 12.

    89-12.gif

    Bild 12. Verbindungsparameter von TRCV_C

    SPS-Projektsimulation

    Nachdem wir nun den TSEND_C- und TRCV_C-Block konfiguriert haben, möchten wir unser Projekt simulieren und sehen, wie sie funktionieren. Zuerst erstellen wir jedoch eine einfache Logik, um die Daten von PLC_1 automatisch zu aktualisieren, die an PLC_2 gesendet werden. Siehe Bild 13.

    89-13.gif

    Bild 13. Einfache Logik zum automatischen Aktualisieren von Daten.

    Lassen Sie uns nun eine Simulation für unser Projekt kompilieren und starten. Das Erste, was Sie bemerken werden, ist, dass PLC_1 und PLC_2 sofort versuchen, eine Verbindung herzustellen, da wir TSEND_C und TRCV_C eingerichtet haben. Sie versuchen automatisch, eine Verbindung herzustellen. Deshalb wird eine Verbindung zwischen den beiden SPSen hergestellt. Siehe Abbildung 14.

    89-14.gif

    Abbildung 14. Die Verbindung wird direkt hergestellt.

    Wie Sie sehen, wird die Verbindung zwischen den SPSen direkt hergestellt, da der Parameter CONT in TSEND_C und TRCV_C auf TRUE gesetzt ist, was bedeutet, dass der Block automatisch versucht, eine Verbindung mit der Partner-SPS herzustellen. Wir können hier jedes Steuersignal einfügen, um den Verbindungsaufbau zu steuern.

    Außerdem können Sie sehen, dass REQ von TSEND_C und EN_R von TRCV_C auf FALSE gesetzt sind, weshalb keine Daten zwischen den SPSen übertragen werden. Siehe Abbildung 15.

    89-15.gif

    Abbildung 15. Keine Datenübertragung zwischen den SPSen.

    Wenn das REQ-Signal von TSEND_C auf true gesetzt ist, versucht PLC_1, die Daten zu senden, wartet aber darauf, dass die andere PLC den Datenempfang freigibt, siehe Bild 16.

    89-16.gif

    Bild 16. REQ ist true.

    Wie Sie sehen, ist SendData TRUE, aber es wurden keine Daten gesendet, da RecieveData immer noch false ist.

    PLC_2 empfängt nur dann Daten von PLC_1, wenn ReceiveData auf true gesetzt ist. Siehe Bild 17.

    89-17.gif

    Bild 17. Daten werden an PLC_2 gesendet

    Wie Sie sehen, werden Daten von PLC_1 an PLC_2 gesendet, wenn RecieveData true ist. Sie können jedoch sehen, dass die Daten in den beiden PLCs unterschiedlich sind, da sich die Daten von PLC_1 automatisch gemäß der einfachen Logik ändern, die wir zuvor erstellt haben. Das bedeutet, dass das Signal EN_R die Datenübertragung einmal zulässt. Wenn ich erneut Daten übertragen muss, muss dieses Signal erst falsch und dann wieder wahr werden.

    Sehen Sie sich das beigefügte TIA Portal-Projekt an und sehen Sie sich die Datenübertragung zwischen SPSen an.

    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...