Jump to content
  • German database on PLC programming technology and HMI interface design

    PLC, DCS, HMI and SCADA product application technical articles

    xiangjinjiao
    In einem früheren Artikel haben wir über den PUT-Befehl gesprochen und wie wir ihn verwenden, um zwischen zwei SPSen zu kommunizieren, egal ob sie sich im selben Projekt oder in zwei verschiedenen Projekten befinden. In diesem Artikel sprechen wir über den GET-Befehl, der für das Siemens-SPS-zu-SPS-Kommunikationsprojekt zum Datenaustausch verwendet wird.
    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.

    caixiaofeng
    In früheren Artikeln haben wir begonnen, die verschiedenen Möglichkeiten der Kommunikation zwischen zwei oder mehr SPS zu besprechen. Bisher haben wir über die I-Device-Funktion sowie die PUT- und GET-Befehle gesprochen, die ausschließlich für Siemens-SPS bestimmt waren.
    Kommunikation zwischen Siemens-SPS und anderen SPS
    In diesem Artikel werden wir eine andere Möglichkeit besprechen, zwei SPS miteinander zu verbinden. Diese Methode hat mehr Vorteile als die zuvor besprochenen PUT- und GET-Befehle, da sie im Gegensatz zu den PUT/GET-Befehlen steht, die ausschließlich der S7-Familie vorbehalten waren. Diese neue Methode ist eine offene Benutzerkommunikation, d. h. wir können sie zur Kommunikation zwischen einer SIEMENS-SPS und jeder beliebigen anderen SPS-Marke verwenden. Es müssen nicht einmal zwei SPS sein. Diese Methode kann zwischen einer SPS und jedem anderen Gerät kommunizieren, das das TCP-Netzwerkprotokoll versteht, wie z. B. PCs, Server, Drucker usw.
    In diesem Artikel zeigen wir, wie man eine Kommunikation zwischen zwei SPS mithilfe der TCON- und TDISCON-Blöcke einrichtet, und im nächsten Artikel zeigen wir, wie man nach dem Einrichten der Verbindung Daten zwischen den SPS verschiebt.
    Offene Benutzerkommunikationsblöcke TCON und TDISCON
    Wir verwenden den TCON-Block, um eine Kommunikationsverbindung zwischen zwei SPS einzurichten und herzustellen. Sobald die Verbindung eingerichtet und hergestellt wurde, wird sie automatisch von der SPS aufrechterhalten.
    Beide Kommunikationspartner rufen die TCON-Anweisung auf, um die Kommunikationsverbindung einzurichten und herzustellen. Das bedeutet, dass ich den TCON-Block in beiden SPS aufrufen muss und wir den Block in beiden SPS konfigurieren müssen, wie wir im Beispielprojekt sehen werden.
    Während der Blockkonfiguration geben wir an, welcher Partner der aktive Kommunikationsendpunkt und welcher der passive ist. Das heißt, welche SPS versucht, eine Verbindung herzustellen, und welche öffnet einen Kommunikationsport und wartet auf die andere.
    Eine bestehende Verbindung wird beendet und die aufgebaute Verbindung entfernt, wenn der TDISCON-Block ausgeführt wird oder wenn die CPU in den STOP-Modus wechselt. Um die Verbindung erneut einzurichten und herzustellen, müssen Sie TCON erneut ausführen.
    Beispiel-SPS-Projekt mit TCON
    Wie wir bereits in früheren Artikeln erklärt haben, müssen wir zum Einrichten einer Kommunikation zwischen zwei SPSen zwei Dinge einrichten:
    Kommunikation zwischen den SPSen. Datenübertragung zwischen den beiden SPSen. In diesem Artikel richten wir mithilfe des TCON-Blocks eine offene Benutzerkommunikation mit TCP-Protokoll zwischen zwei SPSen ein. Im nächsten Artikel zeigen wir, wie Daten verschoben werden, nachdem die Verbindung hergestellt wurde.
    Lassen Sie uns zunächst ein neues Projekt erstellen und unsere beiden SPSen hinzufügen. Wir fügen die CPU1516-3PN/DP-SPS hinzu und nennen sie PLC_1 und PLC_2. Ziel ist es, eine Verbindung zwischen ihnen herzustellen. Siehe Bild 1.

    Bild 1. Fügen Sie PLC_1 und PLC_2 hinzu.
    Nun fügen wir einfach den TCON-Block in unsere SPS-Logik ein. Wie bereits erwähnt, müssen wir den TCON für beide SPS aufrufen. Beginnen wir mit PLC_1.
    Ziehen Sie einfach den TCON-Block, den Sie im geöffneten Ordner für die Benutzerkommunikation finden, per Drag & Drop. Siehe Bild 2.

    Bild 2. Ziehen Sie die TCON-Anweisung per Drag & Drop
    Der TCON-Block ist im Wesentlichen ein Funktionsblock. Wenn wir ihn also zu meinem Haupt-OB1 hinzufügen, werden wir aufgefordert, eine Datenblockinstanz für diesen Block zu erstellen.
    Erstellen Sie die Dateninstanz und geben Sie ihr einen geeigneten Namen. Siehe Bild 3.

    Bild 3. Dateninstanz erstellen.
    Jetzt wird der TCON-Block zu Ihrer Logik hinzugefügt. Wir müssen die Verbindungsparameter für den Block konfigurieren.
    Drücken Sie einfach auf das kleine blaue Konfigurationssymbol über dem Block. Siehe Bild 4.

    Bild 4. Konfigurationsansicht öffnen
    Wenn Sie auf das blaue Symbol drücken, öffnen Sie die Konfigurationsansicht für den TCON-Block, wo wir die Verbindungsparameter einrichten können.
    Sie finden sie ziemlich genau wie die Verbindungsparameter der PUT- und GET-Befehle. Siehe Bild 5.

    Bild 5. Verbindungsparameter von TCON.
    Die Partner-SPS-Optionen im TCON-Block haben mehr Optionen als die der PUT/GET-Befehle, da wir eine offene Benutzerkommunikation verwenden. Siehe Bild 6.

    Bild 6. Partner-SPS-Optionen
    Wie Sie auf dem Bild sehen können, haben wir 4 verschiedene Optionen, und zwar:
    SPS_2: Falls sich beide SPS im selben Projekt befinden, wird hier die SPS_2 angezeigt. Broadcast: Dadurch wird die Verbindung für jedes Gerät im Netzwerk verfügbar. Multicast: Dadurch wird die Verbindung mit ausgewählten Geräten hergestellt, mehr als einem Gerät, aber nicht allen. Nicht angegeben: Wenn sich die SPS in einem anderen TIA Portal-Projekt befindet. Wenn wir die nicht angegebene Option wählen, werden wir aufgefordert, die IP-Adresse der SPS hinzuzufügen und wir müssen auch neue Verbindungsdaten hinzufügen. Siehe Bild 7.

    Bild 7. Neue Verbindungsdaten hinzufügen
    Wie Sie auf dem Bild sehen können, klicken Sie zum Erstellen neuer Verbindungsdaten einfach auf den Dropdown-Pfeil und drücken Sie auf Neu. Dadurch wird ein neuer Verbindungsdatenblock erstellt und dieser wird automatisch dem TCON-Block zugewiesen, siehe Abbildung 8.

    Abbildung 8. Verbindungsdatenblock wird erstellt.
    Wie Sie sehen, wurde ein Verbindungsdatenblock erstellt. Jetzt muss ich die IP-Adresse der Partner-SPS hinzufügen.
    Außerdem müssen wir auswählen, welche SPS die aktive Verbindungsherstellung sein soll. Dadurch wird entschieden, welche SPS für die Herstellung der Verbindung verantwortlich ist, während die andere in diesem Fall nur für das Öffnen eines Verbindungsports verantwortlich ist. Siehe Bild 9.

    Bild 9. Weisen Sie PLC_1 als aktive Verbindungsherstellung zu.
    Da wir PLC_1 als aktive Verbindungsherstellung auswählen, ist PLC_2 für das Öffnen eines Verbindungsports verantwortlich, und ich muss einen Wert für diesen Port auswählen. Es kann jeder beliebige Wert sein, aber er wird im TIA Portal automatisch als 2000 zugewiesen, also lassen wir ihn so wie er ist. Siehe Bild 10.

    Bild 10. Partnerport.
    Sie können im vorherigen Bild sehen, dass der Verbindungsparameter grün geworden ist, was bedeutet, dass alle Konfigurationen abgeschlossen und akzeptiert sind.
    Wenn TCON verwendet wird, um eine Verbindung zwischen zwei SPSen herzustellen, müssen beide SPSen den TCON-Befehl aufrufen, um die Verbindung herzustellen. Daher müssen wir jetzt dasselbe mit der anderen SPS_2 tun. Fügen Sie den TCON-Block in den Haupt-OB1 von SPS_2 ein, siehe Abbildung 11.

    Abbildung 11. Rufen Sie TCON in SPS_2 auf.
    Nachdem wir den TCON-Block hinzugefügt haben, müssen wir die Verbindungsparameter wie bei SPS_1 konfigurieren. Siehe Abbildung 12.

    Abbildung 12. Verbindungsparameter von SPS_2
    Sie können auf der Abbildung sehen, dass wir immer noch SPS_1 als aktive Verbindungsherstellung wählen und den Port von SPS_2 immer noch auf 2000 belassen.
    Die aktive Verbindungsherstellung und der Port müssen für die Konfiguration beider SPSen gleich sein, sonst schlägt die Verbindung fehl. Nun ist die Verbindungskonfiguration für beide SPS abgeschlossen, siehe Bild 13.

    Bild 13. TCON-Block in beiden SPS.
    Wie wir auf dem Bild sehen, müssen wir noch etwas tun, nämlich die REQ für beide SPS definieren.
    Wir haben AllowConnection für SPS_2 und StartConnection für SPS_1 erstellt. Siehe Bild 14.

    Bild 14. Definieren Sie die REQ-Signale.
    Die Verbindung zwischen zwei SPS ist nun hergestellt und läuft wie folgt ab:
    SPS_1 versucht, eine Verbindung mit SPS_2 herzustellen, wenn das REQ-Signal aktiv ist, aber das kann es nicht, bis SPS_2 die Verbindungsfunktion aktiviert, und das wird geschehen, wenn der TCON-Block von SPS_1 ein Signal bei REQ empfängt.
    Ein REQ-Signal ist für TCON von PLC_2 aktiv, um die Verbindung zu aktivieren (das bedeutet, dass PLC_2 Port 2000 öffnet und auf Verbindung wartet). Ein REQ-Signal ist für TCON von PLC_1 aktiv, um Verbindung zu starten (das ermöglicht PLC_1, eine Verbindung mit PLC_2 über Port 2000 herzustellen). PROJEKTSIMULATION
    Lassen Sie uns unser Projekt kompilieren und eine Simulation starten, um zu sehen, wie die Verbindung hergestellt wird.
    Um die Verbindung einer beliebigen PLC und auch zwischen den PLCs anzuzeigen, können Sie die Netzwerkansicht öffnen und die Registerkarte Verbindungen öffnen, um alle aktiven und hergestellten Verbindungen anzuzeigen. Siehe Abbildung 15.

    Abbildung 15. PLC_2 wartet auf Verbindung.
    Wenn das REQ True ist, ist PLC_2 für Verbindung geöffnet. Sie können sehen, dass der STATUS-Wert 7002 ist. Wenn Sie die Hilfe des TCON-Blocks überprüfen, bedeutet der Status 7002, dass auf Verbindung gewartet wird. Sie können im Bild aus der Netzwerkansicht auch sehen, dass PLC_2 auf eine Verbindung wartet.
    Wenn das REQ des PLC_1 TCON-Blocks wahr ist, versucht PLC_1, eine Verbindung mit PLC_2 herzustellen, und da PLC_2 bereits geöffnet ist und auf eine Verbindung wartet, kann PLC_1 eine Verbindung mit PLC_2 finden und herstellen. Siehe Bild 16.

    Bild 16. PLC_1 stellt eine Verbindung her.
    Beachten Sie, dass alle Verbindungen in der Netzwerkansicht jetzt grün sind, was auf eine gesunde und laufende Verbindung zwischen PLC_1 und PLC_2 hinweist.
    Wie bereits erwähnt, wird die Verbindung automatisch aufrechterhalten, sobald sie eingerichtet und hergestellt wurde. Selbst wenn die REQ-Signale also falsch werden, bleibt die Verbindung zwischen den beiden PLCs bestehen. Siehe Bild 17.

    Bild 17. Verbindung besteht noch.
    Wenn aber das Einschalten der REQ-Signale die Verbindung nicht trennt, wie kann ich sie dann trennen, wenn ich das möchte?
    Trennungsblock TDISCON
    Um die Verbindung zwischen den beiden SPSen zu trennen, können wir die SPS in den STOP-Modus versetzen, was während des laufenden Prozesses nicht praktikabel ist. Und wir können auch den Trennungsblock oder TDISCON verwenden.
    Um einen TDISCON-Block hinzuzufügen, ziehen Sie ihn einfach per Drag & Drop in Ihre Logik, siehe Bild 18.

    Bild 18. TDISCON-Block hinzufügen
    Wie Sie sehen, wird zum Hinzufügen eines TDISCON-Blocks eine Datenblockinstanz benötigt. Sobald der Block zu Ihrer Logik hinzugefügt wurde, müssen Sie nur noch die Verbindungs-ID zuweisen, die Sie trennen möchten, und Sie müssen auch ein REQ-Signal zuweisen, um die Verbindungsbeendigung zu starten. Siehe Bild 19.

    Bild 19. TDISCON-Block
    JETZT fügen wir einen TDISCON-Block in der anderen SPS hinzu, damit wir die Verbindung trennen können. Siehe Bild 20. Für den TDISCON-Block von SPS_1.

    Bild 20. TDISCON in SPS_1
    Kehren wir zur Simulation zurück und sehen wir uns an, wie TDISCON-Blöcke verwendet werden, siehe Bild 21.

    Bild 21. Verbindung noch aktiv.
    Wie Sie auf dem Bild sehen können, ist die Verbindung zwischen den SPS noch aktiv, wobei die REQ-Signale des TDISCON noch falsch sind.
    Wenn das REQ von SPS_1 TRUE wird, wird die Verbindung beendet, aber Sie werden feststellen, dass SPS_2 noch auf die Verbindung wartet, siehe Bild 22.

    Bild 22. REQ von SPS_1 ist wahr.
    Wenn das REQ für den TDISCON-Block von SPS_2 wahr ist, wartet SPS_2 nicht mehr auf die Verbindung. Siehe Bild 23.

    Bild 23. Verbindung ist beendet.
    Wir haben in diesem Artikel gezeigt, wie man mit den TCON- und TDISCON-Blöcken eine Verbindung zwischen zwei SPS herstellt.

    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.

    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.

    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.

    Bild 3. Gehen Sie zu den Eigenschaften des Datenblocks.

    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.

    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.

    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.

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

    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.

    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.

    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.

    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.

    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.

    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.

    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.

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

    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.

    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.

    Bild 19. Keine Verbindung zwischen den SPSen

    Bild 20. Verbindung aktivieren.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

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

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    caixiaofeng
    In diesem Artikel lernen Sie das SPS-Beispiel zur Steuerung von LEDs über Schalter kennen und verstehen die Erklärung der Kontaktplanlogik.
    Dieses SPS-Beispiel ist für Ingenieurstudenten gedacht, um die Kontaktplanlogik zu lernen und zu üben. Die Implementierung desselben SPS-Programms für den industriellen Einsatz wird anders sein.
    SPS-Beispiel
    Entwerfen Sie eine SPS-Kontaktplanlogik für die folgende Anwendung.
    Wir verwenden drei Schalter zur Steuerung von drei LEDs.
    Wenn ein beliebiger Schalter eingeschaltet ist, ist LED I eingeschaltet.
    Wenn zwei beliebige Schalter eingeschaltet sind, ist LED II eingeschaltet.
    Wenn alle drei Schalter eingeschaltet sind, ist LED III eingeschaltet.
    Im vorherigen Artikel haben wir dasselbe SPS-Beispiel mit Kippschaltern besprochen. Lernen Sie die Logik.
    Eingänge
    Die erforderlichen digitalen Eingänge sind unten aufgeführt.
    Schalter 1: I0.0
    Schalter 2: I0.1
    Schalter 3: I0.2
    Ausgänge
    Die erforderlichen digitalen Ausgänge sind unten aufgeführt.
    Motor 1: Q0.0
    Motor 2: Q0.1
    Motor 3: Q0.2
    Kontaktplan zur Steuerung von LEDs über Schalter

    Erklärung der Kontaktplanlogik
    Für diese Anwendung haben wir die Software EcoStruxure Machine Expert Basic v1.2 für die SPS-Programmierung verwendet. Im obigen Programm haben wir normalerweise offene Kontakte sowie normalerweise geschlossene Kontakte für Schalter 1 (I0.0), Schalter 2 (I0.1) und Schalter 3 (I0.2) verwendet. In Sprosse 0 wird LED 1 eingeschaltet, wenn ein beliebiger Schalter (normalerweise offener Kontakt) eingeschaltet ist und die anderen 2 Schalter (normalerweise geschlossene Kontakte) AUS sind. Um LED 2 Sprosse 1 einzuschalten, sollten alle 2 Schalter, die normalerweise offene Kontakte sind, eingeschaltet sein und der andere verbleibende 1 Schalter als normalerweise geschlossener Kontakt sollte AUS sein. Damit LED 3 EIN ist, werden Schalter 1, Schalter 2 und Schalter 3 in Sprosse 2 in Reihe geschaltet, wodurch ein UND-Logikgatter implementiert wird. LED 3 wird EINGESCHALTET, wenn alle drei Schalter EINGESCHALTET sind. Wenn ein beliebiger Schalter EINGESCHALTET ist

    Das Signal fließt durch Schalter 1, da dieser sich im Zustand „wahr“ befindet. Im Zustand „falsch“ leiten Schalter 2 und Schalter 3 ebenfalls Signale an die Ausgänge weiter. Daher wird LED 1 EINGESCHALTET sein.

    LED I wird EINGESCHALTET, wenn Schalter 2 EINGESCHALTET ist und Schalter 1 und Schalter 3 AUS sind, da diese sich im Zustand „normalerweise geschlossener Kontakt“ befinden.

    Wenn Schalter 3 EINGESCHALTET ist und die anderen 2 Schalter, die normalerweise geschlossene Kontakte sind, AUS sind, wird LED 1 EINGESCHALTET.
    Das Einschalten von mehr als einem Schalter unterbricht den Stromkreis. Der normalerweise geschlossene Kontakt lässt im Zustand „wahr“ kein Signal zu. Als Ergebnis ist LED 1 AUS.
    Wenn zwei beliebige Schalter EIN sind

    LED 2 wird EINGESCHALTET, wenn Schalter 1 und Schalter 2 EINGESCHALTET sind und Schalter 3 AUS ist. Schalter 3 als normalerweise geschlossener Kontakt lässt im falschen Zustand das Signal durch.

    Wenn Schalter 1 und Schalter 3 EINGESCHALTET sind und Schalter 2 AUS ist, wird LED 2 EINGESCHALTET. Schalter 2 lässt im falschen Zustand das Signal durch.

    Das Signal fließt durch Schalter 2 und Schalter 3, da diese im wahren Zustand sind. Im falschen Zustand leitet Schalter 1 auch das Signal an die Ausgänge weiter. Daher ist LED 2 EINGESCHALTET.
    Wenn mehr als zwei Eingänge EINGESCHALTET sind, schließt der normalerweise geschlossene Kontakt, der für den dritten Schalter verwendet wird, den Stromkreis im wahren Zustand nicht. Daher wird LED 2 AUSGESCHALTET.
    Wenn alle 3 Schalter eingeschaltet sind

    Wenn alle drei Schalter SWITCH 1 (I0.0), SWITCH 2 (I0.1), SWITCH 3 (I0.2) eingeschaltet sind, leuchtet LED 3 und schaltet die anderen beiden Ausgänge AUS.

    xiangjinjiao
    Dies ist ein SPS-Programm zum Ablassen derselben Produkte aus zwei Tanks. Lernen Sie die SPS-Programmierung anhand dieses einfachen Beispiels.
    Ablassen derselben Produkte aus zwei Tanks
    Problembeschreibung
    Zwei Tanks sind mit denselben Produkten gefüllt. Das Ablassen von Materialien aus diesen beiden Tanks hängt von den Anforderungen des Lagertanks ab.
    Implementieren Sie die Logik für dieses System in der SPS mithilfe eines Kontaktplans.
    Problemdiagramm

    Beispiellösung für SPS
    Hier werden zwei Tanks für das System verwendet. Zur Füllstandsmessung werden zwei Sensoren verwendet (Füllstandssensoren). Wie in der Abbildung gezeigt, verwenden wir hier zwei Pumpen zum Umfüllen der Materialien aus den Tanks (Tank 1 und Tank 2) in die Lagertanks.
    Hier verwenden wir einen Füllstandstransmitter zur Füllstandsmessung des Lagertanks. PUMPE 1 und PUMPE 2 werden durch die Rückmeldung des Füllstandstransmitters gesteuert.
    Hier haben wir zwei Pumpen für einen reibungslosen Betrieb verwendet. Beide Pumpen werden betrieben, wenn der Füllstand der Lagertanks unter seinem Grenzwert liegt.
    Hinweis: Hier betrachten wir eine einfache Automatisierung für dieses System. In diesem System wird ein Füllstandstransmitter verwendet, der den Füllstand des Speichers misst.
    Der Einfachheit halber wird ein 500 cm hoher Lagertank verwendet, und die Rückmeldung des Füllstandstransmitters beträgt 4 bis 20 mA.
    Für diese Anwendung verwenden wir die SPS S7-300. Für Programmierzwecke verwenden wir die Skalierung.
    Liste der E/As
    Liste der Eingänge
    Zyklus START:- I0.0 Zyklus STOP:- I0.1 Niedriger Füllstand von Tank 1:- I0.2 Füllstand von Tank 2:- I0.3 Liste der Ausgänge
    Pumpe 1:- Q0.0 Pumpe 2:- Q0.1 M-Speicher
    Zyklus EIN-Bit:- M0.0 Analogwert vom Sender:- MW10 (INT) Analogwert vom Sender:- MD100 (DINT) Multiplikationswert:- MD104 Tatsächlicher Wasserstand (cm):- MD108 SPS-Kontaktplandiagramm zum Ablassen derselben Produkte aus zwei Tanks





    Programmerklärung
    Für diese Anwendung haben wir S7-300 PLC und TIA-Portalsoftware zur Programmierung verwendet.
    Netzwerk 1:
    Wir haben eine Verriegelungsschaltung für die Ausgabe von Zyklus EIN (M0.0) verwendet. Sie kann durch Drücken von START PB (I0.0) gestartet und durch Drücken von STOP PB (I0.1) gestoppt werden.
    Netzwerk 2:
    Hier ist die tatsächliche Zählung oder der Wert, der vom Sender kommt, aktuell (4 bis 20 mA), sodass wir ihn mithilfe des analogen Eingangskanals in der SPS in eine digitale Zählung umwandeln können. Diese Ziffer ist im INT-Format (MW10), sodass wir sie zur Berechnung oder Multiplikation in DINT (MD100) umwandeln müssen.
    Netzwerk 3:
    Der DINT-Wert (MD100) wird zu Berechnungszwecken mit der maximalen Höhe (500 cm) des Tanks multipliziert.
    Netzwerk 4:
    Der multiplizierte Wert (MD104) wird durch die maximale Anzahl des Analogmoduls (27648) geteilt. Die endgültige tatsächliche Höhe wird in MD108 gespeichert.
    Netzwerk 5:
    Hier haben wir einen Komparator für PUMPE 1 (Q0.0) verwendet. Bei Materialbedarf wird PUMPE 3 vom Bediener bedient, der Wasserstand sinkt.
    Gemäß unserer Automatisierung oder unserem System müssen wir also den Lagertank füllen. Pumpe 1 wird gestartet, wenn der Wasserstand unter seinem Grenzwert liegt (hier haben wir 480 cm genommen).
    Hinweis: PUMPE 1 sollte gestoppt werden, wenn ein niedriger Pegel (I0.2) von Tank 1 erkannt wird.
    Netzwerk 6:
    Hier haben wir einen Komparator für PUMPE 2 (Q0.1) verwendet. Bei Materialbedarf wird PUMPE 3 vom Bediener bedient, der Wasserstand sinkt. Gemäß unserer Automatisierung oder unserem System müssen wir also den Vorratstank füllen. Pumpe 2 wird gestartet, wenn der Wasserstand unter seinem Grenzwert liegt (hier haben wir 480 cm genommen).
    Hinweis: PUMPE 2 sollte gestoppt werden, wenn ein niedriger Pegel (I0.3) des Tanks 2 erkannt wird.
    Während des gesamten Funktionszyklus sollte sie eingeschaltet sein.
    Hinweis: Die obige Anwendung kann von der tatsächlichen Anwendung abweichen. Dieses Beispiel dient nur zu Erklärungszwecken. Wir können diese Logik auch in anderen SPS implementieren. Dies ist das einfache Konzept eines Entwässerungssystems. Wir können dieses Konzept auch in anderen Beispielen verwenden.
    Alle im Beispiel berücksichtigten Parameter dienen nur zu Erklärungszwecken. Die Parameter können in tatsächlichen Anwendungen unterschiedlich sein. Auch alle Verriegelungen werden in der Anwendung nicht berücksichtigt.
    Ergebnis


    leizuofa
    Dies ist das SPS-Programm zum Implementieren von SR Flip Flop in SPS. Lernen Sie die SPS-Programmierung mit dieser Beispiellogik.
    SR Flip Flop mithilfe der SPS-Kontaktplanlogik
    Problembeschreibung
    Implementieren Sie ein Programm für SR Flip Flop-Logik in SPS mithilfe der Kontaktplansprache.
    Problemdiagramm

    SPS-Lösung
    Wie wir wissen, können komplexere Systeme nicht allein mit kombinatorischer Logik gesteuert werden. Der Hauptgrund ist, dass wir keine Sensoren hinzufügen können oder wollen, um alle Bedingungen zu erkennen. In diesen Fällen können wir Ereignisse verwenden, um den Zustand des Systems abzuschätzen.
    SR Flip Flop wird zum Ein- oder Ausschalten verwendet – um etwas ein- oder auszuschalten.
    Die meisten PLCs haben spezielle Anweisungen für die SR Flip Flop-Funktion. Daher ist für diese Art von PLCs keine benutzerdefinierte Logik erforderlich. SR Flip Flop führt zuerst die SET-Funktion und dann die RESET-Funktion aus.
    Hinweis: Hier betrachten wir die einfache Funktion des SR-Flipflop-Befehls ohne Verwendung eines speziellen Befehls oder einer Latch-Funktion. Hier verwenden wir eine einfache Latch-Schaltung für die SR-Flipflop-Funktion.

    Hier werden wie in der Abbildung gezeigt zwei Drucktasten oder zwei Eingänge für die Programmimplementierung verwendet.
    Wenn der Benutzer die SET-Taste drückt oder 1 am S-Eingang empfangen wird, ist der Q-Ausgang EIN und wenn die RESET-Taste gedrückt wird oder 1 am R-Eingang empfangen wird, ist Q^ EIN.
    Liste der Ein-/Ausgänge
    Digitale Eingänge
    Set-Eingang: - I0.0 Reset-Eingang: - I0.1 Digitale Ausgänge
    Q-Ausgang: - Q0.0 Q^-Ausgang: - Q0.1 M-Speicher
    Relaisspule 1: - M0.0 Relaisspule 2: - M0.1 SPS-Kontaktplan zur Implementierung des SR-Flipflops



    Programm erklärt
    Für dieses SPS-Programm verwenden wir S7-300 SPS und TIA-Portalsoftware zur Programmierung. Wir können diese Logik auch mit anderen SPS implementieren.
    Netzwerk 1:
    Hier haben wir den NC-Kontakt der Relaisspule 1 (M0.0) verwendet, sodass der Q-Ausgang (Q0.0) ausgeschaltet ist, wenn die Reset-Taste gedrückt wird.
    Netzwerk 2:
    Hier haben wir den NC-Kontakt der Relaisspule 2 (M0.1) verwendet, sodass der Q^-Ausgang (Q0.1) AUS ist, wenn die Set-Taste gedrückt wird.
    Netzwerk 3:
    Hier wird die Relaisspule 1 (M0.0) verriegelt, wenn wir die RESET-Taste (I0.0) drücken.
    Netzwerk 4:
    Hier wird die Relaisspule 2 (M0.1) verriegelt, wenn wir die SET-Taste (I0.1) drücken.
    Wenn beide Eingänge beim Einschalten niedrig sind, wird der Q^-Ausgang (Q0.1) aufgrund seiner Reihenfolge hoch. Wenn beide Eingänge
    Hinweis: Die obige Anwendung kann von der tatsächlichen Anwendung abweichen. Dieses Beispiel dient nur zu Erklärungszwecken. Wir können diese Logik auch in anderen SPS implementieren. Dies ist das einfache Konzept der Implementierung der SR-Flip-Funktion ohne Anweisung. Wir können dieses Konzept auch in anderen Beispielen verwenden.
    Alle im Beispiel berücksichtigten Parameter dienen nur zu Erklärungszwecken. Die Parameter können in tatsächlichen Anwendungen unterschiedlich sein.
    Ergebnis


    leizuofa
    Dies ist ein SPS-Programm zum Lesen der Temperatur in der SPS. Lernen Sie die SPS-Programmierung anhand von Beispielproblemen und -lösungen.
    Temperatur in der SPS lesen
    Problembeschreibung
    Schreiben Sie ein SPS-Programm, in dem wir die tatsächliche Temperatur überwachen können.
    Hier verwenden wir einen externen Temperaturregler und sein Ausgang ist auch mit der SPS verbunden, um die Temperatur des Materials im Tank zu überwachen.
    Problemdiagramm

    Problemlösung
    RTD-Geräte mit einem Widerstand, der sich bei Temperaturänderungen linear ändert.
    Dieser Widerstandswert ändert sich bei Temperaturänderungen und durch Zufuhr eines konstanten Stroms kann der gemessene Spannungsabfall über dem Widerstand verwendet werden, um den neuen Widerstand und damit die Temperatur zu bestimmen.
    RTDs gibt es in verschiedenen Typen, der häufigste Typ ist ein PT100. Es besteht aus Platin, das auf 100 Ohm bei 0 Grad C kalibriert wurde.
    In der obigen Anwendung möchten wir die Materialtemperatur des Tanks messen. Dazu verwenden wir einen RTD-Sensor, der die Temperatur des Tanks misst und ein Signal an den Temperaturregler sendet.
    Der Temperaturregler sendet ein Signal in Form einer Spannung (0-10 V DC). Wenn der RTD eine Temperatur von 0 Grad erkennt, sendet er 0 V DC und wenn die Höchsttemperatur erkannt wird, sendet er 10 V DC an die SPS.
    Der Temperaturregler ist direkt mit der SPS verbunden, sodass die SPS die Spannung liest.
    Hinweis: – Hier betrachten wir zur Erklärung eine einfache Anwendung. Wir müssen die Materialtemperatur des Tanks mithilfe eines RTD-Sensors messen. Und berücksichtigen Sie auch andere Komponenten zu Steuerungszwecken.
    Angenommen, der Skalierungsbereich des Temperaturreglers beträgt 0-100 °C = 0 bis 10 V DC, und entsprechend diesem Signal berücksichtigt die SPS 0 bis 27648.
    E/A-Liste
    M-Speicher
    Analogwert vom Temperaturregler: MW100 Tatsächlicher Wert vom Temperaturregler: MD104 Multiplikation: MD108 Tatsächliche Temperatur in °C: MD112 SPS-Kontaktplandiagramm zum Ablesen der Temperatur


    Erklärung der SPS-Logik
    Für diese Anwendung haben wir S7-300 SPS und TIA-Portalsoftware zur Programmierung verwendet. Wir können diese Logik auch mit anderen SPSen implementieren.
    Netzwerk 1:
    In diesem Netzwerk implementieren wir eine Logik zur Wertkonvertierung. Es ist notwendig, den Wert für Multiplikationszwecke oder Berechnungen von INT in DINT umzuwandeln. Mithilfe der Konvertierungsanweisung wird der Analogwert des RTD (MW100) in einen tatsächlichen Analogwert (MD104) umgewandelt.
    Hinweis: Der Temperaturregler liefert ein 0-10-V-Gleichstromsignal an die SPS. Ein ADC-Konverter oder ein analoges Eingangsmodul wandelt dieses Analogsignal in eine digitale Form um, und der Bereich dieses Digitalsignals liegt zwischen 0 und 27648. Dieser Digitalbereich kann sich von einer SPS zur anderen ändern.
    Netzwerk 2:
    Wir haben einen RTD-Temperaturbereich von 0 bis 100 °C und einen Ausgangsspannungsbereich von 0 bis 10 V Gleichstrom. Wir müssen also diese Spannungsausgabe in Bezug auf die Temperaturanzeige skalieren. Hier multiplizieren wir den Wert gemäß der Gleichung und der Endwert wird in MD108 gespeichert.
    Hinweis: Hier liegt der Temperaturregler und der Temperaturmessbereich bei 0-100 °C.
    Netzwerk 3:
    Jetzt wird für das Endergebnis der multiplizierte Wert durch 27648 geteilt, das Ergebnis wird in MD112 (tatsächliche Temperatur in °C) gespeichert.
    Hinweis: Die obige Anwendung kann von der tatsächlichen Anwendung abweichen. Dieses Beispiel dient nur zu Erklärungszwecken. Wir können diese Logik auch in anderen SPS implementieren. Dies ist das einfache Konzept der Temperaturmessung in der S7-300-SPS. Wir können dieses Konzept auch in anderen Beispielen verwenden.
    Alle im Beispiel berücksichtigten Parameter dienen nur zu Erklärungszwecken. Die Parameter können in tatsächlichen Anwendungen unterschiedlich sein.

    leigehong
    Dies ist ein SPS-Programm zur Regelung des Füllstands paralleler Tanks. Lernen Sie die SPS-Programmierung anhand dieses Beispiels.
    Parallele Tankfüllstandsregelung
    Problembeschreibung
    Zwei Tanks sind parallel geschaltet. Wir müssen das in die Tanks einlaufende Material erhitzen und kühlen und gleichzeitig den Füllstand der Tanks regeln.
    Implementieren Sie das SPS-Programm für diese Anwendung.
    Problemdiagramm

    Problemlösung
    Der Heizprozess wird verwendet, um das Material im Tank zu erhitzen, und der Kühlprozess wird verwendet, um das Material abzukühlen. Hier wird davon ausgegangen, dass beide Materialien gleich sind wie in der Abbildung gezeigt, das Einlassventil führt Material in beide Tanks.
    Hier können wir Füllstandsschalter verwenden, um die niedrigen und hohen Füllstände für beide Tanks zu erkennen.
    Verwenden Sie zwei Temperatursensoren, um die Temperatur beider Tanks zu messen.
    Auslassventile werden am Boden der Tanks verwendet, um die Materialien für den weiteren Prozess abzulassen.
    Wir werden ein SPS-Programm für diese Anwendung schreiben.
    Liste der Ein- und Ausgänge
    Digitale Eingänge
    Zyklus START :- I0.0 Zyklus STOP :- I0.1 Niedriger Füllstand Tank 1 (LL1) :- I0.3 Niedriger Füllstand Tank 2 (LL2) :- I0.4 Hocher Füllstand Tank 1 (LH1) :- I0.5 Hocher Füllstand Tank 2 (LH2) :- I0.6 Digitale Ausgänge
    Einlassventil V2 für Heiztank :- Q0.0 Einlassventil V3 für Kühltank :- Q0.1 Auslassventil V4 für Heiztank :- Q0.2 Auslassventil V5 für Kühltank :- Q0.3 M-Speicher
    Zyklus EIN-Bit :- M0.0 Register für Temperatur Heiztank :- MD10 Register für Temperatur Kühltank :- MD14 Auslassventil V5 für Kühltank :- Q0.3 SPS-Programm zur Niveauregelung von parallele Tanks




    Programmerklärung
    Für diese Anwendung haben wir S7-300 PLC und TIA-Portalsoftware zur Programmierung verwendet. Wir können diese Logik auch mit anderen PLCs implementieren.
    Netzwerk 1:
    Dieses Netzwerk ist für den Verriegelungskreis. Immer wenn die START-Taste gedrückt wird (I0.0), ist das Zyklus-EIN-Bit (M0.0) EIN. Der Zyklus kann durch Drücken von STOP PB (I0.1) gestoppt werden.
    Netzwerk 2:
    Wenn ein niedriger Füllstand im Heiztank (I0.3) erkannt wird, ist das Einlassventil V2 (Q0.0) EIN. Wenn kein hoher Füllstand im Tank 1 (I0.5) erkannt wird und die START-Taste (I0.0) gedrückt wird, ist das Einlassventil V2 (Q0.0) EIN.
    Netzwerk 3:
    Wenn ein niedriger Füllstand von Tank 2 (I0.4) erkannt wird, wird das Einlassventil V3 (Q0.1) eingeschaltet. Wenn die START-Taste gedrückt wird und kein hoher Füllstand von Tank 2 (I0.6) erkannt wird, wird das Einlassventil V3 (Q0.1) eingeschaltet.
    Netzwerk 4:
    Wenn der Zyklus eingeschaltet ist und die tatsächliche Temperatur des Heiztanks (MD10) größer oder gleich der eingestellten Temperatur (70 °C) ist, wird das Auslassventil V4 (Q0.2) eingeschaltet.
    Netzwerk 5:
    Wenn der Zyklus eingeschaltet ist und die tatsächliche Temperatur des Kühltanks (MD14) kleiner oder gleich der eingestellten Temperatur (20 °C) ist, wird das Auslassventil V5 (Q0.3) eingeschaltet.
    Hinweis: Dieses Beispiel dient nur zu Erklärungszwecken. Wir können diese Logik in jeder SPS oder mithilfe einer Relaislogik implementieren. Die obige Anwendung kann von der tatsächlichen Anwendung abweichen oder Teil der Anlagenlogik sein.
    Ergebnis


    caixiaofeng
    Dies ist ein PLC-Programm zum automatischen Erhitzen und Mischen von Produkten. Lernen Sie die PLC-Programmierung mit diesem Beispiel für Ingenieurstudenten.
    Erhitzen und Mischen von Produkten
    Problembeschreibung
    Erstellen Sie ein automatisches System, in dem zwei Materialien in einem Tank gesammelt werden. Alle Materialien müssen gemischt werden, bis sie einen vordefinierten Temperatursollwert erreichen.
    Erstellen Sie für diese Anwendung ein Kontaktplanprogramm in S7-1200 PLC.
    Problemdiagramm

    Problemlösung
    Wir können dieses Problem mithilfe einer einfachen Logik lösen. Für dieses System sollten Sie zwei separate Füllstandsschalter in Betracht ziehen, um den Füllstand von zwei verschiedenen Materialien zu erkennen (sagen wir Material A und Material B).
    Erwägen Sie auch einen Füllstandsschalter zur Leerstandserkennung.
    Zur Kontrolle des Füllstands können wir ein einfachwirkendes Ventil verwenden (Typ „vollständig öffnen und vollständig schließen“).
    Zum Mischen wird ein Rührwerk verwendet, das mit der Motorwelle verbunden ist.
    Heizung und Temperatursensor sind im Tank installiert.
    Hier werden die Materialien gemischt, bis der Sollwert der Temperatur erreicht ist. Nach dem Mischen wird das Auslassventil (Q0.4) betätigt, um die gemischten Produkte abzulassen.
    Liste der Ein- und Ausgänge
    Eingabeliste
    Zyklusstart: I0.0 Zyklusstopp: I0.1 Materialstand B: I0.2 Materialstand A: I0.3 Leerstandsschalter: I0.4 Temperatursensor: I0.5 Ausgabeliste
    Einlassventil 1: Q0.0 Einlassventil 2: Q0.1 Rührwerkmotor: Q0.2 Heizung: Q0.3 Auslassventil: Q0.4 M-Speicher
    M0.0: Zyklus EIN SPS-Programm zum Erhitzen und Mischen des Produkts




    Programm erklärt
    In diesem Problem betrachten wir S7-1200 SPS und TIA-Portalsoftware zur Programmierung.
    Netzwerk 1:
    Dieses Netzwerk zeigt eine einfache Verriegelungsschaltung für Zyklus EIN und Zyklus AUS. Normalerweise offener (NO) Kontakt der Zyklus-START-Taste (I0.0) und NC-Kontakt der Zyklus-STOP-Taste (I0.1) zur Zyklusaktivierung.
    Netzwerk 2:
    Dieses Netzwerk dient zum Betreiben von Einlassventil 1 (Q0.0). Es wird betätigt, wenn ein niedriger Füllstand des Tanks erkannt wird (I0.4). Und es wird geschlossen, wenn der Füllstand von Material A durch einen Schalter mit Adresse (I0.3) erkannt wird. START PB (I0.0) ist ebenfalls parallel angeschlossen, sodass das Einlassventil durch Drücken von START PB (I0.0) gestartet werden kann, wenn kein niedriger Füllstand erkannt wird.
    Netzwerk 3:
    Dieses Netzwerk dient zum Betreiben von Einlassventil 2 (Q0.2). Es wird betätigt, wenn Material A bis zum gewünschten Füllstand gefüllt ist. Wenn der Zyklus läuft und der Füllstand von Material A erkannt wird, wird Einlassventil 2 (Q0.1) eingeschaltet.
    Netzwerk 4:
    Dieses Netzwerk dient zum Betrieb des Rührwerksmotors und der Heizung. Wenn der Tank mit Material A und Material B gefüllt ist, werden Heizung (Q0.3) und Rührwerksmotor (Q0.2) eingeschaltet.
    Netzwerk 5:
    Wenn der gesamte Mischvorgang und die Heizung abgeschlossen sind, wird das Auslassventil (Q0.4) eingeschaltet. Der NC-Kontakt des Leerstandsschalters (I0.4) wird verwendet, um das Auslassventil zu stoppen, wenn der Tank leer ist.
    Hinweis: Die obige Logik dient nur zur Erläuterung bestimmter Anwendungen. Das Diagramm dient der Darstellung, das tatsächliche System kann von diesem System abweichen.
    Ergebnis


    leikang
    Dies ist ein SPS-Programm für blinkende Lampen (AN/AUS) im 5-Sekunden-Intervall.
    Blinkende Lampen
    Problembeschreibung
    Schalten Sie die Anzeige oder Lampe nach fünf Sekunden AN und nach fünf Sekunden AUS.
    Erstellen Sie ein Programm, das die Lampe 5 Sekunden lang EIN, dann 5 Sekunden lang AUS, dann 5 Sekunden lang EIN und wieder 5 Sekunden lang AUS schaltet und so weiter.
    Problemdiagramm

    Problemlösung
    Dieses Problem kann durch die Verwendung von Timern gelöst werden. In diesem Fall verwenden wir TON (ON Delay Timer).
    Zur Erklärung betrachten wir einen SCHALTER zum Aktivieren des AN/AUS-Zyklus und eine Lampe für die Ausgabe.
    Wenn der Benutzer den SCHALTER drückt, wird die Lampe eingeschaltet und bleibt 5 Sekunden lang AN, danach ist sie 5 Sekunden lang AUS. Dieser Zyklus wiederholt sich.
    Liste der Ein- und Ausgänge
    Eingabeliste
    SCHALTER: I0.0 Ausgabeliste
    Lampe: Q0.0 M-Speicher
    M0.0: Bitspeicher für Lampe AUS-Zustand. PLC-Kontaktplan für blinkende Lampe


    Programmerklärung
    In diesem Problem werden wir S7-1200 PLC und TIA-Portalsoftware für die Programmierung berücksichtigen.
    Netzwerk 1:
    In diesem Netzwerk wird die Lampe (Q0.0) eingeschaltet, wenn der SCHALTER (I0.0) gedrückt wird und der Lampen-AUS-Zustand nicht vorliegt.
    Hier haben wir also den Schließerkontakt des SCHALTERS (I0.0) und den Öffnerkontakt des Lampen-AUS-Zustands (M0.0) verwendet.
    Netzwerk 2:
    In diesem Netzwerk wird, wenn die Lampe (Q0.0) eingeschaltet ist, der Befehl TON (Einschaltverzögerungstimer) ausgeführt und die Lampe wird ausgeschaltet.
    Wir haben hier also den Schließerkontakt der Lampe (Q0.0) und den TON-Timer verwendet und die programmierte Zeit beträgt 5 Sekunden.
    Netzwerk 3:
    Gemäß unserer Bedingung sollte die Lampe ausgeschaltet (M0.0) nach einer Verzögerung von 5 Sekunden ausgeschaltet werden, also haben wir wieder TON verwendet.
    Wir haben also den Schließerkontakt der Lampe ausgeschaltet (M0.0) und TON mit einer programmierten Zeit von 5 Sekunden verwendet.
    Ergebnis


    xiangjinjiao
    Erstellen Sie ein SPS-Programm zur Alarmanzeige in der Prozesssteuerungsbranche. Lernen Sie die SPS-Programmierung anhand dieses Industriebeispiels.
    Alarmanzeige in der Prozesssteuerung
    In vielen Branchen gibt es viele Maschinen, die viele Aufgaben automatisch ausführen. In Systemen oder Prozessen werden viele Sensoren und Komponenten verwendet.
    Manchmal kann der Bediener die Probleme von Maschinen oder Systemen nicht durch visuelle Beobachtungen erkennen. Und manchmal besteht auch die Möglichkeit, dass die Maschine aufgrund eines Problems nicht mehr funktioniert.
    Problemdiagramm

    SPS-Lösung
    Wir können dieses Problem lösen, indem wir Alarme in Systeme oder Prozesse einfügen. Alarme werden hinzugefügt, um den Bediener zu warnen, diese Maschinen/Prozesse zu überwachen, die kurz davor sind, ihre Grenzwerte zu überschreiten oder die Grenzwerte bereits überschritten haben.
    Alarme werden dem Bediener durch Melder oder Hupen und Lichter in verschiedenen Farben auf dem Bedienfeld angezeigt. (Zum Beispiel bedeuteten grüne Lichter OK, Gelb bedeutete nicht OK und Rot bedeutete SCHLECHT.)
    Der Zweck von Alarmen besteht darin, Automatisierung zu nutzen, um menschliche Bediener bei der Überwachung und Steuerung von Prozessen zu unterstützen und sie auf abnormale Situationen in der Anlage aufmerksam zu machen.
    Eingehende/Eingangsprozesssignale werden kontinuierlich überwacht, und wenn der Wert eines bestimmten Signals in einen abnormalen Zustand gerät, informiert ein visueller und/oder akustischer Alarm den Bediener über die Situation.
    Wir können Alarme für das System auf verschiedene Weise konfigurieren, z. B. über MIMIC, Anzeigelampen auf der Schalttafel, SCADA, HMI usw.
    Für unsere Problemdiskussionen haben wir ein einfaches System betrachtet und Alarme für das System konfiguriert.
    Betrachten wir beispielsweise einen Füll- und Entladeprozess und in diesem System möchten wir einige Alarme berücksichtigen. Wir werden den Alarm mithilfe von Lampen auf der Schalttafel anzeigen.
    Betrachten wir beispielsweise die folgenden Alarme für unser System:
    Not-Aus gedrückt Fehler Zufuhrventil offen Fehler Zufuhrventil geschlossen Fehler Auslassventil offen Fehler Auslassventil geschlossen Hierbei handelt es sich alles um Fehler, daher verwenden wir alle roten Farbanzeigen wie in der obigen Abbildung gezeigt.
    Liste der Ein- und Ausgänge in der SPS
    Eingabeliste
    Zyklusstart: I0.0 Zyklusstopp: I0.1 Niedriger Füllstandschalter, LL: I0.2 Hocher Füllstandschalter, LH: I0.3 Zufuhr-VLV offen LS: I0.4 Zufuhr-VLV geschlossen LS: I0.5 Disc.-VLV offen LS: I0.6 Disc. VLV schließen LS: I0.7 Not-Aus: I1.0 RESET: I1.1 Ausgabeliste
    Zyklus EIN: Q0.0 Zufuhrventil: Q0.1 Scheibenventil: Q0.2 SUMMER: Q0.3 Not-Aus gedrückt: Q0.4 (Anzeigelampe) Zufuhr-VLV offen Fehler: Q0.5 (Anzeigelampe) Zufuhr-VLV geschlossen Fehler: Q0.6 (Anzeigelampe) Scheiben-VLV offen Fehler: Q0.7 (Anzeigelampe) Scheiben-VLV geschlossen Fehler: Q1.0 (Anzeigelampe) SPS-Programm zur Alarmanzeige im Prozess Steuerung









    Logik erklärt
    In dieser Anwendung haben wir Siemens S7-300 PLC und TIA Portal Software zur Programmierung verwendet.
    Netzwerk 1:
    In Netzwerk 1 haben wir einen Verriegelungskreis für den Zyklus-EIN-Ausgang (Q0.0) verwendet. Er kann durch Drücken von Zyklus START PB (I0.0) gestartet und durch Drücken von STOP PB (I0.1) gestoppt werden.
    Wenn der Zyklus gestartet wird, prüft das System den Füllstand des Tanks. Wenn der Tankfüllstand niedrig ist, wird der Zuführprozess gestartet, und wenn der Tankfüllstand hoch ist, wird der Entladezyklus gestartet.
    Netzwerk 2:
    Wenn der Tank einen niedrigen Pegel erreicht, wird LL (I0.2) aktiviert und der Zuführzyklus wird eingeschaltet. Hier haben wir den Öffnerkontakt von LH (I0.3) verwendet, sodass der Zuführzyklus gestoppt wird, wenn die SPS einen hohen Pegel erkennt.
    Netzwerk 3:
    Wenn der Tank einen hohen Pegel erreicht, wird LH (I0.3) aktiviert und der Entladezyklus wird eingeschaltet.
    Hier haben wir den Öffnerkontakt von LL (I0.2) verwendet, sodass der Zuführzyklus gestoppt wird, wenn die SPS einen niedrigen Pegel erkennt.
    Netzwerk 4:
    Wenn das System einen Not-Aus-Eingang (I1.0) empfängt, aktiviert es den Ausgang „Not-Aus gedrückt“ (Q0.4) und der Bediener erhält eine Alarmmeldung.
    Netzwerk 5:
    In diesem Netzwerk haben wir einen Alarm für einen offenen Zuführ-VLV-Fehler (Q0.5) konfiguriert. Wenn das Zuführventil eingeschaltet ist und kein offenes Zuführ-VLV (I0.4) erkannt wird, wird der Timer gestartet und nach 5 s wird der Alarm für einen offenen Zuführ-VLV-Fehler (Q0.5) eingeschaltet.
    Netzwerk 6:
    In diesem Netzwerk haben wir einen Fehleralarm für das Zufuhrventil „VLV schließen“ (Q0.6) konfiguriert. Wenn das Zufuhrventil geschlossen ist und kein Zufuhrventil „VLV schließen LS“ (I0.5) erkannt wird, startet der Timer und nach 5 s ist der Fehleralarm für das Zufuhrventil „VLV schließen“ eingeschaltet (Q0.6).
    Netzwerk 7:
    In diesem Netzwerk haben wir einen Fehleralarm für das Scheibenventil „VLV öffnen“ (Q0.7) konfiguriert. Wenn das Scheibenventil geschlossen ist und kein Scheibenventil „VLV öffnen LS“ (I0.6) erkannt wird, startet der Timer und nach 5 s ist der Fehleralarm für das Scheibenventil „VLV öffnen“ eingeschaltet (Q0.7).
    Netzwerk 8:
    In diesem Netzwerk haben wir einen Fehleralarm für das Scheibenventil „VLV schließen“ (Q1.0) konfiguriert. Wenn das Scheibenventil geschlossen ist und kein Scheibenventil „VLV schließen LS“ (I0.7) erkannt wird, startet der Timer und nach 5 s ist der Fehleralarm für das Scheibenventil „VLV schließen“ eingeschaltet (Q1.0).
    Netzwerk 9:
    In diesem Netzwerk haben wir für alle Alarme einen SUMMER konfiguriert. Wenn ein Alarm erkannt wird, wird der SUMMER (Q0.3) aktiviert und kann durch Drücken von RESET (I1.1) ZURÜCKGESETZT werden.
    Netzwerk 10:
    Der Bediener kann den SUMMER durch Drücken von RESET (I1.0) zurücksetzen.
    Testfälle

    Hinweis: Die obige SPS-Logik liefert eine grundlegende Vorstellung von der Anwendung der SPS bei der Alarmanzeige eines Prozesses. Die Logik ist begrenzt und stellt keine vollständige Anwendung dar.


    leikang
    Dies ist das SPS-Programm für das automatische Flaschenauswurfsystem. Lernen Sie die Leiterlogik mit dieser SPS-Übung und -Lösung.
    Automatische Flaschenauswurf
    Problembeschreibung
    Heutzutage ist Automatisierung in der Industrie für eine genaue und schnelle Produktion notwendig.
    Nehmen wir ein Beispiel von Sodaflaschenherstellern, wo das Bandförderband zum Transport der Flaschen von einer Station zur anderen verwendet wird.
    Aber bevor die Flaschen die Soda-Abfüllstation erreichen, müssen alle Flaschen für die weitere Verarbeitung in stehender Position sein.
    Eine auf dem Förderband heruntergefallene Flasche kann im nächsten Prozess ein Problem verursachen. Deshalb besprechen wir hier eine einfache SPS-Logik, die mit der heruntergefallenen Flasche umgeht.
    SPS-Problemdiagramm

    SPS-Problemlösung
    Dafür verwenden wir an der Abfüllstation ein SPS-System, das die heruntergefallene Flasche vom Förderband auswirft und den Weg für den nächsten Prozess frei macht.
    Dieser Prozess wird mithilfe von Sensoren und Aktoren durchgeführt. Wir verwenden eine pneumatische Kolbenzylinderbaugruppe, um die heruntergefallenen Flaschen vom Förderband zu schieben.
    Wenn das Förderband läuft, werden alle Flaschen von einer Station zur nächsten Station für den nächsten Prozess transportiert. Es werden zwei Sensoren verwendet, um stehende und umgefallene Flaschen zu erkennen, und ein pneumatischer Zylinder, um die umgefallene Flasche vom Förderband zu schieben.
    Liste der Ein-/Ausgänge
    Eingabeliste
    Start PB: I0.1 Stop PB: I0.0 Sensor X1: I0.2 Sensor X2: I0.3 Ausgabeliste
    Zyklus EIN: Q0.0 Förderband: Q0.1 Zylinder: Q0.2 SPS-Programm für automatisches Flaschenauswurfsystem

    Erklärung des SPS-Programms
    In dieser Anwendung haben wir Siemens S7-1200 PLC und TIA Portal Software zur Programmierung verwendet. Wir können diese Logik auch mit Relaisschaltung entwerfen.
    Netzwerk 1:
    In Netzwerk 1 haben wir den Zyklus-EIN-Zustand für die Maschine übernommen. Hier haben wir START PB (I0.1) zum Starten des Zyklus und STOP PB (I0.1) zum Stoppen des Zyklus verwendet.
    Wir haben den parallelen Ausgang des Förderbands (Q.1) mit Zyklus EIN (Q0.0) verwendet, damit wir das Förderband im Zyklus EIN-Zustand betreiben können.
    Netzwerk 2:
    In Netzwerk 2 haben wir die Sensoren X1 (I0.2) und X2 (I0.3) als Eingänge verwendet. Wir haben den Schließerkontakt für den Sensor X2 (I0.3) und den Öffnerkontakt für den Sensor X1 (I0.2) verwendet.
    Wenn Flaschen auf dem Förderband transportiert werden, erfassen diese Sensoren die Position der Flaschen, unabhängig davon, ob sie stehen oder fallen.
    Sensor X2 (I0.3) erfasst die untere Position der Flasche und Sensor X1 (I0.2) erfasst die obere Position der Flasche.
    In der SPS haben wir den Schaltkreis entworfen, der dem Befehl folgt, dass, wenn Sensor X2 (I0.3) die Flasche erkennt und Sensor X1 (I0.2) die Flasche nicht erkennt, der pneumatische Aktuator (Q0.2) in Aktion tritt und die Flasche vom Förderband aussortiert.
    Danach gelangen die perfekten Flaschen in die Soda-Abfüllstation und der gesamte Zyklus ist abgeschlossen.
    Ergebnis

    Hinweis: Die obige SPS-Logik liefert eine grundlegende Idee zur Anwendung der SPS in einem automatischen Flaschenaussortierungssystem. Die Logik ist begrenzt und stellt keine vollständige Anwendung dar.


    leizuofa
    SPS-Programm für tägliche Produktionsaufzeichnungen. Lernen Sie die Problembeschreibung mit einer detaillierten Erklärung der Kontaktplanlogik.
    Tägliche Produktionsaufzeichnungen
    Problembeschreibung
    In vielen Branchen muss die Anzahl der an einem Tag hergestellten Produkte gezählt werden, und dies ist sehr wichtig, um die Produkte zu verkaufen oder die Produktionsmenge täglich zu verfolgen.
    Früher wurden menschliche Bediener mit der Zählung der Endprodukte beauftragt, aber aufgrund einiger menschlicher Fehler ist eine genaue Zählung nicht möglich. Daher können wir nicht alle Produkte richtig zählen und die Produktionsmenge nicht effektiv verfolgen.
    Meistens treten diese Arten von Problemen in der Lebensmittel- und Getränkeindustrie, der Kartonverpackungsindustrie, bei Flaschenabfüllanwendungen usw. auf. Daher können wir eine einfache SPS-basierte Logik verwenden, um die tägliche Produktion zu verfolgen und elektronisch aufzuzeichnen.
    Problemdiagramm

    SPS-Lösung
    Hier werden wir das Problem der Zählung der Endprodukte mithilfe von Sensoren und SPS-Programmierung lösen. Der erste Sensor erfasst das Produkt und zählt die Menge. Der Wert wird auf der Digitalanzeige angezeigt (siehe Abbildung oben).
    Zur Vereinfachung betrachten wir ein einfaches Beispiel für ein System zum Zählen leerer Kartons. In diesem System werden leere Kartons vom ersten Prozess zum zweiten Prozess transportiert (also von einem Ort zum anderen).
    Der Sensor wird zum Zählen der leeren Kartons verwendet. Wenn der Sensor also einen leeren Karton erkennt, beginnt die Anzeige, also das Zählen von 1, und dies geschieht mit einer einfachen Logik.
    Alle 24 Stunden bzw. nach einem Tag können wir den Zählerwert mit der RESET-Taste zurücksetzen. Zur Vereinfachung betrachten wir hier zwei Produktionschargen.
    Außerdem haben wir für jede Charge zwei Chargenabschlussanzeigen für den Bediener berücksichtigt, die auf dem lokalen Bedienfeld angezeigt werden. Mit der SPS-Logik implementieren wir die gewünschte Logik.
    Wenn also eine Charge abgeschlossen ist, leuchtet die Anzeigelampe gemäß dem SPS-Programm.
    Sobald das Produktionsziel erreicht ist, kann der Anzeigezähler mit der RESET-Taste zurückgesetzt werden.
    Liste der Ein-/Ausgänge
    Eingabeliste
    Boxdetektorsensor: I0.0 Reset: I0.1 Hauptschalter: I0.2 Ausgabeliste
    Ziel erreicht: Q0.0 Charge 1 erreicht: Q0.1 Charge 2 erreicht: Q0.2 Kontaktplan für tägliche Produktionsaufzeichnung

    SPS-Programmbeschreibung
    In dieser Anwendung haben wir Siemens S7-1200 PLC und TIA Portal Software zur Programmierung verwendet.
    Netzwerk 1:
    In Netzwerk 1 haben wir den Hauptschalter (I0.2) verwendet, um das System/die Charge zu starten, und wir haben den Schließerkontakt des Boxdetektorsensors (I0.0) in Reihe verwendet. Hier haben wir einen Aufwärtszähler betrachtet, sodass der Zähler zu zählen beginnt, wenn der Boxdetektorsensor (I0.0) die Box erkennt.
    Hier haben wir auch den Zielerreichungsausgang (Q0.0) zur Zielerreichungsanzeige für die Bedieneranzeige auf dem Bedienfeld verwendet. Durch Drücken der RESET-Taste (I0.1) kann der Bediener den alten Produktionsdatensatz ZURÜCKSETZEN.
    Der Zählerbetrieb wird zum Zählen der Produkte verwendet, wobei RESET (I0.1) zum Zurücksetzen des Produktionsdatensatzes verwendet wird. Der voreingestellte Wert (PV) beträgt 20 Produkte. Der Zählerwert (CV) ist MW2 und gibt die tatsächliche Anzahl der vom Sensor erkannten Produkte an. Dieser Wert wird in den folgenden Sprossen verwendet, um den Chargenstatus zu verfolgen.
    Netzwerk 2:
    In Netzwerk 2 haben wir die Charge1-Logik vom Zählerblockausgang CV verwendet. Hier haben wir einen Komparator zum Zählen von 10 Kartons für Charge 1 verwendet. Wenn dieser abgeschlossen ist, leuchtet die Lampe „Charge 1 abgeschlossen“ (Q0.1). In diesem Fall wird ein gleicher Komparator hinzugefügt, dessen Eingang (MW2) ist und der für 10 Produkte gilt.
    Netzwerk 3:
    In Netzwerk 3 haben wir die Charge1-Logik vom Zählerblockausgang CV verwendet. Hier haben wir einen Komparator verwendet, um 20 Kartons für Charge 2 zu zählen. Wenn dieser abgeschlossen ist, wird die Lampe für Charge 2 (Q0.2) eingeschaltet.
    Auf diese Weise können wir entscheiden, wie viele Produkte und Chargen produziert werden.
    Laufzeittestfälle

    Hinweis: Die obige SPS-Logik liefert eine grundlegende Vorstellung von der Anwendung von SPS in der industriellen Produktionsaufzeichnung. Die Logik ist begrenzt und keine vollständige Anwendung.

    leigehong
    Dies ist das SPS-Programm für das sequentielle Motorbetriebssystem.
    Sequentielle Motorsteuerung
    Problembeschreibung
    In vielen Branchen werden viele Motoren verwendet. Manchmal müssen wir in einer Anwendung mehr als einen Motor starten.
    Wenn wir eine niedrige Eingangsstromversorgung haben, besteht die Möglichkeit, dass der eingehende MCB auslöst, wenn ein oder mehrere Motoren parallel starten, da sie mehr Strom verbrauchen.
    Hier betrachten wir ein ähnliches Beispiel, bei dem wir jeden Motor einzeln starten.
    Problemdiagramm

    Problemlösung
    Das Problem kann durch Verwendung von SPS-Programmierung oder Relaislogik gelöst werden.
    In diesem Fall müssen wir die Motoren sequentiell betreiben. Es gibt insgesamt 3 Motoren, die sequentiell gesteuert werden müssen. So startet jeder Motor sequentiell, sagen wir, Motor 1 startet, dann nach einer gewissen Verzögerung, dann startet Motor 2 und nach einer gewissen Verzögerung startet Motor 3.
    Der gesamte Vorgang dauert also 10 Sekunden, um alle Motoren sequentiell zu starten. Durch diese Verzögerung können wir das Problem vermeiden, dass die Motoren beim ersten Hochfahren viel Strom verbrauchen.
    Alle Motoren werden nacheinander betrieben und zwischen den einzelnen Motorvorgängen muss eine Zeitverzögerung von 5 Sekunden eingehalten werden.
    Hier wird die Logik für den sequentiellen Betrieb von Motoren mit SPS geschrieben.
    Liste der Ein- und Ausgänge
    Eingabeliste
    Start PB: I0.0 Stop PB: I0.1 Ausgabeliste
    Zyklus ein: Q0.0 Motor 1: Q0.1 Motor 2: Q0.2 Motor 3: Q0.3 SPS-Kontaktplandiagramm für sequentielle Motorsteuerung

    Kontaktplanlogik erklärt
    In dieser Anwendung haben wir Siemens S7-1200 PLC und TIA Portal Software zur Programmierung verwendet. Wir können diese Logik auch mit Relaisschaltung entwerfen.
    Netzwerk 1:
    In Netzwerk 1 haben wir die Logik für den Zyklus-EIN-Zustand geschrieben. Hier zeigt die Lampe Zyklus EIN (Q0.0) den Zyklusstatus an. Der Zyklus kann durch Drücken der Taste START PB (I0.0) gestartet und durch Drücken der Taste STOP PB (I0.1) gestoppt werden.
    Wenn der Zyklus eingeschaltet ist, wird gleichzeitig Motor 1 (Q0.1) gestartet. Gleichzeitig wird die Timeranweisung ausgeführt.
    Netzwerk 2:
    In Netzwerk 2 startet der Schließerkontakt von Motor 1 den Timer T1 und wenn der Timer für Motor 2 (Q0.1) den eingestellten Wert von 5 Sekunden erreicht, startet der Schließerkontakt von T1 den Motor 2 (Q0.1).
    Netzwerk 3:
    In Netzwerk 3 haben wir die Logik für Motor 3 übernommen. Hier haben wir den Schließerkontakt von Motor 2 zum Starten des Timers von Motor 3 angegeben. Wenn T2 den eingestellten Wert von 5 s erreicht, startet der Schließerkontakt von T2 den Motor 3 (Q0.0).
    Wenn STOP PB (I0.1) gedrückt wird, wird der NC-Kontakt aktiviert, der den Zyklus (Q0.0) ausschaltet. Außerdem hören Motor 2 und 3 auf zu arbeiten.
    Laufzeittestfälle

    Hinweis: Die obige SPS-Logik liefert eine grundlegende Vorstellung der Anwendung von SPS in der sequentiellen Motorsteuerung. Die Logik ist begrenzt und stellt keine vollständige Anwendung dar.

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