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

    PLC, DCS, HMI and SCADA product application technical articles

    caixiaofeng
    In einem früheren Artikel haben wir besprochen, was ein Funktionsblock (FB) ist, wie er in einem SPS-Programm funktioniert und wie man ihn erstellt und verwendet. In diesem Artikel sprechen wir über Datenblockinstanzen verschiedener Funktionsblocktypen im Siemens Tia Portal und wann welcher Typ verwendet wird.
    Inhalt:
    Was ist ein Funktionsblock (FB)? Verschiedene Optionen für Dateninstanzen. Einzelinstanz. Parameterinstanz. Mehrfachinstanz. Was ist ein Funktionsblock?
    Ein Funktionsblock oder FB ist einfach ein Block, der Codelogik enthält. Sie verwenden diesen FB, um durch die darin geschriebenen Codeteile bestimmte Funktionen zu erreichen.
    Wenn Sie einen Funktionsblock in Ihren Code aufrufen, werden Sie aufgefordert, einen Datenblock (auch Dateninstanz genannt) zuzuweisen, der diesem FB zugeordnet werden soll, um die Werte der FB-Parameter zu speichern. Nicht alle Parameter innerhalb eines FB werden in der Dateninstanz gespeichert, aber darauf kommen wir später zurück.
    Beim Aufrufen eines Funktionsblocks haben Sie 3 verschiedene Optionen, um diesem Funktionsaufruf eine Datenblockinstanz zuzuordnen. Diese verschiedenen Optionen hängen davon ab, wo Sie Ihren FB aufrufen.
    Kurz gesagt: Ein Funktionsblock-FB ist im Grunde ein Funktions-FC mit einem dedizierten Datenblock-DB. Dieser Datenblock wird zum Speichern der Werte der Funktionsblockparameter verwendet.
    Verschiedene Optionen für Dateninstanzen
    Wir haben 3 verschiedene Optionen für eine Dateninstanz eines Funktionsblocks, und zwar:
    Einzelinstanz. Parameterinstanz. Mehrfachinstanz. Die drei verschiedenen Aufrufdateninstanzen stammen aus den 3 verschiedenen Aufrufmethoden:
    Sie können einen Funktionsblock-FB innerhalb des Haupt-OB1 aufrufen, wodurch Sie die folgenden Optionen haben: Einzelinstanz. Sie können den Funktionsblock FB innerhalb einer Funktion FC aufrufen, wodurch Sie zwei Optionen haben: Einzelinstanz Parameterinstanz Sie können den Funktionsblock innerhalb eines anderen Funktionsblocks aufrufen, wodurch Sie die drei verfügbaren Optionen zum Erstellen einer Dateninstanz haben: Einzelinstanz Parameterinstanz Mehrere Instanzen Einzelne Dateninstanz
    Beginnen wir zunächst mit der Erstellung eines Funktionsblocks FB. Wie bereits erwähnt, erstellen wir einen Funktionsblock, indem wir auf „Neuen Block hinzufügen“ klicken und den gewünschten Blocktyp auswählen. Siehe Abbildung 1.

    Abbildung 1 – Erstellen eines Funktionsblocks FB
    Rufen wir nun den wiederverwendbaren FB auf, den wir in unserem Haupt-OB1 erstellt haben. Siehe Abbildung 2.

    Abbildung 2 – Aufrufen des FB innerhalb des Haupt-OB1
    Wie Sie im vorherigen Bild sehen, werden Sie beim Aufrufen eines FB innerhalb des Haupt-OB1 aufgefordert, eine Dateninstanz zuzuweisen, die diesem FB-Aufruf zugeordnet werden soll. In diesem Fall gibt es nur eine Option, nämlich die Einzelinstanz.
    Nach Auswahl der Einzelinstanzoption wird ein Datenblock erstellt und mit dem FB-Aufruf verknüpft. Siehe Abbildung 3.

    Abbildung 3 – Einzelinstanz erstellt
    Die erstellte Einzelinstanz wird verwendet, um die Werte einiger FB-Parameter zu speichern. Wie die Eingänge, Ausgänge, In Out und statischen Parameter.
    Andere Parameter des FB werden nicht gespeichert, wie Temperatur und Konstanten. Siehe Abbildungen 4 und 5.

    Abbildung 4 – Daten werden in der Dateninstanz gespeichert

    Abbildung 5 – Daten werden vom FB in der Dateninstanz gespeichert.
    Erstellen wir nun eine einfache Logik innerhalb des FB, um die Dateninstanzen besser zu verstehen. Diese Logik fügt einer statischen Variable einen konstanten Wert von 15 hinzu und verschiebt das Ergebnis dann zum Ausgang. Siehe Bild 6.

    Bild 6 – Erstellen Sie eine einfache Logik
    Gehen Sie nun zurück zum Haupt-OB1 und sehen Sie sich an, wie Ihr FB-Aufruf jetzt aussieht. Siehe Bild 7.

    Bild 7 – Aktualisieren Sie den FB-Aufruf nach jeder Änderung
    Jede Änderung, die Sie an der Logik innerhalb des FB vornehmen, führt dazu, dass der Funktionsblockaufruf aktualisiert werden muss, damit die vorgenommenen Änderungen angewendet werden können.
    Sie können den Blockaufruf aktualisieren, indem Sie mit der rechten Maustaste auf den FB-Aufruf klicken und die Option „Blockaufruf aktualisieren“ drücken oder indem Sie Ihren SPS-Code neu kompilieren. Siehe Bild 8.

    Bild 8 – Aktualisieren des FB-Aufrufs
    Nach der Aktualisierung des Blockaufrufs werden die im FB-Code vorgenommenen Änderungen angewendet und im Blockaufruf verwendet. Wie Sie in Bild 9 sehen.
    Der FB erwartet nun ein Eingangssignal vom Typ bool und gibt einen Ausgang vom Typ int aus.

    Bild 9 – Eingänge und Ausgänge sind nun mit dem FB-Aufruf verknüpft
    Lassen Sie uns unseren Code simulieren und sehen, wie sich die SPS verhält. Sehen Sie sich die nächste Animation an, die eine einfache Simulation der bisherigen SPS-Logik zeigt.

    Wie Sie in der Animation sehen, wird die Funktion immer dann ausgeführt, wenn das Startsignal TRUE ist, und der Ausgang ändert sich weiter. Und sobald das Startsignal nicht mehr verfügbar ist, bleibt der Ausgang auf dem zuletzt aufgezeichneten Wert.
    Die Verwendung der Dateninstanz besteht hier darin, dass die Werte der statischen Variablen und der Ausgangsvariablen in der einzelnen Instanz gespeichert werden, sodass die Funktion bei erneutem Startsignal mit den zuletzt aufgezeichneten Werten fortgesetzt wird.
    Sehr wichtiger Hinweis
    Sie sollten niemals dieselbe einzelne Instanz für zwei verschiedene Aufrufe eines FBs verwenden. Siehe die nächste Animation.

    Wie Sie in der Animation sehen, haben wir zwei verschiedene FB-Aufrufe, aber beide Aufrufe sind mit derselben einzelnen Instanz verknüpft, weshalb sich der Output2-Wert mit Output1 änderte, selbst wenn das Start2-Signal FALSE war.
    Wie zu erwarten, wird die Änderung der Dateninstanz des 1. Aufrufs auch im 2. Aufruf beeinflusst, da sie denselben Speicherblock haben. Siehe Abbildung 10.

    Abbildung 10 – Verwenden Sie niemals dieselbe Dateninstanz mit verschiedenen FB-Aufrufen
    Wenn Sie dieselbe Dateninstanz mit verschiedenen FB-Aufrufen verwendet haben, ist Ihr Funktionsblock nicht mehr wiederverwendbar. Auch wenn die Ein-/Ausgabeparameter für jeden einzelnen FB-Aufruf unterschiedlich sind. Wie Sie im letzten Video (Animation) gesehen haben, hatten beide Aufrufe dieselben Ergebnisse, obwohl der 2. Aufruf nicht einmal ein Aktivierungseingangssignal hat.
    Ein weiterer sehr wichtiger Hinweis
    Wir haben bereits erwähnt, dass Sie, wenn Sie Ihren FB von einem übergeordneten FC aus aufrufen, zwei Optionen für die zugehörige Dateninstanz haben: die Einzelinstanz und die Parameterinstanz. Siehe Abbildung 11.

    Abbildung 11 – Verwenden einer Einzelinstanz mit einem von einem FC aus aufgerufenen FB
    Wenn dies passiert und Sie einen FB innerhalb eines FC aufrufen, sollten Sie für Ihre FBs niemals eine Einzelinstanz verwenden. Um zu erfahren, warum das so ist, siehe Abbildung 12

    Abbildung 12 – Mehrmaliges Aufrufen des übergeordneten FC
    Wie Sie in Abbildung 12 sehen, werden Sie nicht aufgefordert, einen Datenblock zuzuweisen, wenn Sie den übergeordneten FC in Ihrer Logik mehr als einmal aufrufen, da FCs keinen benötigen.
    Sie wissen jedoch, dass sich innerhalb des FC ein aufgerufener FB befindet, diesem FB ist eine Einzelinstanz zugeordnet. Die 3 FC-Aufrufe haben jetzt also dieselbe Dateninstanz für den FB-Aufruf. Ihre Funktion FC ist also nicht mehr wiederverwendbar.
    Was tun? Wenn Sie einen FB innerhalb eines FC aufrufen müssen, ist die beste Option die Verwendung der Parameterinstanz.
    Parameterinstanz
    Wie bereits erwähnt, sollten Sie, wenn Sie einen FB innerhalb eines FC aufrufen, nicht die einzelne Instanz wählen, sondern die Parameterinstanz ist für Ihre Wiederverwendbarkeit besser.
    Eine Parameterinstanz speichert die Dateninstanz des aufgerufenen FB im In-Out-Bereich der FC-Blockschnittstelle. So können Sie für jeden FC-Aufruf eine neue Dateninstanz eingeben. Siehe Bilder 13 und 14.

    Bild 13 – Zuweisen einer Parameterinstanz beim Aufrufen eines FB innerhalb eines FC

    Bild 14 – Jeder FC-Aufruf erfordert eine neue Dateninstanz
    Wie Sie im vorherigen Bild sehen, wird jedes Mal, wenn Sie den FC innerhalb Ihres Programms aufrufen, eine Dateninstanz für den wiederverwendbaren FB innerhalb des FC angefordert.
    Auf diese Weise müssen Sie die Dateninstanz jedoch selbst erstellen. Siehe Bild 15.

    Bild 15 – Erstellen einer neuen Dateninstanz
    Um eine neue Dateninstanz zu erstellen, gehen Sie genauso vor wie beim Erstellen eines FC oder eines FB, wählen dieses Mal jedoch die DB-Option. Und stellen Sie sicher, dass Sie den DB-Typ so auswählen, dass er mit dem des aufgerufenen FB übereinstimmt.
    Jetzt kann Ihr FC beliebig oft wiederverwendet werden, Sie müssen lediglich für jeden Aufruf eine Instanz erstellen. Siehe Abbildung 16.

    Abbildung 16 – Weisen Sie den DB dem FC-Aufruf zu
    Multiinstanzdatenbank
    Eine Multiinstanzdatenbank bedeutet einfach, dass der DB des aufgerufenen FB im DB des aufrufenden FBs höherer Ebene gespeichert wird. Diese Option ist nur verfügbar, wenn Sie einen FB von einem anderen FB aus aufrufen.
    Lassen Sie uns einen weiteren FB erstellen, um ihn als FB höherer Ebene zu verwenden.
    Rufen Sie diesen HigherLevelFB nach dem Erstellen vom Haupt-OB1 aus auf. Natürlich ist die einzige Aufrufoption eine einzelne Instanz, wie zuvor gezeigt. Siehe Abbildung 17.

    Abbildung 17 – Rufen Sie den HigherLevelFB vom Haupt-OB1 aus auf
    Rufen Sie nun den ReusableFB vom HigherLevelFB aus auf. Und wählen Sie die Option Multiinstanz. Siehe Abbildung 18.

    Abbildung 18 – Mehrfachinstanz-DB zuweisen
    Wenn Sie die Option Mehrfachinstanz wählen, wird die erstellte DB in den statischen Parametern des aufrufenden FB gespeichert. Siehe Abbildung 19.

    Abbildung 19 – Instanzen werden in statischen Parametern gespeichert
    Sie können den wiederverwendbaren FB viele Male aufrufen, bei jedem Aufruf wird die Mehrfachinstanz im statischen Parameter gespeichert. Siehe Abbildung 20.

    Abbildung 20 – Wiederverwendbaren FB viele Male aufrufen
    Wie Sie sehen, wird die Dateninstanz des FB auf niedrigerer Ebene in der Dateninstanz des FB auf höherer Ebene gespeichert. Dies ist am besten für eine bessere Programmstruktur und eine leicht lesbare Logik.
    Fazit
    Wenn Sie Funktionsblöcke in Ihrem Code erstellen, müssen Sie jedem FB-Aufruf, den Sie in Ihrer Logik vornehmen, einen Datenblock zuordnen. Dieser Datenblock oder auch Dateninstanz genannt, hat je nach Art des Blocks, der Ihren FB aufruft, unterschiedliche Optionen.
    Seien Sie bei der Auswahl des Dateninstanztyps vorsichtig, da einige Optionen für Ihren Fall möglicherweise nicht geeignet sind, wie wir zuvor gezeigt haben. Und manchmal kann dies zu Problemen in Ihrer Logik führen und Ihre Funktion kann nicht mehr wiederverwendet werden.
    Die Verwendung mehrerer Instanzen kann Ihnen dabei helfen, Ihre Programmstruktur besser zu organisieren, da alle aufgerufenen FBs ihre DBs im aufrufenden Haupt-FB speichern.

    leikang
    Im vorherigen Artikel haben wir über Datenblöcke gesprochen und die zwei verschiedenen Arten von Datenblöcken besprochen, den globalen Datenblock und die Dateninstanzen von Funktionsblöcken FBs.
    In diesem Artikel werden wir besprechen, was mit optimiertem Datenblockzugriff und standardmäßigem Datenblockzugriff im Siemens Tia Portal gemeint ist.
    Inhalt:
    Was sind optimierte und standardmäßige Datenblöcke? Einfaches Programmbeispiel. Was sind Standard-DBs? Was ist der Offset? Was sind optimierte DBs? Vorteile der Verwendung optimierter DBs. Schlussfolgerungen. Was ist optimierter und standardmäßiger Datenblockzugriff?
    Erstens sind dies keine neuen Arten von Datenblöcken; wir sagten, wir haben nur zwei verschiedene Arten, den globalen DB und den Instanz-DB. Optimierter Datenblockzugriff ist eine Funktion für den Datenblock. Sie können diese Funktion in den Eigenschaften des von Ihnen erstellten Datenblocks aktivieren oder deaktivieren.
    Die optimierte Datenblockfunktion ist nur für S7-1200- und S7-1500-SPS verfügbar, nicht für S7-300 oder S7-400.
    Die Standardeinstellung für Datenblöcke bei der Arbeit mit S7-1200- oder S7-1500-SPS ist, dass sie optimiert sind. Wenn Sie einen Standarddatenblock möchten, müssen Sie diesen selbst festlegen.
    Was sind also optimierte und Standardblöcke? Um den Unterschied zu verstehen, erstellen wir ein einfaches Programm und versuchen zu zeigen, wie sich ein optimierter Block von einem Standardblock unterscheidet.
    Einfaches Programmbeispiel:
    In diesem Beispiel erstellen wir keine SPS-Logik und codieren keine Anweisungen. Wir erstellen nur zwei globale Datenblöcke. DB1 wird OptimizedDB und DB2 StandardDB genannt.
    In beiden Datenblöcken deklarieren wir jeweils vier Variablen der Datentypen Bool, Int, Real und Word. Siehe Bild 1.

    Bild 1 – Zwei globale DBs erstellen
    Als Erstes werden Sie feststellen, dass beide Datenblöcke genau gleich sind. Das liegt daran, dass die Standardeinstellung beim Erstellen eines Datenblocks, wie gesagt, die Optimierung ist. Wir müssen also die Einstellung von DB2 ändern, um daraus einen Standardblock zu machen und zu sehen, ob sich etwas ändert.
    Wir tun das über die Eigenschaften dieses DB2. Sie greifen auf die Eigenschaften von DB2 zu, indem Sie mit der rechten Maustaste auf den Datenblock klicken und auf Eigenschaften drücken. Siehe Bild 2.

    Bild 2 – DB2 auf Standardblockzugriff ändern
    Sobald Sie die in Bild 2 gezeigten optimierten Blockzugriffsattribute abwählen und auf OK drücken, wird eine Warnmeldung angezeigt, siehe Bild 3.

    Bild 3 – Popup „Blockzugriff ändern“
    Sobald Sie auf OK drücken, wird Ihr DB2 auf Standardblockzugriff umgestellt. Siehe Bild 4. Um zu sehen, welchen Unterschied das gemacht hat.

    Bild 4 – DB2 ist jetzt ein Standardblock
    Was wir direkt sehen können, ist, dass DB1 und DB2 nicht mehr dasselbe sind. Die in DB2 dargestellte Standardblockzugriffsoption hat eine zusätzliche Spalte namens Offset.
    Vor jeder Variable im Offset-Feld steht ein … geschrieben, dies ändert sich, sobald Sie Ihr Programm kompilieren.
    Lassen Sie uns kompilieren und sehen, was passiert, siehe Bild 5.

    Bild 5 – Kompilieren Sie Ihr Programm, um den Offset neu zu laden
    Jetzt wird der Offset mit 0,0, 2,0, 4,0 bzw. 8,0 ausgefüllt, wie Sie sehen können.
    Also, was ist dieser Offset? Was bedeutet er? Darauf kommen wir später zurück, aber jetzt erstellen wir einen weiteren STANDARD-Block und deklarieren dieselben 4 Variablen, aber dieses Mal ändern wir die Reihenfolge der variablen Datentypen, siehe Bild 6.

    Bild 6 – Einen weiteren Standardblock DB3 erstellen
    Sie sehen im letzten Bild, dass der Offset von DB2 und DB3 unterschiedlich ist. Warum sind die Offsetwerte unterschiedlich, als wir die Reihenfolge der Datentypen geändert haben? Es sind dieselben Datentypen, aber in anderer Reihenfolge.
    Erstellen wir einen weiteren Standard-DB und deklarieren dieselben 4 Variablen, aber wieder in anderer Reihenfolge. Kompilieren Sie Ihren SPS-Code und vergleichen Sie nun den Offset der 3 DBs. Siehe Bild 7.

    Bild 7 – Drei verschiedene DBs mit drei verschiedenen Offsets
    Das Gleiche passierte erneut.
    Was sind Standard-DBs? Was ist der Offset?
    Datenblöcke mit Standardzugriff haben eine feste Struktur. Wenn Sie eine Variable in einem Standard-DB deklarieren, wird dieser Variable eine feste Adresse in diesem DB zugewiesen.
    Die Adresse dieser Variable wird in der Spalte „Offset“ angezeigt. Was wir also in den vorherigen Bildern im Offset gesehen haben, war die jeder Variable zugewiesene Adresse.
    Da die Struktur von Standard-DBs fest ist, können Sie nur in DBs mit fester Speicherkapazität arbeiten, d. h. einem 16-Bit-Bereich oder 2 Bytes. Dies ist der Grund für die unterschiedliche Adressierung derselben Variablen, wenn wir die Deklarationsreihenfolge geändert haben. Weitere Erklärungen finden Sie in Bild 8.

    Bild 8 – Einfache Darstellung von DB2
    Bild 8 zeigt eine einfache Darstellung des Standarddatenblocks DB2. Wie bereits erwähnt, hat ein Standard-DB feste Speicherblöcke von 16 Bit. Wenn wir also Variable_1 als Datentyp BOOL deklarieren, belegt diese Variable die gesamten 16 Bit, obwohl sie nur 1-Bit-Speicher benötigt. Deshalb sehen Sie den Rest des Bereichs rot markiert, da er nicht verwendet wird, aber nicht mehr verwendet werden kann. Es handelt sich also um verlorenen Speicher.
    Bei Variable_2 benötigt der Datentyp INT 16 Bit, sodass 2 ganze Bytes verwendet werden. Dasselbe gilt für Variable_4, die vom Datentyp WORD ist.
    Bei Variable_3 belegten wir 4 Bytes, da sie vom Datentyp REAL ist. Deshalb beträgt der Offset für DB2 jeweils 0,0, 2,0, 4,0 und 8,0.
    Dasselbe Konzept wird für DB3 und DB4 ausgeführt. Da jedoch die Datentypreihenfolge der Variablen unterschiedlich ist, ist die Speicherdarstellung unterschiedlich und daher auch der Offset unterschiedlich. Sehen Sie sich die Bilder 9 und 10 für DB3 und DB4 an. Versuchen Sie, die Darstellung anhand der vorherigen Erklärung zu verstehen.

    Bild 9 – Speicherdarstellung von DB3

    Bild 10 – Speicherdarstellung von DB4
    Wenn Sie also mit einer Standard-DB arbeiten, müssen Sie beim Deklarieren Ihrer Variablen vorsichtig sein, da Sie wissen, dass jedes Mal, wenn Sie eine neue BOOL-Variable definieren, Speicher verloren geht.
    Wenn Sie die neue Variable am Ende Ihrer DB-Liste deklarieren, wird der Offset erweitert, um Ihre neue Variable einzuschließen. Wenn Sie die neue Variable jedoch zwischen Ihrer alten oder am Anfang der DB deklarieren, geschieht etwas anderes. Siehe Bild 11.

    Bild 11 – Deklarieren einer neuen Variable
    Als Erstes werden Sie feststellen, dass Ihr Offset jetzt verloren ist und Sie Ihren Code kompilieren müssen, um den neuen Offset wiederherzustellen. Siehe Bild 12.

    Bild 12 – Stellen Sie Ihren Offset wieder her, indem Sie Ihren Code neu kompilieren
    Ist Ihnen aufgefallen, wie sich die Adressierung der Variablen (OFFSET) geändert hat?
    Beispielsweise war der Offset des REAL-Tags 2,0, aber nachdem wir die neue Testvariable hinzugefügt haben, ist die Adressierung desselben REAL-Tags (OFFSET) jetzt 4,0, siehe Bild 13.

    Bild 13 – Offset-Änderung nach dem Hinzufügen der Testvariable
    Beim Hinzufügen einer neuen Variable wurde also die Adressierung aller alten Variablen geändert. Das bedeutet, dass jede Anweisung in Ihrem Programm, die den Wert einer bestimmten Variable schreiben oder lesen muss, jetzt die zugewiesene Adresse in der Anweisung betrachtet, aber jetzt hat die Adresse andere Daten als erwartet.
    Einfach ausgedrückt ist Ihre gesamte Logik jetzt durcheinander. Das wird zu einer Menge Ärger führen. Ganz zu schweigen davon, dass Sie jetzt zusätzlichen Speicher verloren haben, nachdem Sie die neue Variable hinzugefügt haben. Siehe Bild 14.

    Bild 14 – Hinzufügen einer MOVE-Anweisung
    Fügen wir eine MOVE-Anweisung hinzu, um einen Wert von 1 in das Tag Variable_2 zu verschieben. Sehen Sie, dass die Adresse der MOVE-Ausgabe %DB2.DBW2 lautet.
    Fügen wir nun eine neue Variable vom Typ INT zu DB2 hinzu. Siehe Bild 15.

    Bild 15 – Neue INT-Variable hinzufügen
    Wenn Sie die neue Variable hinzufügen, geht der Offset verloren und die SPS weiß nicht mehr, wo das Ziel von OUT1 der MOVE-Anweisung ist.
    Wir müssen das Programm kompilieren, um den neuen Offset neu zu laden. Siehe Bild 16.

    Bild 16 – Neue Adresse von OUT1
    Sehen Sie, wie sich die OUT1-Adresse jetzt geändert hat? Es ist jetzt %DB2.DBW4 statt %DB2.DBW2. Dies ist ein sehr großer Nachteil bei der Verwendung von Standarddatenblöcken.
    Was sind optimierte DBs?
    Der Unterschied zwischen optimierten Datenblöcken und Standarddatenblöcken besteht darin, dass Variablen in einem optimierten Datenblock keiner festen Adresse zugewiesen werden, sondern den Variablen ein symbolischer Name zugewiesen wird. Außerdem ist die Struktur des Datenblocks nicht so festgelegt wie bei den Standarddatenblöcken, sodass beim Deklarieren neuer Tags kein Speicherverlust auftritt und die Adressen nicht geändert werden. Siehe Abbildung 17.

    Abbildung 17 – Deklarieren neuer Tags in optimierten Blöcken
    Das Deklarieren neuer Tags in optimierten Datenblöcken wirkt sich also nicht auf die übrigen Tags aus, da diese durch symbolische Namen und nicht durch absolute Adressierung definiert werden.
    Ein optimierter Datenblock erlaubt Ihnen nicht, Adressen zu verwenden, wenn Sie mit den darin definierten Tags arbeiten. Siehe Bild 18.

    Bild 18 – Absolute Adressierung bei optimierten Bausteinen
    Wie Sie im letzten Bild sehen, ist bei einem optimierten Datenbaustein keine absolute Adressierung erlaubt und nur symbolische Namen sind zulässig. Siehe Bild 19.

    Bild 19 – Verwendung symbolischer Namen bei optimierten DBs
    Vorteile von Datenbausteinen mit optimiertem Zugriff
    Datenbausteine mit optimiertem Zugriff haben keine fest definierte Struktur. Den Datenelementen (Tags) wird nur ein symbolischer Name zugewiesen und es wird keine feste Adresse innerhalb des Bausteins verwendet.
    Die Elemente werden automatisch im verfügbaren Speicherbereich des Bausteins gespeichert, so dass keine Lücken im Speicher entstehen. Dadurch wird die Speicherkapazität optimal ausgenutzt und Speicherverlust im Vergleich zu Standard-DBs vermieden.
    Dadurch ergeben sich folgende Vorteile:
    Sie können Datenbausteine mit beliebiger Struktur erstellen, ohne auf die physikalische Anordnung der einzelnen Variablen zu achten. Ein schneller Zugriff auf die optimierten Daten ist jederzeit möglich, da die Datenablage vom System optimiert und verwaltet wird. Zugriffsfehler, wie beispielsweise bei indirekter Adressierung oder vom HMI aus, sind nicht möglich. Denn es gibt keine Adressen, sondern nur eindeutige symbolische Namen für jede Variable. Sie können bestimmte einzelne Variablen als remanent definieren. In Standard-DBs können Sie nur den gesamten Baustein als remanent definieren. Fazit
    Optimierte Datenbausteine haben viele Vorteile gegenüber Standard-DBs. Durch die Verwendung symbolischer Namen können Adressänderungen von Variablen vermieden werden, wenn Sie Ihrem Baustein neue Variablen hinzufügen.
    Bei optimierten Bausteinen geht kein Speicherbereich verloren. Ganz im Gegensatz zu dem, was bei der Verwendung von Standard-DBs passiert.

    xiangjinjiao
    In früheren Artikeln haben wir verschiedene Arten von Bausteinen im SIEMENS TIA-Portal besprochen, wir haben über Funktionsbausteine FBs, Funktionen FCs und Datenbausteine DBs gesprochen.
    In diesem Artikel werden wir uns mit einem anderen Bausteintyp in SIEMENS-SPS befassen, nämlich den Organisationsbausteinen, und in diesem Artikel werden wir den wichtigsten Organisationsbaustein von allen besprechen, nämlich den Hauptorganisationsbaustein oder OB1.
    Inhalt:
    Was sind Organisationsbausteine? Verschiedene Arten von OBs. Was ist OB1? Zykluszeitüberwachung. Ein einfaches Programmbeispiel. Fazit. Was ist ein Organisationsbaustein (OB)?
    Organisationsbausteine können Sie sich als Funktionen FCs oder Funktionsbausteine FBs vorstellen. Der Unterschied besteht jedoch darin, dass Sie sie nicht aufrufen, sondern das Betriebssystem der SPS diese Organisationsbausteine aufruft. Ob das Betriebssystem den OB zyklisch als OB1 aufruft oder ob er aufgerufen wird, wenn ein bestimmtes Ereignis eintritt, in jedem Fall kümmert sich das Betriebssystem darum. Sie müssen nur den Block erstellen und die gewünschte Logik in den Block einfügen. Manchmal müssen Sie nicht einmal Code in den OB einfügen. Allein das Erstellen des OB selbst kann viele Vorteile bieten, die wir bei der Erörterung einiger dieser OBs sehen werden.
    Organisationsblöcke sind die Schnittstelle zwischen dem SPS-Betriebssystem und dem Benutzerprogramm. Jede SPS hat zwei verschiedene Programme, das Laufzeitprogramm, das das Betriebssystem der SPS ist, und das Benutzerprogramm, das die Logik oder den Code darstellt, den der SPS-Programmierer zur Steuerung eines bestimmten Prozesses schreibt. Diese beiden verschiedenen Softwareprogramme müssen miteinander kommunizieren, und dies geschieht über die Organisationsblöcke (OBs).
    Organisationsblöcke (OBs) werden zum Ausführen vieler Aufgaben verwendet, von denen einige unten aufgeführt sind:
    Starteigenschaften des Automatisierungssystems Zyklische Programmverarbeitung Interruptgesteuerte Programmausführung Fehlerbehandlung. Verschiedene Arten von Organisationsblöcken
    Organisationsblöcke sind im Grunde die Werkzeuge des Betriebssystems zum Ausführen vieler Aufgaben.
    Verschiedene Aufgaben erfordern unterschiedliche OBs, und deshalb gibt es in einer SPS viele verschiedene OBs. Wie viele verschiedene OBs es sind, hängt vom Typ der von Ihnen verwendeten SPS ab. Hier sind jedoch einige der häufigsten OBs, die Sie in fast allen SIEMENS-SPS finden können:
    Zyklischer Haupt-OB1. Zeitalarm-OBs. Tageszeit-OBs. Softwarefehler-OBs. Hardwarefehler-OBs Viele weitere Organisationsblöcke stehen zur Verwendung mit Ihrer Logik zur Verfügung. Siehe Abbildung 1.

    Abbildung 1 – Verschiedene Organisationsblöcke, die im TIA-Portal verfügbar sind
    In diesem Artikel besprechen wir den wichtigsten Organisationsblock von allen, nämlich den zyklischen Haupt-Interrupt-OB1.
    Zyklischer Haupt-Interrupt-OB1
    Der zyklische Haupt-OB1 ist der Organisationsblock, der für die zyklische Ausführung Ihrer Logik durch die SPS verantwortlich ist. Immer wenn Sie ein neues Projekt erstellen und eine SPS hinzufügen, wird der Haupt-OB1 automatisch von der Software erstellt. Dies sind die mindestens erforderlichen Blöcke für einen SPS-Code. Siehe Abbildung 2.

    Abbildung 2 – Haupt-OB1 wird automatisch erstellt
    In diesem Haupt-OB1 können Sie entweder Ihr gesamtes SPS-Programm schreiben, wenn es sich um ein kleines Projekt handelt. Wenn Ihr Projekt ziemlich groß ist, haben Sie wahrscheinlich einige Funktionen FCs oder Funktionsblöcke FBs, die Sie ausführen müssen. In diesem Fall verwenden Sie den Haupt-OB1, um sie aufzurufen.
    Natürlich müssen Sie nicht jeden FC oder FB über den OB1 aufrufen, aber wenn Ihr OB1 nicht der erste Block Ihrer Verschachtelungsaufrufe ist, wird er nicht ausgeführt. Siehe Abbildung 3.

    Abbildung 3 – Aufrufen Ihrer Blöcke über OB1
    Die wesentliche Grundlage Ihres SPS-Codes ist das zyklische Verhalten, d. h. Ihr Code muss kontinuierlich ausgeführt werden. Wenn die Verarbeitung Ihrer Logik abgeschlossen ist, beginnt das Betriebssystem erneut mit der Verarbeitung. Dies geschieht durch die Verwendung des Haupt-OB1. Sie platzieren und rufen Ihre gesamte Logik und Ihren Code in diesem OB1 auf und das Betriebssystem sorgt dafür, dass er kontinuierlich ausgeführt wird.
    Sie sollten wissen, dass Sie, auch wenn Sie keinen OB1-Block erstellen können, da dieser automatisch beim Hinzufügen einer neuen SPS erstellt wird, mehr als einen zyklischen Interruptblock erstellen können.
    OB1 ist ein zyklischer Interrupt, den das Betriebssystem automatisch und kontinuierlich aufruft und die darin enthaltene Logik ausführt. Bei großen SPS-Projekten, bei denen Ihre SPS-Logik viele Funktionen und Funktionsblöcke enthält, können Sie jedoch mehr als einen zyklischen Interrupt-OB verwenden, um Ihren Code besser zu strukturieren und ihn leichter lesbar und nachvollziehbar zu machen.
    In diesem Fall würden Sie einen weiteren zyklischen Interrupt erstellen, siehe Abbildung 4.

    Abbildung 4 – Erstellen von mehr als einem zyklischen OB
    Wenn Sie mehrere Programmzyklus-OBs erstellt haben, werden diese nacheinander in der Reihenfolge ihrer OB-Nummern aufgerufen.
    Der Programmzyklus-OB mit der niedrigsten OB-Nummer wird zuerst aufgerufen. Siehe Abbildung 5.

    Abbildung 5 – Programmzyklus mit mehr als einem zyklischen OB
    Nach Abschluss des zyklischen Programms aktualisiert das Betriebssystem die Prozessabbilder wie folgt:
    Es schreibt die Werte vom Prozessabbild der Ausgänge in die Ausgangsmodule. Es liest die Eingänge an den Eingangsmodulen und überträgt diese in das Prozessabbild der Eingänge. Die beiden vorherigen Schritte sowie die Ausführung des SPS-Programms werden als Scan-Zyklus bezeichnet. Siehe Abbildung 6.

    Abbildung 6 – Scan-Zyklus einer Siemens-SPS
    Zykluszeitüberwachung
    Die Zykluszeit bezieht sich auf die Laufzeit des zyklischen Programms, einschließlich der Laufzeit aller verschachtelten Programmteile wie FCs, FBs und höherpriorer OBs. Wenn Sie mehrere Programmzyklus-OBs erstellt haben, trägt jeder Programmzyklus-OB zur Zykluszeit bei.
    Das Betriebssystem überwacht, ob die Zykluszeit kleiner als die konfigurierte maximale Zykluszeit bleibt. Wenn die maximale Zykluszeit überschritten wird, wechselt die SPS je nach Programmierung entweder in den STOP-Modus oder ruft OB80 auf.
    Neben der Überwachung der maximalen Zykluszeit ist es auch möglich, eine minimale Zykluszeit zu garantieren. Dazu verzögert das Betriebssystem den Start eines neuen Zyklus, bis die Mindestzykluszeit erreicht ist.
    Sie können die Mindest- und Höchstzykluszeit in den Konfigurationseigenschaften Ihrer SPS konfigurieren. Siehe Abbildung 7.

    Abbildung 7 – Konfigurieren der Mindest- und Höchstzykluszeit
    Einfaches Programmbeispiel in der SPS

    Abbildung 8 – SPS-Programmbeispiel
    Um den SPS-Programmzyklus und die OB1-Ausführung besser zu verstehen, erstellen wir ein einfaches Programm. Dieses Programm verwendet eine Additionsanweisung, die in jedem Scanzyklus einen Wert von 1 in einem Speicherbereich akkumuliert. Siehe die folgende Simulation.

    Wie Sie in der Animation sehen, wird die Additionsanweisung sehr schnell ausgeführt; so schnell ist der Scanzyklus. Dies hängt davon ab, wie leistungsstark Ihre SPS ist. Aber hauptsächlich liegt der Scanzyklus im Bereich von Millisekunden.
    Fazit
    Organisationsblöcke sind die Schnittstelle zwischen dem SPS-Betriebssystem und Ihrem Steuerungsprogramm. Der Haupt-Zyklische-OB1 wird zyklisch vom Betriebssystem ausgeführt. Sie führen Ihre Logik aus, indem Sie sie in einen oder mehrere Zyklische-OBs einbinden. Die Scan-Zykluszeit ist die Zeit, die zum Ausführen Ihrer Logik 1 Mal benötigt wird.

    leizuofa
    In früheren Artikeln haben wir besprochen, was ein Organisationsblock ist, und wir haben über den Haupt-Zyklischen Interrupt OB1 und den Tageszeit-Interrupt OB10 gesprochen.
    In diesem Artikel werden wir die verschiedenen OBs weiter besprechen, und dieses Mal sprechen wir über den Time Delay Interrupt Organization Block oder OB20.
    Inhalt:
    Was ist OB20? Wie ruft man OB20 auf? Parameter der SRT_DINT-Anweisung. Beispielprogramm. Fazit. Was ist Time Delay Interrupt (OB20)?
    OB20 ist ein Organisationsblock, der vom Betriebssystem aufgerufen und ausgeführt wird, aber wir müssen dem Betriebssystem mitteilen, wann dieser OB20 aufgerufen werden soll.
    Das Betriebssystem erhält die Informationen vom Benutzer-SPS-Programm, um diesen OB20 aufzurufen. Es wartet auf die konfigurierte Verzögerungszeit und ruft dann die Logik auf und führt sie aus, die sich im OB20 befindet.
    Wir erstellen einen OB20-Block, indem wir im Projektbaum einen neuen Block hinzufügen. Siehe Abbildung 1.

    Abbildung 1 – Einen neuen OB20-Block erstellen
    Nachdem ich nun einen Zeitverzögerungs-Interrupt erstellt habe, stellt sich die Frage, wann dieser ausgeführt wird. Und wie konfiguriere ich die Zeitverzögerung der Blockausführung?
    Auch hier ist OB20 ein Organisationsblock, was bedeutet, dass Sie den auszuführenden Block nicht aufrufen, sondern dem Betriebssystem mitteilen, wann es ihn aufrufen und die darin enthaltene Funktionalität ausführen kann.
    Wie teilt man dem Betriebssystem mit, dass es OB20 aufrufen soll?
    Um dem Betriebssystem mitzuteilen, dass wir OB20 aufrufen möchten, verwenden wir SRT_DINT oder den Startzeitverzögerungs-Interrupt, siehe Abbildung 2.

    Abbildung 2 – Startzeitverzögerungsanweisung
    Parameter der SRT_DINT-Anweisung
    Wie Sie im letzten Bild sehen, können Sie die SRT_DINT-Anweisung verwenden, um OB20 aufzurufen. Sie müssen jedoch einige Parameter konfigurieren, damit die Anweisung funktioniert.
    EN: Die Anweisung wird erst ausgeführt, wenn am EN-Eingang ein negatives Flankensignal anliegt. Das bedeutet, dass Sie eine Bedingung aus dem Satz von Bedingungen zuweisen müssen, um das Signal zu aktivieren, und die Anweisung funktioniert nur, wenn diese Bedingung wahr und dann wieder falsch ist.
    OB_NR: Sie weisen die Nummer des Verzögerungsinterrupts zu, den Sie aufrufen müssen, in unserem Fall 20, da wir OB20 erstellt haben, aber wir können mehr als einen Verzögerungsinterrupt erstellen und müssen dann jeden mit einer separaten SRT_DINT-Anweisung aufrufen.
    DTIME: Dies ist die Verzögerungszeit, die Sie abwarten möchten, bevor Sie OB20 ausführen. Wir werden diese Zeit der Simulation halber auf 5 Sekunden festlegen.
    SIGN: Kennung, die angezeigt wird, wenn der Zeitverzögerungsinterrupt-OB in den Startereignisinformationen des OB aufgerufen wird.
    Beispiel-SPS-Programm
    Um OB20 besser zu verstehen, erstellen wir eine einfache Logik, um zu sehen, wie ein OB20 aufgerufen und ausgeführt werden kann. Wir werden dieses SPS-Beispiel auf der Logik aufbauen, die wir in früheren Artikeln für OB1 und OB10 erstellt haben.
    In OB20 erstellen wir eine Logik, die zählt, wie viele OB1-Zyklen innerhalb der 5 Sekunden Verzögerungszeit aufgerufen und ausgeführt wurden, die wir für OB20 konfiguriert haben. Siehe Abbildung 3.

    Abbildung 3 – Logik in OB20
    Im letzten Bild sehen Sie, dass wir den MOVE-Befehl verwendet haben, um Informationen zu Zykluszählungen zu Beginn des OB20-Aufrufs und nach dessen Ausführung zu übertragen.
    Den Rest der Logik finden Sie in Abbildung 4.

    Abbildung 4 – Berechnen Sie, wie viele Zyklen innerhalb von 5 Sekunden gezählt werden
    Danach subtrahieren wir die beiden Werte der Zykluszählungen, um zu ermitteln, wie viele Zyklen innerhalb der 5 Sekunden Verzögerung ausgeführt wurden.
    Nachdem wir nun die gewünschte Logik erstellt haben, wie können wir OB20 aufrufen? Wie bereits erläutert, müssen wir die Anweisung SRT_DINT verwenden. Wir werden diese Anweisung innerhalb des OB10 verwenden, den wir zuvor so konfiguriert haben, dass er jede Minute ausgeführt wird. Das bedeutet, dass der OB20 ebenfalls jede Minute aufgerufen und ausgeführt wird, jedoch mit einer Verzögerungszeit von 5 Sekunden.
    Im vorherigen Artikel haben wir eine Logik erstellt, die angibt, wie oft der OB1 aufgerufen und ausgeführt wird. Außerdem haben wir eine weitere Logik erstellt, die den OB10 jede Minute aufruft.
    In diesem Beispiel verwenden wir den Aufruf des OB10, um den OB20 aufzurufen. Siehe Abbildung 5.

    Abbildung 5 – Aufruf des OB20 über OB10
    Wir haben bereits gesagt, dass der SRT_DINT ein negatives Flankensignal am EN benötigt, damit der Aufruf gestartet werden kann. Aus diesem Grund haben wir das Signal TimeOfDayInterruptEnabled verwendet, von dem wir wissen, dass es wahr sein wird, wenn OB10 ausgeführt wird, und dann wieder auf falsch zurückgeht, was uns das Flankensignal gibt, das wir brauchen.
    Nachdem die gesamte SPS-Logik nun abgeschlossen ist, kompilieren und führen wir eine neue Simulation aus. Sehen Sie sich die folgende Simulation unseres Projekts an.

    Sie sehen in der Animation, dass die Werte der Zykluszählungen zunächst Nullen sind, aber wenn OB10 aufgerufen wird und TimeOfDayInterruptEnabled wahr ist, wartet die Logik 5 Sekunden, dann werden die Zählwerte mit den Zykluszählungen aktualisiert.
    Fazit
    OB20 ist ein Organisationsblock, der vom Betriebssystem aufgerufen und ausgeführt wird. Wir können dem Betriebssystem sagen, dass es OB20 mit der Anweisung SRT_DINT aufrufen soll.

    leigehong
    In früheren Artikeln haben wir verschiedene Arten von Organisationsblöcken besprochen, wie den Haupt-OB1, der der wichtigste zyklische Programmblock ist. In diesem Artikel werden wir uns mit einem anderen zyklischen Organisationsblock befassen. Dem OB30 oder zyklischen Interrupt-OB.
    Inhalt:
    Was ist ein zyklischer Interrupt OB30? Was ist der Haupt-OB1-Zyklus? Warum brauche ich OB30? Wie konfiguriere ich zyklische Interrupts? Was ist, wenn ich mehr als einen zyklischen Interrupt habe? Fazit. Was ist ein zyklischer Interrupt OB30?
    Ein zyklischer Interrupt OB30 ist ein Organisationsblock, der in festgelegten und genauen Zeitintervallen aufgerufen und ausgeführt wird. Im Gegensatz zum zyklischen Haupt-OB1, der kontinuierlich aufgerufen und ausgeführt wird, wird der zyklische Interrupt in Zeitintervallen aufgerufen, die Sie beim Erstellen eines zyklischen Interrupt-OB konfigurieren sollten.
    Wenn ich beispielsweise einen OB30 mit einem Zeitintervall _auch Zykluszeit genannt_ von 20 ms erstellt habe, bedeutet dies, dass das Betriebssystem den Hauptzyklus-OB1 unterbricht und den OB30 alle 20 ms aufruft.
    Sie müssen sicherstellen, dass die Laufzeit eines zyklischen Interrupt-OB kleiner als sein Zeitintervall ist. Andernfalls kann es passieren, dass der nächste Aufruf des OB30 eintrifft, während dieser Aufruf des OB30 noch ausgeführt wird. In diesem Fall generiert das Betriebssystem einen Zeitfehler, der dazu führen kann, dass die SPS in den STOP-Modus wechselt.
    Was ist der Hauptzyklus-OB1?
    Der Hauptzyklus-OB1 ist der Organisationsbaustein, der für die zyklische Ausführung Ihrer Logik durch die SPS verantwortlich ist. Immer wenn Sie ein neues Projekt erstellen und eine SPS hinzufügen, wird der Haupt-OB1 automatisch von der Software erstellt.
    Die wesentliche Grundlage Ihres SPS-Codes ist das zyklische Verhalten, d. h. Ihr Code muss kontinuierlich ausgeführt werden. Wenn die Verarbeitung Ihrer Logik abgeschlossen ist, beginnt das Betriebssystem erneut mit der Verarbeitung. Dies geschieht durch die Verwendung des Haupt-OB1. Sie platzieren und rufen Ihre gesamte Logik und Ihren Code in diesem OB1 auf und das Betriebssystem sorgt dafür, dass diese kontinuierlich ausgeführt werden.
    Die Zykluszeit des Haupt-OB1 bezieht sich auf die Laufzeit des zyklischen Programms, einschließlich der Laufzeit aller verschachtelten Programmteile wie FCs, FBs und OBs mit höherer Priorität. Wenn Sie mehrere Programmzyklus-OBs erstellt haben, trägt jeder Programmzyklus-OB zur Zykluszeit bei.
    Das Betriebssystem überwacht, ob die Zykluszeit kleiner bleibt als die konfigurierte maximale Zykluszeit. Wenn sie die maximale Zykluszeit überschreitet, wechselt die SPS je nach Ihrer Programmierung entweder in den STOP-Modus oder ruft OB80 auf.
    Warum brauche ich OB30?
    Jemand könnte argumentieren, dass ich jede beliebige Funktionalität innerhalb des OB30 im Haupt-OB1 platzieren und versuchen kann, damit durchzukommen, abhängig von der sehr schnellen Leistung der meisten SPS heutzutage. Das kann manchmal in Ordnung sein, aber nicht immer.
    Abhängig von der Leistung Ihrer SPS kann die Hauptzykluszeit zwischen 1 und 150 ms liegen. Sie kann unterschiedlich sein, aber dies ist die Standardkonfiguration. Diese Zykluszeit hängt von vielen Faktoren ab, wie der Größe Ihres SPS-Programms und Interrupts in Ihrer Logik und anderen Faktoren, die die Laufzeit Ihres Zyklus höchstwahrscheinlich instabil machen.
    Wenn Sie nun bestimmte Funktionen genau alle 10 ms ausführen müssen, nicht alle 9 ms und nicht alle 11 ms, können Sie sich nicht auf den Haupt-OB1 verlassen, da das Ergebnis möglicherweise nicht wie gewünscht ist. In diesem Fall verwenden Sie den zyklischen Interrupt OB30, konfigurieren ihn auf die gewünschten 10 ms und das Betriebssystem stellt sicher, dass diese Funktion genau alle 10 ms aufgerufen und ausgeführt wird. Aus diesem Grund wird er Interrupt genannt, da er die Ausführung des Haupt-OB1 unterbricht, um Ihren OB30 aufzurufen und auszuführen.
    Beispiele für Funktionen, die OB30 benötigen
    PID-Reglerverarbeitung. Überwachung von Sicherheitskreisen. Überwachung der Kommunikation zwischen Maschinen. In allen vorherigen Beispielen müssen Sie Ihre Parameter zu bestimmten Zeiten kontinuierlich überwachen und überprüfen, da sie sich auf reale physikalische Größen oder auf die Maschinensicherheit beziehen. Die Ausführung solcher Funktionen sollte nicht verzögert werden, da sie die Sicherheit und Kontinuität Ihres Prozesses beeinträchtigen.
    Wie konfiguriere ich zyklische Interrupts?
    Wenn Sie einen zyklischen Interrupt erstellen, müssen Sie einige Parameter konfigurieren. Siehe Abbildung 1 zum Hinzufügen eines neuen OB30.

    Abbildung 1 – Neuen zyklischen Interrupt OB30 hinzufügen
    Wenn Sie einen zyklischen Interrupt erstellen, finden Sie viele Parameter, die Sie in den Eigenschaften des Blocks festlegen können, siehe Abbildung 2.

    Abbildung 2 – Eigenschaften von OB30
    Die wichtigsten Parameter, die Sie berücksichtigen müssen, sind folgende:
    Zykluszeit Verwenden Sie den Parameter „Zykluszeit“, um den Zeitraum zwischen zwei Aufrufen des zyklischen Interrupt-OB festzulegen. Er ist ein ganzzahliges Vielfaches von 1 µs.
    Phasenversatz Hier stellen Sie die Zeitspanne ein, um die die Startzeitpunkte gegenüber dem Vielfachen der Zykluszeit verschoben werden.
    Siehe Abbildung 3 für die Konfiguration von Zykluszeit und Phasenversatz.

    Abbildung 3 – Einstellen der Zykluszeit und des Versatzes von OB30
    Priorität des Weckalarm-OB Dies ist ein weiterer wichtiger Parameter, den Sie beim Konfigurieren eines zyklischen Interrupts berücksichtigen müssen, da Sie möglicherweise mehr als einen zyklischen Block haben. Wenn zwei verschiedene OBs gleichzeitig aufgerufen werden müssen, ruft das Betriebssystem den Block mit einer höheren Prioritätsnummer auf und führt ihn aus.
    Sie sollten wissen, dass der SPS-Hauptprogrammzyklus OB1 die Prioritätsnummer 1 hat, die niedrigste Prioritätsstufe, die ein Block haben kann. Deshalb kann OB1 durch jeden anderen Blockaufruf unterbrochen werden. Siehe Abbildung 4.

    Abbildung 4 – Festlegen der Priorität von OB30
    Was passiert, wenn ich mehr als einen zyklischen Interrupt habe?
    Es ist nicht ungewöhnlich, dass Sie mehr als einen zyklischen Interrupt in Ihrer Logik haben. Wenn Sie zwei PID-Regler in Ihrer SPS-Logik haben, benötigen Sie möglicherweise zwei zyklische Interrupts, um jeden PID zu verarbeiten. In diesem Fall müssen Sie sicherstellen, dass sich der Aufruf und die Ausführung verschiedener zyklischer Interrupts nicht überschneiden.
    Wenn Sie beispielsweise OB30 mit einer Intervallzykluszeit von 5 ms und OB31 mit einem Zyklusintervall von 10 ms haben, bedeutet dies, dass der zweite Aufruf von OB30 auch die Zeit für den Aufruf von OB31 ist. Dies kann zu Logikfehlern führen, selbst wenn Sie die Priorität eines der beiden höher als die des anderen einstellen, wird Ihre Zykluszeit für den Block mit der niedrigeren Priorität durcheinandergebracht. Siehe Abbildung 5.

    Abbildung 5 – Überlappung des Aufrufs verschiedener zyklischer Interrupts
    In diesem Fall kann ein Phasenversatz ratsam sein, wenn Sie mehrere zyklische Interrupt-OBs verwenden.
    Wenn ihre Zykluszeiten gemeinsame Vielfache haben, können Sie einen Phasenversatz verwenden, um gleichzeitige Startzeiten zu verhindern. Siehe Abbildung 6.

    Abbildung 6 – Versatz zwischen verschiedenen OB-Aufrufen
    Um diese Überlappung zu vermeiden, setzen wir die Versatzzeit von OB31 auf 1 ms.
    Das bedeutet, dass die Zählung für das OB31-Zeitintervall um 1 ms gegenüber der Startzeit von OB30 verschoben wird. Siehe Abbildung 7.

    Abbildung 7 – Offset-Einstellung von OB31
    Fazit
    Zyklische Interrupts sind sehr nützlich für zeitkritische Aufgaben, bei denen es zu keinen Verzögerungen kommen sollte. Sie können mehr als einen zyklischen Interrupt in Ihrer Logik haben. Verwenden Sie die Offset-Einstellung der zyklischen Interrupts, um gleichzeitige Startzeiten zu vermeiden. Verwenden Sie die Prioritätseinstellung, um die Reihenfolge der Ausführung verschiedener zyklischer Interrupts zu steuern.

    leigehong
    Dieser Artikel handelt von einem Verkehrskontrollsystem für T-Kreuzungen mit Hilfe einer SPS-Leiterlogik, die einen Komparator für den Ampelbetrieb verwendet.
    Verkehrskontrollsystem für T-Kreuzungen
    Die Funktion des Verkehrskontrollsystems für T-Kreuzungen besteht aus drei Segmentgruppen. Durch die Logik des Komparatorbetriebs steuern wir das Ampelsystem.

    Erstes Segment: Im ersten Segment ist der Verkehr auf Spur 1 erlaubt und die Spur 2 und Spur 3 sind angehalten. Hier in diesem Segment leuchtet das grüne Licht (Grün 1) der Spur 1 und die roten Lichter (Rot 2) der Spur 2 und (Rot 3) der Spur 3 leuchten. Dieser Zeitraum dauert fünfzehn Sekunden.
    Zweites Segment: Im zweiten Segment ist der Verkehr auf Spur 2 erlaubt und die Spur 1 und Spur 3 sind angehalten. In diesem Abschnitt leuchtet das grüne Licht (Grün 2) der Spur 2 und die roten Lichter (Rot 1) der Spur 1 und (Rot 3) der Spur 3 leuchten. Dieser Zeitraum dauert 15 Sekunden.
    Dritter Abschnitt: Im dritten Abschnitt ist der Verkehr auf Spur 3 erlaubt und Spur 1 und Spur 2 sind angehalten. In diesem Abschnitt leuchtet das grüne Licht (Grün 3) der Spur 3 und die roten Lichter (Rot 1) der Spur 1 und (Rot 2) der Spur 2 leuchten. Dieser Zeitraum dauert 15 Sekunden.
    Nach der Ausführung aller drei Abschnitte beginnt die Abfolge der Vorgänge erneut und wiederholt sich kontinuierlich.
    Beschreibung der Ein- und Ausgänge
    In diesem SPS-Projekt haben wir 2 Eingänge, 6 Ausgänge, 2 Speicher und 1 Einschaltverzögerungstimer verwendet.
    S.Nr. Symbol Beschreibung 1 I 0.0 START 2 I 0.1 STOP 3 M 0.0 MEMORY 4 M 0.1 MEMORY 1 5 Q 0.0 GRÜN 1 6 Q 0.1 ROT 1 7 Q 0.2 GRÜN 2 8 Q 0.3 ROT 2 9 Q 0.4 GRÜN 3 10 Q 0.5 ROT 3 11 DB1 EIN VERZÖGERUNGSTIMER SPS-Programmierung und ihre Erklärung
    1. Wenn die START-Taste (I 0.0) gedrückt wird, wird MEMORY (M 0.0) aktiviert. Dieser M 0.0 ist der Hauptspeicher, der zum Ausführen aller Prozesse im Programm verwendet wird. Da er verriegelt ist, wird er nur im aktivierten Zustand sein. Wenn STOP (I 0.1) gedrückt wird, wird der gesamte Prozess jederzeit gestoppt.

    2. Sobald MEMORY aktiviert ist, wird der TIMER DB1 eingeschaltet, der die Zeitsteuerung der Verkehrskreuzung steuert. In diesem Timer stellen wir die voreingestellte Zeit von 45 Sekunden ein. Sobald der Timer die voreingestellte Zeit erreicht, wird MEMORY 1 (M 0.1) aktiviert und dieser M 0.1 setzt den Timer gemäß der Logik zurück und lässt den Zyklus kontinuierlich laufen.
    3. Als nächstes spielt der Komparator eine wichtige Rolle bei der Steuerung der Verkehrskreuzung. Zuerst wird der Ausgang GRÜN 1 (Q 0.0) gemäß der Logik eingeschaltet. Hier haben wir Kleiner als oder Gleich für den Komparator verwendet. In dieser Logik befindet sich Q0.0 von 0 Sekunden bis 15 Sekunden im EIN-Zustand. Danach wechselt er in den AUS-Zustand.
    4. Als nächstes haben wir für den Ausgang ROT 1 (Q0.1) die Funktion Größer als oder Gleich verwendet. Q0.1 befindet sich von 15 bis 45 Sekunden im EIN-Zustand. Es befindet sich im AUS-Zustand, wenn Q0.0 im EIN-Zustand ist.
    5. Dann haben wir für Ausgang GRÜN 2 (Q0.2) sowohl Kleiner als oder gleich als auch Größer als oder gleich für diesen Ausgang verwendet. Beide Komparatorfunktionen wurden in serieller Logikschaltung mit dem Ausgang verbunden. Dabei befindet sich Q0.2 je nach Bedingung von 16 bis 30 Sekunden im EIN-Zustand.
    6. Als nächstes haben wir für Ausgang ROT 2 (Q0.3) auch sowohl die Funktion Kleiner als oder gleich als auch Größer als oder gleich verwendet, um den Vorgang auszuführen. Komparatoren wurden in Parallelschaltung mit dem Ausgang verbunden. Dieser Ausgang befindet sich von 0 bis 15 Sekunden und von 30 bis 45 Sekunden im EIN-Zustand. Zwischen 15 Sekunden befindet er sich nur im AUS-Zustand, da sich Q0.2 zu diesem Zeitpunkt im EIN-Zustand befindet.
    7. Dann haben wir für den letzten GRÜNEN 3-Ausgang (Q0.4) die Funktion „Größer als oder gleich“ verwendet. Gemäß der bedingten Logik befindet er sich 30 bis 45 Sekunden lang im EIN-Zustand. Vor diesem Zeitpunkt befindet er sich im AUS-Zustand.
    8. Schließlich der ROT 3-Ausgang (Q0.5). Hier haben wir die Funktion „Kleiner als oder gleich“ verwendet, um die SPS-Logik auszuführen. Er befindet sich 0 bis 30 Sekunden lang im EIN-Zustand, danach befindet er sich im AUS-Zustand.
    Fazit
    Auf diese Weise wird die Verkehrssteuerung der gegebenen T-Kreuzung durch die Komparatorfunktion mit der SPS-Logik ausgeführt. Wir können die Verkehrslogik mithilfe der SPS-Logik auf viele Arten steuern, und dies ist auch eine der Möglichkeiten dazu.

    leizuofa
    Speicherprogrammierbare Steuerungen (SPS) und programmierbare Automatisierungssteuerungen (PAC) sind zwei Arten von Industriesteuerungen, die zur Automatisierung von Prozessen und Maschinen in der Fertigung, Verarbeitung und anderen industriellen Anwendungen verwendet werden. Beide Steuerungstypen haben ähnliche Funktionen, es gibt jedoch auch erhebliche Unterschiede zwischen ihnen.
    In diesem Artikel werden wir uns mit den Unterschieden, Gemeinsamkeiten und Beispielen von SPS und PAC befassen.
    Inhalt:
    Was sind SPS? Was sind PACs? Gemeinsamkeiten zwischen SPS und PAC. Unterschiede zwischen SPS und PAC. Beispiele für SPS-Modelle verschiedener Anbieter. Beispiele für PAC-Modelle verschiedener Anbieter. Wann ist eine SPS am besten geeignet? Und wann eine PAC? Fazit Was ist eine SPS?
    SPS steht für Speicherprogrammierbare Steuerung, ein spezialisierter Industriecomputer, der für Automatisierungssteuerungssysteme verwendet wird. SPS sind für den Betrieb in rauen Umgebungen konzipiert und werden zur Steuerung von Maschinen in Fertigungsanlagen, Fließbändern und anderen industriellen Umgebungen verwendet.
    SPS können in 5 verschiedenen Sprachen programmiert werden, z. B. Kontaktplanlogik, Funktionsblockdiagramme, Strukturtext, Anweisungsliste und sequentielle Diagramme. Diese 5 Sprachen sind gemäß den Normen IEC 61131-3 zugelassen und werden angewendet.
    Was ist ein PAC?
    PAC steht für Programmable Automation Controller (programmierbarer Automatisierungscontroller), der einer SPS ähnelt, aber über erweiterte Funktionen verfügt. PAC kombiniert die Fähigkeiten einer herkömmlichen SPS mit der Fähigkeit, viel kompliziertere Aufgaben auszuführen und mit anderen Geräten und Systemen zu kommunizieren, wodurch sie flexibler und leistungsfähiger als SPS sind.
    PAC wird typischerweise für komplexere Automatisierungs- und Steuerungsanwendungen in Branchen wie der Automobilindustrie, der Luft- und Raumfahrt und der Energieerzeugung verwendet. PAC kann in denselben 5 Sprachen wie SPS programmiert werden, aber auch in C und C++, wodurch sie die Codierung komplexerer Algorithmen handhaben können.
    Ähnlichkeiten zwischen SPS und PAC
    Die Ähnlichkeiten zwischen SPS und PAC sind so groß, dass es manchmal schwierig ist zu sagen, ob sie sich überhaupt unterscheiden. Obwohl es immer noch einige Unterschiede zwischen ihnen gibt.
    Die Ähnlichkeiten, die sie teilen, können sogar noch größer sein. Hier sind einige der Gemeinsamkeiten zwischen SPS und PAC:
    Kernfunktionalität
    Sowohl SPS als auch PAC sind für die zuverlässige und genaue Steuerung industrieller Automatisierungssysteme konzipiert. Sie werden verwendet, um Eingaben von Sensoren und anderen Geräten zu überwachen, die Informationen zu verarbeiten und dann Steuersignale an Aktuatoren und andere Geräte auszugeben.
    Programmierung
    Sowohl SPS als auch PAC verwenden Programmiersprachen, um Steuerlogik zu erstellen, die das Verhalten des Automatisierungssystems bestimmt. Sie teilen sich die 5 Programmiersprachen, die in den IEC 61131-3-Standards definiert sind, aber PAC bietet mehr Programmiersprachenoptionen, darunter C und C++.
    Haltbarkeit
    Sowohl SPS als auch PAC sind für raue Industrieumgebungen wie extreme Temperaturen, Feuchtigkeit und Vibrationen ausgelegt. Sie sind robust und zuverlässig, mit langer Lebensdauer und geringerem Wartungsaufwand.
    Modulares Design
    Sowohl SPS als auch PAC haben ein modulares Design, das eine einfache Erweiterung und Anpassung ermöglicht. Module können hinzugefügt oder entfernt werden, um bestimmte Anforderungen zu erfüllen.
    Industriestandards
    Sowohl PLC als auch PAC sind so gebaut, dass sie Industriestandards für Automatisierungs- und Steuerungssysteme wie IEC 61131 erfüllen. Diese Standards gewährleisten die Interoperabilität zwischen Geräten und Systemen verschiedener Hersteller.
    Unterschiede zwischen PLC und PAC
    Die Unterscheidung zwischen PAC und PLC kann etwas verschwommen sein. Obwohl es keine Definition dessen gibt, was ein PAC ausmacht, gibt es einige gemeinsame Merkmale, die PAC von PLC unterscheiden:
    Funktionalität
    Obwohl sowohl PLC als auch PAC für Automatisierungs- und Steuerungsanwendungen verwendet werden, verfügen PAC über erweiterte Funktionen wie Bewegungssteuerung, Prozesssteuerung und Datenerfassung. PAC verfügen normalerweise auch über mehr Verarbeitungsleistung und Speicher als PLC.
    Konnektivität
    PAC verfügen über erweiterte Konnektivitätsoptionen als PLC, darunter Ethernet, USB und Wireless. Dies erleichtert die Integration in größere Automatisierungssysteme und die Kommunikation mit anderen Geräten und Systemen.
    Kosten
    Aufgrund ihrer erweiterten Funktionalität und Flexibilität sind PAC im Allgemeinen teurer als PLC.
    Erweiterte Funktionen
    PACs verfügen häufig über erweiterte Softwarefunktionen als SPS, wie z. B. integrierte Bewegungssteuerung, Datenprotokollierung und erweiterte Diagnosetools. Diese Funktionen erleichtern Ingenieuren und Technikern die Überwachung und Fehlerbehebung des Steuerungssystems.
    Beispiele für SPS-Modelle verschiedener Anbieter
    Siemens S7-1500 SPS:
    Dies ist eine Hochleistungs-SPS von Siemens, einem der führenden Automatisierungsanbieter. Sie ist für anspruchsvolle Anwendungen konzipiert und bietet erweiterte Funktionen wie Bewegungssteuerung, Sicherheit und Schutz. Siehe Bild 1.

    Bild 1 – SIEMENS S7-1500 SPS
    Allen-Bradley CompactLogix 5370 SPS:
    Dies ist eine vielseitige SPS von Rockwell Automation, die eine breite Palette an E/A-Optionen und Kommunikationsprotokollen bietet. Sie eignet sich für eine Vielzahl von Anwendungen, darunter Maschinensteuerung und Prozessautomatisierung. Siehe Bild 2.

    Bild 2 – Allen-Bradley CompactLogix 5370 SPS
    Mitsubishi Electric Q Series SPS:
    Dies ist eine zuverlässige SPS von Mitsubishi Electric, die Hochgeschwindigkeitsverarbeitung, flexible E/A-Optionen und erweiterte Programmierfunktionen bietet. Sie eignet sich für eine Vielzahl von Anwendungen, darunter Automobil, Lebensmittel und Getränke sowie Pharmazeutika. Siehe Bild 3.

    Bild 3 – Mitsubishi Electric Q Series SPS
    Omron NJ Series SPS:
    Dies ist eine Hochgeschwindigkeits- und Hochleistungs-SPS von Omron, die erweiterte Bewegungssteuerung und Netzwerkfunktionen bietet. Sie eignet sich für eine Vielzahl von Anwendungen, darunter Verpackung, Druck und Halbleiterherstellung. Siehe Bild 4.

    Bild 4 – SPS der Serie Omron NJ
    Beckhoff TwinCAT SPS:
    Dies ist eine softwarebasierte SPS von Beckhoff, die auf einer PC-basierten Plattform läuft. Sie bietet erweiterte Funktionen wie Bewegungssteuerung, CNC und Robotik und eignet sich für eine Vielzahl von Anwendungen, einschließlich Maschinensteuerung und Prozessautomatisierung. Siehe Bild 5.

    Bild 5 – PC-basierte SPS Beckhoff TwinCAT CX9240
    Beispiele für PAC-Modelle verschiedener Anbieter
    Emerson DeltaV DCS PAC:
    Dies ist ein PAC für verteilte Steuerungssysteme (DCS) von Emerson. Es ist für komplexe kontinuierliche Steuerungsanwendungen konzipiert und bietet erweiterte Funktionen wie Prozessmodellierung, Batch-Management und erweiterte Steuerung. Siehe Bild 6.

    Bild 6 – Emerson DeltaV DCS PAC
    Schneider Electric Modicon M340 PAC:
    Dies ist ein Hochleistungs-PAC von Schneider Electric, der erweiterte Funktionen wie Bewegungssteuerung, Sicherheit und Cybersicherheit bietet. Er eignet sich für eine Vielzahl von Anwendungen, darunter Energie, Wasseraufbereitung und Bergbau. Siehe Bild 7.

    Bild 7 – Modicon M340 PAC
    Einige weitere Beispiele für PACs sind:
    ABB AC 800M PAC Yokogawa ProSafe-RS PAC Phoenix Contact PLCnext Technology PAC Bosch Rexroth IndraMotion MLC PAC Wann ist eine SPS am besten geeignet? Und wann ein PAC?
    SPS und PAC werden in verschiedenen Arten von Automatisierungsanwendungen verwendet, abhängig von den spezifischen Anforderungen der jeweiligen Anwendung. Hier sind einige allgemeine Richtlinien, in welchen Fällen eine SPS und in welchen Fällen ein PAC am besten geeignet ist:
    SPS eignen sich am besten für:
    Diskrete Steuerungsanwendungen:
    SPS eignen sich am besten für Anwendungen mit diskreter Steuerung, wie z. B. die Steuerung des Betriebs eines Förderbands, einer Sortieranlage oder einer Verpackungsmaschine.
    Einfache Steuerungssysteme:
    SPS eignen sich ideal für Anwendungen mit einem relativ einfachen Steuerungssystem, das mit Kontaktplanlogik oder anderen ähnlichen Programmiersprachen programmiert werden kann.
    Kostensensitive Anwendungen:
    SPS sind im Allgemeinen günstiger als PACs, was sie zu einer guten Wahl für Anwendungen macht, in denen die Kosten ein wesentlicher Faktor sind.
    Kleine bis mittelgroße Systeme:
    SPS eignen sich für kleine bis mittelgroße Steuerungssysteme, in denen die Anzahl der Ein- und Ausgänge relativ gering ist.
    Ein Förderbandsystem in einer Fertigungsanlage ist ein gutes Beispiel für ein Automatisierungssystem, in dem eine SPS am besten geeignet ist. In dieser Anwendung ist die SPS für die Steuerung der Geschwindigkeit und Richtung des Förderbands sowie für die Überwachung des Status von Sensoren und anderen Geräten entlang der Förderlinie verantwortlich. Die SPS kann auch so programmiert werden, dass sie bestimmte Produktionsaufgaben wie Sortieren, Zählen oder Verpacken übernimmt.
    Ein Fördersystem hat normalerweise eine feste Struktur und einen genau definierten Satz von Vorgängen, die sequenziell ausgeführt werden müssen. SPS sind für diese Art von Anwendung gut geeignet, da sie für die Ausführung diskreter Steuerungsaufgaben ausgelegt sind und sehr zuverlässig funktionieren. SPS können einfach programmiert und konfiguriert werden, um verschiedene Arten von Sensoren, Aktoren und Kommunikationsprotokollen zu verarbeiten.
    PACs eignen sich am besten für:
    Prozesssteuerungsanwendungen:
    PAC eignet sich am besten für Anwendungen, die Prozesssteuerung beinhalten, wie z. B. die Steuerung des Betriebs einer Chemieanlage, einer Wasseraufbereitungsanlage oder eines Kraftwerks.
    Komplexe Steuerungssysteme:
    PAC ist ideal für Anwendungen mit einem komplexen Steuerungssystem, das erweiterte Algorithmen und Optimierungsfunktionen erfordert.
    Großsysteme:
    PAC eignet sich für groß angelegte Steuerungssysteme, bei denen die Anzahl der Ein- und Ausgänge hoch ist und das System über einen großen Bereich verteilt ist.
    Hochleistungsanwendungen:
    PAC ist für die Handhabung von Hochleistungsanwendungen geeignet, die eine schnelle Datenverarbeitung, Echtzeitsteuerung und hohe Zuverlässigkeit erfordern.
    Ein Kraftwerkssteuerungssystem ist ein gutes Beispiel für ein Automatisierungssystem, für das ein PAC am besten geeignet ist. In dieser Anwendung ist der PAC für die Steuerung und Überwachung einer großen Anzahl komplexer Prozesse und Geräte wie Turbinen, Generatoren, Kessel und Pumpen verantwortlich. Der PAC ist auch für das Sammeln und Analysieren von Daten von verschiedenen Sensoren und anderen Quellen und das Treffen von Entscheidungen auf der Grundlage dieser Daten zur Optimierung der Leistung des Kraftwerks verantwortlich.
    Ein Kraftwerkssteuerungssystem ist eine sehr komplexe und dynamische Umgebung, in der viele verschiedene Prozesse und Geräte gleichzeitig betrieben werden. PACs eignen sich gut für diese Art von Anwendung, da sie erweiterte Funktionen wie verteilte Steuerung, Redundanz und Fehlertoleranz bieten, die für die Gewährleistung der Zuverlässigkeit und Sicherheit des Kraftwerks unerlässlich sind. PACs können große Datenmengen verarbeiten und können so programmiert werden, dass sie komplexe Algorithmen und Optimierungsaufgaben ausführen.
    Fazit
    SPS und PAC werden beide in industriellen Automatisierungsanwendungen verwendet. Sie haben unterschiedliche Fähigkeiten und sind für unterschiedliche Arten von Anwendungen am besten geeignet. Bei der Auswahl zwischen SPS und PAC müssen die spezifischen Anforderungen der Anwendung berücksichtigt werden. PLC wird typischerweise in diskreten Steuerungsanwendungen verwendet, die über ein relativ einfaches Steuerungssystem verfügen. PAC wird in Prozesssteuerungsanwendungen verwendet, die über ein komplexes Steuerungssystem verfügen und erweiterte Algorithmen und Optimierungsfunktionen erfordern.

    caixiaofeng
    Sequentielle Logik ist bei der SPS-Programmierung sehr nützlich. Sie hilft dabei, Dinge einfach zu ordnen. In vielen Anwendungen, die SPS verwenden, ist die eine oder andere sequentielle Logik geschrieben.
    Zwei der am häufigsten verwendeten Sequenzen sind LIFO und FIFO. Sie haben die Namen in der Elektronik sicher schon einmal gehört, wenn sie zum Stapeln und Sequenzieren verwendet werden. Diese Arten sequentieller Logik sind auch in SPS verfügbar.
    In diesem Artikel lernen wir die LIFO- und FIFO-Sequenzkonzepte in der SPS-Programmierung kennen.
    FIFO-Sequenz in SPS
    FIFO steht für First In First Out. Die Bedeutung dieser Sequenz lässt sich leicht anhand ihres Namens verstehen. Was zuerst kommt, geht zuerst raus. Sie geben ein Element ein; und wenn Sie ein Element anfordern, wird Ihnen das erste gegeben, das eingegeben wird. Dieselbe Logik funktioniert in der SPS-Programmierung für die FIFO-Sequenz.
    Bei der Programmierung wird ein Logikblock mit dem Namen FIFO zugewiesen. Er kann je nach SPS bis zu 16 Wörter oder mehr speichern. Es enthält drei Arten von Eingängen – Zurücksetzen, Speichern und Abrufen.
    Bei einer steigenden Flanke des Rücksetzeingangs wird die Sequenz zurückgesetzt und geleert. Bei einer steigenden Flanke des Speichereingangs wird das am Eingang vorhandene Wort im Block gespeichert. Der Block merkt sich die Sequenz der empfangenen Wörter.
    Bei einer steigenden Flanke des Abrufeingangs wird das zuerst eingegebene Wort in das vom SPS-Programmierer konfigurierte Zielwort gegeben. Es hat zwei Ausgänge – leer und voll. Wenn das leere Bit wahr ist, zeigt es an, dass der Speicher leer ist, und wenn der volle Eingang wahr ist, zeigt es an, dass der Speicher voll ist.

    LIFO-Sequenz in der SPS
    LIFO steht für Last In First Out. Die Bedeutung dieser Sequenz lässt sich leicht anhand ihres Namens verstehen. Das, was zuletzt kommt, wird zuerst ausgegeben. Sie geben ein Element ein; und wenn Sie ein Element anfordern, wird Ihnen das zuletzt eingegebene Element gegeben. Dieselbe Logik funktioniert in der SPS-Programmierung für die LIFO-Sequenz.
    Beim Programmieren wird ein Logikblock namens LIFO zugewiesen. Er kann je nach SPS bis zu 16 Wörter oder mehr speichern. Er enthält drei Arten von Eingängen – Zurücksetzen, Speichern und Abrufen. Bei einer steigenden Flanke des Rücksetzeingangs wird die Sequenz zurückgesetzt und geleert.
    Bei einer steigenden Flanke des Speichereingangs wird das am Eingang vorhandene Wort im Block gespeichert. Der Block merkt sich die Sequenz der empfangenen Wörter.
    Bei einer steigenden Flanke des Abrufeingangs wird das zuletzt eingegebene Wort in das vom Programmierer konfigurierte Zielwort eingegeben. Er hat zwei Ausgänge – leer und voll. Wenn das leere Bit wahr ist, zeigt dies an, dass der Speicher leer ist, und wenn der volle Eingang wahr ist, zeigt dies an, dass der Speicher voll ist.
    Diese Sequenzen sind ziemlich einfach zu handhaben. Der Programmierer muss darauf achten, dass den Speicherblöcken nicht gleichzeitig Eingaben gegeben werden. Der Block führt in diesem Fall dann keine Aktion aus. Es muss immer nur eine Eingabe gegeben werden. Es ist auch zu beachten, dass verschiedene SPSen bei Warm- oder Kaltstart unterschiedlich funktionieren.
    Im Allgemeinen wird beispielsweise bei einem Kaltstart der SPS das Register zurückgesetzt, und bei einem Warmstart bleibt das Register unverändert. Dies ist von Hersteller zu Hersteller unterschiedlich.

    leikang
    Es gibt viele Anweisungen in SPS, die dabei helfen, die Logik auf vereinfachte Weise auszuführen. Anweisungen gibt es in verschiedenen Kategorien wie Arithmetik, Vergleich, Logik, Controller usw. Beispielsweise fällt eine einfache Additionsanweisung zum Addieren von zwei Variablen in die Kategorie Arithmetik. In ähnlicher Weise sind in einer SPS-Logik viele Arten von Anweisungen verfügbar.
    Eine solche Anweisung, die in der SPS-Programmierung weit verbreitet ist, ist die Verschiebungsanweisung. Sie fällt in die Kategorie der numerischen Verarbeitung.
    In diesem Artikel lernen wir das Konzept der Verschiebungsanweisung in der SPS-Programmierung kennen.
    Bitregister verschieben in SPS
    Wie der Name schon sagt, ist eine Verschiebungsanweisung ein Befehl zum Verschieben von Bits eines Worts um eine vordefinierte Position.
    Nehmen wir beispielsweise ein Wort mit 16 Bits an. Sie möchten Bit Nummer 3 von seiner aktuellen vierten Position an die siebte Position verschieben. Wenn also ein Verschiebungsbefehlsimpuls gegeben wird, wird das Bit bei jedem Trigger von der vierten Position an die siebte Position verschoben.
    In dieser Kontinuität wird das Bit an der fünften Position an die achte Position verschoben; und das Bit an der dritten Position wird an die sechste Position verschoben. Hier verschieben Sie also die Bits in einer Gruppe um die von Ihnen definierte Anzahl von Positionen.
    Verschiebeanweisung
    Verschiebeanweisungen gibt es in zwei Arten – Verschieben und Drehen. Sehen wir uns die Drehanweisung an. Betrachten wir eine Syntax – %MW10:= SHL (%MW12, 4). %MW10 ist das Zielspeicherwort und %MW12 ist das Quellspeicherwort.
    Siehe das folgende Bild. In %MW10 wird, wenn ein erster Trigger für die Verschiebung nach links gegeben wird, Bit0 zu Bit1 verschoben und so weiter. Dieses Ergebnis wird in %MW12 gespeichert. Wenn solche Trigger viermal gegeben werden, wird Bit 0 schließlich zu Bit 4 verschoben und so weiter.
    Das Endergebnis wird sowieso in %MW12 gespeichert und Sie erhalten eine endgültige Antwort der Bits, die vom Quellwort um vier Positionen verschoben wurden. Man sollte jedoch bedenken, dass bei jeder Verschiebung das vorhergehende Bit mit dem Wert 0 gefüllt wird. Dies ist im Bild deutlich zu erkennen.
    Nach der ersten Verschiebung ist das erste Bit in %MW12 0. Das Endergebnis nach vier Verschiebungen ist also – 0000 1101 1100 0000. Diese Verschiebung kann also entweder nach rechts oder nach links erfolgen.

    In der SPS gibt es noch eine weitere Art der Verschiebung; die frühere fügte Nullen von der vorhergehenden Position hinzu, aber diese zweite Art behält den Wert des ersten Bits (MSB für rechts und LSB für links) bei. Dies wird als arithmetisches Verschieben bezeichnet.
    Wenn also der Wert des ersten Bits (MSB für rechts und LSB für links) vor der Verschiebung anfangs 1 war, bleibt das letzte Bit nur 1 und die Nullen werden vom zweiten vorhergehenden Bit hinzugefügt, bis der Verschiebebefehl gegeben wird. Es ist zu beachten, dass das letzte verschobene Bit immer in einem Übertragsbit gespeichert wird.
    Rotationsanweisung
    Der zweite Typ ist die Rotationsanweisung. Beachten Sie die Syntax – %MW10:= ROL (%MW12, 4). %MW10 ist das Zielspeicherwort und %MW12 ist das Quellspeicherwort. Wir verwenden dasselbe Bild wie oben als Referenz. Die Rotationsanweisung rotiert, wie der Name schon sagt, die Bits einfach um die von Ihnen definierten Positionen.
    Im Vergleich zur Verschiebungsanweisung, bei der nach jedem vorhergehenden Bit eine Null hinzugefügt wurde, werden die Bits hier einfach in derselben Reihenfolge verschoben wie in der linken Richtung. Nehmen wir also an, Sie haben ein Quellwort von – 1100 1010 1100 0101; dann ist das Endergebnis nach einem Trigger von 4 Positionen – 1010 1100 0101 1100. Die gleiche Logik funktioniert in die richtige Richtung. Das letzte verschobene Bit wird ebenfalls in einem Übertragsbit gespeichert.
    Ein weiterer Typ ist in der Kategorie „Rotieren“ zu finden. Hier wird nicht nur 16 Bits verschoben, sondern das Übertragsbit wird überrollt. Das heißt, das letzte Bit wird in das Übertragsbit verschoben, und das Übertragsbit wird dann in das erste Bit verschoben und so weiter. Beim vorherigen Typ wurde das letzte Bit nur im Übertragsbit gespeichert.

    leizuofa
    Die S7-1200 SPS ist eine kompakte, modulare und kostengünstige Lösung, die eine breite Palette an Funktionen und Flexibilität für kleine bis mittelgroße Automatisierungsanwendungen bietet. Zu diesen Funktionen gehören Kommunikationsoptionen, Speicher, CPU-Leistung und IO-Konfiguration. Wenn Sie einen Prozess steuern müssen, sollten Sie die SPS auswählen und so konfigurieren, dass sie Ihren Prozessanforderungen am besten entspricht.
    In diesem Artikel besprechen wir die Hardwarekonfiguration der S7-1200 SPS und geben ein Beispiel für die Konfiguration im Siemens Tia-Portal.
    Inhalt:
    Was ist die Hardwarekonfiguration einer SPS? Bedeutung der Hardwarekonfiguration. Einfaches Projektbeispiel. Wie konfigurieren wir unsere SPS mit dem gegebenen Beispiel? Hardwarekonfiguration der CPU. IO-Hardwarekonfiguration. HMI-Konfiguration. Fazit. Was ist die Hardwarekonfiguration einer SPS?
    Die Hardwarekonfiguration bezieht sich auf die spezifischen Komponenten der SPS, wie CPU, Speicher, Eingabe-/Ausgabemodule (E/A), Kommunikationsanschlüsse, Stromversorgung und alle zusätzlichen Module oder Zubehörteile, die möglicherweise benötigt und dem System hinzugefügt werden.
    Die Hardwarekonfiguration einer SPS umfasst auch das Aktivieren oder Deaktivieren einiger CPU-Funktionen, je nach Gerät, seinen Fähigkeiten und den Anforderungen Ihres Prozesses.
    Die Hardwarekonfigurationsschritte für eine SPS umfassen normalerweise Folgendes:
    Wählen Sie das geeignete SPS-Modell basierend auf den Anwendungsanforderungen. Identifizieren Sie die Eingabe-/Ausgabeanforderungen für das System, darunter Typ und Anzahl der Sensoren, Aktoren und anderen Geräte, die an die SPS angeschlossen werden. Wählen Sie das Kommunikationsprotokoll und die Netzwerktopologie, die zum Verbinden der SPS mit anderen Geräten und Systemen verwendet werden. Bestimmen Sie die Stromversorgungsanforderungen für die SPS und ihre Peripheriegeräte. Montieren Sie die SPS an einem geeigneten Ort und schließen Sie alle erforderlichen Kabel und Leitungen an. Konfigurieren Sie die SPS-Software für die Kommunikation mit den Hardwarekomponenten und richten Sie die entsprechenden Logik- und Steuerfunktionen ein. Die spezifischen Schritte zur Hardwarekonfiguration können je nach SPS-Modell und Anwendungsanforderungen variieren, aber dies sind die grundlegenden Schritte, die normalerweise in den Prozess einbezogen werden.
    In diesem Artikel sprechen wir über die Hardwarekonfiguration, die auf der TIA Portal-Plattform durchgeführt wird. Das heißt, wir gehen davon aus, dass Sie Ihre Anwendung kennen und dass Sie bereits Ihr SPS-Modell und die Stromversorgung ausgewählt haben. Sie können auf frühere Artikel zurückgreifen, in denen wir besprechen, wie Sie die SPS und die Stromversorgung auswählen, die am besten zu Ihrer Anwendung passen.
    Bedeutung der Hardwarekonfiguration in der SPS
    Eine ordnungsgemäße Hardwarekonfiguration stellt sicher, dass das System zuverlässig und robust ist. Wenn die Hardwarekomponenten nicht richtig konfiguriert sind, funktionieren sie möglicherweise nicht wie vorgesehen, was zu Systemausfällen oder -fehlern führt.
    Die Hardwarekonfiguration wirkt sich auf die Leistung des Systems aus. Durch Auswahl der richtigen Hardwarekomponenten und entsprechende Konfiguration kann das System mit maximaler Effizienz und Geschwindigkeit arbeiten und ein hohes Volumen an Ein- und Ausgängen verarbeiten.
    Die Hardwarekonfiguration wirkt sich auf die Skalierbarkeit und Flexibilität des Systems aus. Bei der Auswahl der Hardwarekomponenten und ihrer Konfiguration sollten zukünftige Erweiterungen oder Änderungen am System berücksichtigt werden, um sicherzustellen, dass das System problemlos Änderungen oder Upgrades verarbeiten kann.
    Die Hardwarekonfiguration wirkt sich auf die Kosten des Systems aus. Durch Auswahl der geeigneten Hardwarekomponenten und Konfiguration können unnötige Kosten vermieden und die Gesamtkosten des Systems minimiert werden.
    S7-1200-Hardwarekonfiguration
    Wir gehen von einem einfachen SPS-Projekt aus und sehen uns an, wie wir die SPS in unser Projekt konfigurieren können, bevor wir mit dem Schreiben unseres Codes beginnen.
    Temperaturkontrollsystem für einen Reaktor mit SPS
    Das Projekt beinhaltet die Kontrolle der Temperatur eines Reaktors mit einer SPS. Das System sollte die Temperatur des Reaktors messen und die Temperatur durch Kontrolle des Durchflusses einer Kühlflüssigkeit anpassen.
    Das Projekt verwendet vier Thermoelemente zur Messung der Temperatur, zwei Magnetventile zur Kontrolle des Durchflusses der Kühlflüssigkeit und einen Motor zum Antrieb des Laufrads des Reaktors.
    E/A-Konfiguration
    Eingänge:
    Thermoelemente 1 – 4: Dies sind 4 analoge Eingänge, die die Temperatur an verschiedenen Stellen im Reaktor messen.
    Not-Aus-Taster: Dies ist ein digitaler Eingang, der im Notfall zum Stoppen des Systems verwendet wird.
    Potentiometer für Temperatursollwert: Dies ist ein analoger Eingang, mit dem der Bediener den gewünschten Temperatursollwert einstellen kann.
    Ausgänge:
    Magnetventil 1 und 2: Dies sind 2 digitale Ausgänge, die den Durchfluss der Kühlflüssigkeit durch die Reaktorrohre steuern.
    Motorsteuerung: Dies ist ein digitaler Ausgang, der die Geschwindigkeit und Richtung des Motors steuert, der das Laufrad antreibt.
    Heizungssteuerung: Dies ist ein digitaler Ausgang, der das Heizsystem des Reaktors steuert.
    Systembetrieb:
    Das System wartet darauf, dass der Bediener den Temperatursollwert mit dem Potentiometer einstellt. Die SPS liest den Temperatursollwert und vergleicht ihn mit der aktuellen Temperatur des Reaktors, die von den vier Thermoelementen gemessen wird. Wenn die Reaktortemperatur unter dem Sollwert liegt, aktiviert die SPS den Heizungssteuerungsausgang, um die Temperatur zu erhöhen. Wenn die Reaktortemperatur über dem Sollwert liegt, aktiviert die SPS einen der Magnetventilausgänge, um den Durchfluss der Kühlflüssigkeit zu erhöhen und die Temperatur zu senken. Die SPS überwacht kontinuierlich die Temperatur und passt die Heizungs- und Kühlsysteme an, um den gewünschten Sollwert beizubehalten. Die SPS steuert auch den Motor, der das Laufrad antreibt, um den Inhalt des Reaktors zu mischen. Wenn der Not-Aus-Druckknopf gedrückt wird, deaktiviert die SPS alle Ausgänge und stoppt das System. Das SPS-Projekt kann je nach den spezifischen Anforderungen des Projekts weiter erweitert und geändert werden, um zusätzliche Funktionen wie Alarme, Datenprotokollierung oder Fernüberwachung einzuschließen. Wir werden uns jedoch nicht mit der Codierung der SPS-Logik dieses Systems befassen, sondern anhand dieses Beispiels erklären, wie die SPS hardwaremäßig so konfiguriert wird, dass sie zu unserem Projekt passt.
    Dazu gehört:
    Auswahl der SPS-CPU. Auswahl der IO-Module. Zuweisung der Eingangs- und Ausgangs-Tags zu den Hardwaremodulen. Zuweisung einer IP zur Kommunikation an die SPS. Zuweisung eines Schutzkennworts. Konfiguration der lokalen Zeit der SPS. Konfiguration des HMI und Herstellen der Verbindung mit der SPS. Wie konfiguriert man die SPS mit dem angegebenen Beispiel?
    Im Folgenden besprechen wir die grundlegende Erstellung eines SPS-Projekts mit der erforderlichen Hardware.
    Die Hardwarekonfiguration der CPU:
    Auswahl der CPU:
    Wenn Sie ein neues Projekt im TIA Portal starten, sollten Sie ein neues Gerät konfigurieren und es Ihrem Projekt hinzufügen. Siehe Bild 1.

    Bild 1. Konfigurieren Sie ein Gerät für Ihr Projekt
    Wie Sie dem vorherigen Bild entnehmen können, zeigt Ihnen das TIA-Portal bereits, dass der erste Schritt die Konfiguration eines neuen Geräts sein sollte.
    Im vorherigen Artikel haben wir besprochen, wie Sie die SPS auswählen, die zu Ihrem Prozess passt. Daher werden wir das hier nicht noch einmal erwähnen. Da es sich um ein einfaches Projekt handelt, wählen wir für unser Projekt die CPU 1214C AC/DC/RLY. Siehe Bild 2.

    Bild 2. Fügen Sie dem Projekt einen neuen Controller hinzu
    CPU-Eigenschaften:
    Je nachdem, welche CPU Sie für Ihr Projekt ausgewählt haben, stehen Ihnen unterschiedliche CPU-Funktionen und -Eigenschaften zur Verfügung.
    Sie können diese Funktionen je nach Bedarf aktivieren oder deaktivieren. Für einige der Funktionen sind zusätzliche Konfigurationen erforderlich. Siehe Bild 3.

    Bild 3 – Eigenschaften der CPU
    Wie Sie im vorherigen Bild sehen können, gibt es viele Eigenschaften, die Sie für Ihre CPU im Projekt festlegen können.
    Wir werden einige dieser Eigenschaften erwähnen, die Sie in jedem Projekt konfigurieren müssen, das Sie erstellen, andere Eigenschaften werden nur in Sonderfällen verwendet.
    Kommunikation:
    Dies ist eine sehr wichtige Konfiguration für jedes SPS-Projekt; Ihr Projekt wird höchstwahrscheinlich verschiedene Module und Geräte haben, die miteinander kommunizieren müssen. Das Einrichten der Kommunikation zwischen Ihrer SPS und diesen Geräten ist für Ihr Projekt wichtig.
    Durch die Auswahl der CPU haben Sie bereits definiert, wie die Kommunikation erfolgen soll. Einige CPUs funktionieren nur mit Profinet, einige nur mit Profibus und einige können beides verwenden. Die für dieses Beispiel ausgewählte SPS funktioniert nur mit Profinet.
    Über die Profinet-Schnittstelle legen Sie die IP-Adresse für Ihre SPS fest. Diese IP sollte im Projekt eindeutig sein; Sie können nicht dieselbe IP für zwei verschiedene Module verwenden. Siehe Bild 4.

    Bild 4 – Profinet-Schnittstelle
    Zykluszeit:
    Wie Sie wissen, ist dies eine weitere wichtige Eigenschaft für Ihre SPS. Die Zykluszeit Ihres Programms hängt davon ab, wie viel Code Sie geschrieben haben und wie lange die SPS braucht, um diesen Code auszuführen.
    In den Zykluszeiteigenschaften können Sie die Zyklusüberwachungszeit festlegen. Wenn die SPS länger als diese festgelegte Zeit braucht, um das Programm auszuführen, gibt die SPS einen Fehler aus. Siehe Bild 5.
    Mit dieser Eigenschaft können Sie auch die Mindestzykluszeit für Ihre CPU bestimmen. Dies können Sie tun, wenn Sie „Mindestzykluszeit für zyklische OBs aktivieren“ aktiviert haben.
    Sie können dann die gewünschte Mindestzykluszeit schreiben und die SPS passt ihre Leistung entsprechend dieser Zeit an. Natürlich ist diese Zeit durch die Leistungsfähigkeit der CPU begrenzt, sodass Sie diese Zeit nicht unter einen bestimmten Grenzwert senken können.

    Bild 5 – Zykluszeiteigenschaft
    System- und Taktspeicherbits:
    Systemspeicherbits und Taktspeicherbits sind in der CPU integrierte Bits, die das Betriebssystem verwendet, um bestimmte Ereignisse in der SPS anzuzeigen.
    Beispielsweise gibt es ein Speicherbit, das nur beim ersten Scan auf TRUE wechselt, oder ein Speicherbit, das TRUE wird, wenn sich der Diagnosestatus ändert. Es gibt auch einige dedizierte Taktspeicherbits, wie ein Bit, das einen Takt von 10 Hz darstellt, oder ein Bit, das einen Takt von 2 Hz darstellt.
    Diese Bits können in einigen Anwendungen sehr nützlich sein und bei gleicher Funktionalität eine Menge Programmiercode einsparen. Siehe Abbildung 6.

    Abbildung 6 – System- und Taktspeicherbits aktivieren
    Sie können die Verwendung eines oder beider Speicherbytes aktivieren; Sie können auch die Adresse dieser Bytes bestimmen, wie Sie auf der Abbildung sehen können.
    Tageszeit:
    Eine weitere sehr wichtige Eigenschaft Ihrer SPS ist das Einstellen der Zeit in Ihrer SPS. In fast jedem Projekt, das Sie erstellen, müssen Sie die Echtzeit kennen, um bestimmten Aktionen unterschiedliche Daten zuweisen zu können.
    Im vorherigen Artikel haben wir über lokale und Systemzeiten in der SPS und deren Verwendung gesprochen. Diese Eigenschaft der CPU ermöglicht es Ihnen, die lokale Zeit auf die gewünschte Zeitzone einzustellen. Siehe Abbildung 7.

    Abbildung 7 – Eigenschaft „Lokale Zeit“
    Schutz und Sicherheit:
    Mit dieser Eigenschaft können Sie die Zugriffsebene und den Kennwortschutz für Ihre SPS bestimmen. Siehe Bild 8.

    Bild 8 – Schutz- und Sicherheitseigenschaft
    Die zuvor erwähnten Eigenschaften sind die am häufigsten konfigurierten Eigenschaften bei fast jedem SPS-Projekt, das Sie durchführen würden. Es gibt einige andere Eigenschaften, die bei einfachen Programmen wie Webservern und OPC UA weniger wahrscheinlich verwendet werden.
    Der nächste Schritt bei der Hardwarekonfiguration Ihres Projekts ist die Konfiguration der IOs.
    IO-Hardwarekonfiguration:
    Ein weiterer wichtiger Schritt Ihres Projekts ist die Konfiguration Ihrer IOs, d. h. Sie müssen entscheiden, wie viele IO-Module Sie benötigen und welche Art von IO-Modulen Sie benötigen.
    Bei der Entscheidung über Ihre IOs sollten Sie einige wichtige Punkte berücksichtigen, z. B. einige freie IO-Punkte zu haben und die IO-Module auszuwählen, die zu den Eingangssensoren und Ausgangsaktoren in Ihrem Projekt passen. Siehe Bild 9.

    Bild 9 – Analoges Eingangsmodul hinzufügen
    Wie wir in unserem Beispielprojekt erwähnt haben, verwenden wir 4 Thermoelemente als analoge Eingänge für meine SPS, also muss ich ein analoges Eingangsmodul mit mindestens 4 Eingangskanälen hinzufügen, da die ausgewählte SPS nur 2 analoge Eingangskanäle hat.
    Außerdem ist das Thermoelement ein spezieller Typ von analogem Eingang, der ein dediziertes Eingangsmodul erfordert. Deshalb haben wir uns für das Modul AI 8xTC entschieden, das 8 Eingangskanäle hat, die für die Verwendung mit Thermoelementen vorgesehen sind. Wir haben uns für das 8-Kanal-Modul und das 4-Kanal-Modul entschieden, um Reservekanäle für die zukünftige Verwendung zu haben, falls wir unser Projekt erweitern müssen.
    Wenn Sie zu den Eigenschaften des Moduls AI 8xTC gehen, werden Sie sehen, dass Sie jeden Eingangskanal einzeln konfigurieren können. Sie können den Typ des Thermoelements, die Messskala und andere Eigenschaften auswählen. Siehe Abbildung 10.

    Abbildung 10 – Eingangsmodul konfigurieren
    Als Nächstes müssen Sie Ihre IO-Tags definieren und jedem Eingang oder Ausgang einen entsprechenden IO-Punkt in Ihrer SPS oder in den IO-Modulen zuweisen. Siehe Abbildung 11.

    Abbildung 11 – Eingangs-Tags zuweisen
    Anschließend weisen Sie die restlichen Eingangs- und Ausgangs-Tags zu, siehe Abbildungen 12 und 13.

    Abbildung 12 – Eingangs-Tags für die SPS zuweisen

    Abbildung 13 – Ausgangs-Tags Ihrem Projekt zuweisen
    HMI-Konfiguration
    Ihr SPS-Projekt benötigt wahrscheinlich eine HMI. Nachdem Sie Ihre HMI ausgewählt haben, können Sie verschiedene Konfigurationen vornehmen.
    In diesem Artikel zeigen wir nur, wie die Kommunikation zwischen HMI und SPS konfiguriert wird. Wie Sie im vorherigen Bild sehen, wählen Sie ein HMI aus, indem Sie ein neues Gerät hinzufügen und dann ein HMI auswählen. Siehe Bild 14.

    Bild 14 – Auswählen eines HMI
    Es gibt verschiedene Möglichkeiten, die Kommunikation zwischen HMI und SPS einzurichten, aber der einfachste Weg ist über die Netzwerkansichtsseite. Siehe Bild 15.

    Bild 15 – Einrichten der HMI-Verbindung
    Auf der Netzwerkansichtsseite können Sie die Verbindung zwischen HMI und SPS einrichten, indem Sie einfach auf das kleine grüne Quadrat klicken, das Profinet vom HMI darstellt, und es auf die SPS ziehen.
    TIA Portal zeichnet dann eine grüne Linie zwischen den beiden Modulen und weist dem HMI automatisch eine IP-Adresse zu, um die Kommunikation zwischen ihnen einzurichten.
    Fazit
    Die Hardwarekonfiguration ist ein sehr wichtiger Schritt in jedem SPS-Projekt. Die richtige Hardwarekonfiguration Ihrer SPS stellt sicher, dass die erforderlichen Funktionen des Projekts erfüllt werden. Zur Hardwarekonfiguration gehören die Auswahl von E/A-Modulen, das Aktivieren oder Deaktivieren bestimmter CPU-Eigenschaften und das Konfigurieren verschiedener Geräte wie HMI mit Ihrer SPS.

    leizuofa
    Siemens ist ein bekanntes multinationales Unternehmen, das in einer Vielzahl von Branchen tätig ist, darunter Energie, Gesundheitswesen, Transport und Industrieautomatisierung. Siemens wurde 1847 gegründet und hat sich seitdem zu einem globalen Konzern mit Niederlassungen in vielen Ländern entwickelt. Siemens ist für seine innovativen Produkte und Dienstleistungen bekannt und gilt als eines der nachhaltigsten Unternehmen der Welt.
    In diesem Artikel geben wir einen Überblick über Siemens PLC, die einen sehr kleinen Teil der verschiedenen Produkte von Siemens im Bereich der Industrieautomatisierung ausmachen.
    Inhalt:
    Siemens in der Industrieautomatisierung. Verschiedene SPS-Familien von Siemens. Übersicht über Siemens S7 PLCs. Simatic S7-1200. Simatic S7-1500. Simatic S7-300. Simatic S7-400. Simatic S7-ET 200 CPU Warum gibt es so viele verschiedene Modelle? Wie entscheide ich, welcher Typ von S7-SPS am besten zu meiner Anwendung passt? Fazit. Siemens in der industriellen Automatisierung
    Siemens ist ein führendes Unternehmen im Bereich der industriellen Automatisierung und bekannt für seine hochwertigen Produkte und Lösungen. Das Unternehmen bietet eine breite Palette an Produkten für die industrielle Automatisierung, darunter speicherprogrammierbare Steuerungen (SPS), Mensch-Maschine-Schnittstellen (HMIs), Frequenzumrichter (VFDs) und industrielle Kommunikationsnetzwerke.
    Siemens bietet auch Softwarelösungen für die industrielle Automatisierung an, wie beispielsweise das Totally Integrated Automation TIA Portal, ein Engineering-Framework, das alle Automatisierungssoftwaretools auf einer Plattform integriert. Außerdem hat Siemens seine eigene Industrial Internet of Things (IIoT)-Plattform namens MindSphere entwickelt, die die Erfassung und Analyse von Daten von angeschlossenen Geräten in industriellen Umgebungen ermöglicht.
    Unterschiedliche SPS-Familien von Siemens
    Siemens hat zwei Hauptfamilien von SPS entwickelt, und zwar:
    Simatic S5-Familie von SPS Simatic S7-Familie von SPS Die Simatic S5-Serie war die vorherige SPS-Generation von Siemens und wird noch immer in einigen älteren Industriesystemen verwendet. Wird aber nicht mehr hergestellt.
    Die Simatic S7-Serie ist die aktuelle SPS von Siemens. Sie bietet eine breite Palette von CPUs mit unterschiedlichen Leistungs- und Funktionsstufen, um unterschiedliche Automatisierungsanforderungen zu erfüllen. Die S7-Serie ist für ihre Zuverlässigkeit, Robustheit und Flexibilität bekannt und wird häufig in Branchen wie der Automobil-, Lebensmittel- und Getränke- sowie Pharmaindustrie eingesetzt.
    Übersicht über die Siemens S7-SPS
    Die SPS-Generation Siemens S7 bietet eine breite Palette von CPUs mit unterschiedlichen Leistungs- und Funktionsstufen, um die Anforderungen verschiedener industrieller Automatisierungsprozesse zu erfüllen. Diese CPUs gehören zu einer der folgenden Unterfamilien:
    Simatic S7-1200
    Die Simatic S7-1200 ist eine kompakte SPS für kleine bis mittelgroße Anwendungen. Mit ihrem kompakten Design, der integrierten Kommunikation und den Programmieroptionen bietet sie eine flexible und kostengünstige Automatisierungslösung.
    Simatic S7-1500
    Die Simatic S7-1500 ist eine Hochleistungs-SPS für mittelgroße bis große Anwendungen. Sie bietet erweiterte Funktionen wie Bewegungssteuerung, Sicherheit und Schutz und eignet sich daher für komplexe Automatisierungsaufgaben.
    Simatic S7-300
    Die Simatic S7-300 ist eine modulare SPS, die sich leicht an eine Vielzahl von Anwendungen anpassen lässt. Sie bietet eine hohe Verarbeitungsleistung, umfangreiche Kommunikationsoptionen und eine große Auswahl an E/A-Modulen und ist daher in vielen Branchen eine beliebte Wahl.
    Simatic S7-400
    Die Simatic S7-400 ist eine Hochleistungs-SPS, die für anspruchsvolle Anwendungen entwickelt wurde, die eine hohe Verarbeitungsleistung und umfangreiche Kommunikationsfunktionen erfordern. Sie bietet eine große Anzahl an E/A-Modulen, Redundanzoptionen und erweiterte Diagnosefunktionen und eignet sich daher für komplexe Automatisierungsaufgaben.
    Simatic S7-ET 200SP
    Die Simatic S7-ET 200SP ist ein kompaktes Remote-E/A-System, das sich leicht in andere Simatic S7-SPS integrieren lässt. Sie bietet ein hohes Maß an Flexibilität, Skalierbarkeit und Modularität und eignet sich daher für verschiedene Automatisierungsanwendungen.
    Wenn Sie im TIA Portal ein neues Projekt erstellen und versuchen, ein neues Gerät hinzuzufügen, können Sie alle verfügbaren und unterstützten CPUs aus verschiedenen S7-Familien finden. Siehe Abbildung 1.

    Abbildung 1 – In der Simatic S7-Generation sind verschiedene SPSen verfügbar
    S7-1200 SPS
    Die Simatic S7-1200 ist eine vielseitige und kostengünstige SPS, die eine Reihe von Modellen bietet, um unterschiedliche Automatisierungsanforderungen zu erfüllen, was sie zu einer beliebten Wahl für kleine bis mittelgroße Anwendungen macht.
    Hier ist eine Übersicht über die verschiedenen Modelle der S7-1200-Serie:
    Simatic S7-1200 CPUs: Dies sind die Standard-CPUs der S7-1200-Serie und sie sind in verschiedenen Versionen erhältlich, darunter CPU 1211C, CPU 1212C, CPU 1214C, CPU 1215C und CPU 1217C. Sie bieten erweiterte Funktionen als die Basic Controller, einschließlich integrierter Kommunikationsschnittstellen und zusätzlicher E/A-Optionen. Sie sind auch in verschiedenen Versionen erhältlich, darunter DC/DC/DC, DC/DC/RLY, AC/DC/RLY und AC/DC/TC. Sie haben eingeschränkte Funktionen, sind aber ideal für einfache Steuerungsaufgaben.
    Simatic S7-1200 Safety Integrated: Dies ist eine sicherheitszertifizierte Version der S7-1200, die sicherheitsrelevante Funktionen wie Sicherheitseingänge, Sicherheitsausgänge und Sicherheitskommunikation enthält, um die Sicherheit des Automatisierungssystems zu verbessern.
    Simatic S7-1200 SIPLUS: Dies ist eine robuste Version der S7-1200, die für den Betrieb in rauen Umgebungen mit extremen Temperaturen, Feuchtigkeit und Vibrationen ausgelegt ist.
    Siehe Bild 2 für verschiedene Modelle der S7-1200.

    Bild 2 – Verschiedene Modelle der S7-1200-CPU
    S7-1500-SPS
    Die Simatic S7-1500 ist eine leistungsstarke SPS, die eine Reihe von Modellen bietet, um unterschiedliche Automatisierungsanforderungen zu erfüllen, was sie zu einer beliebten Wahl für anspruchsvolle Anwendungen macht.
    Hier ist eine Übersicht über die verschiedenen Modelle der S7-1500-Serie:
    Simatic S7-1500 Standard-CPUs: Dies sind die Standard-CPUs der S7-1500-Serie und sie sind in verschiedenen Versionen erhältlich, darunter CPU 1511-1 PN, CPU 1513-1 PN, CPU 1515-2 PN und CPU 1518-4 PN. Sie bieten Hochgeschwindigkeitsverarbeitung und erweiterte Kommunikationsoptionen wie Profinet, Profibus und Industrial Ethernet.
    Simatic S7-1500 Safety Integrated: Dies ist eine sicherheitszertifizierte Version der S7-1500, die sicherheitsrelevante Funktionen wie Sicherheitseingänge, Sicherheitsausgänge und Sicherheitskommunikation enthält, um die Sicherheit des Automatisierungssystems zu verbessern.
    Simatic S7-1500 Advanced Controller: Dies sind erweiterte Versionen der S7-1500, die zusätzliche Funktionen wie Bewegungssteuerung, Hochgeschwindigkeitszählung und erweiterte Kommunikationsoptionen bieten.
    Simatic S7-1500 T-CPU: Dies ist eine erweiterte Version der S7-1500-CPUs mit erweiterten Bewegungssteuerungsfunktionen wie Kinematikfunktionen sowie Getriebe- und Nockenfunktionen.
    Simatic S7-1500 TM NPU: Dies ist eine neuronale Verarbeitungseinheit (NPU), die für Anwendungen des maschinellen Lernens und der künstlichen Intelligenz (KI) wie vorausschauende Wartung, Qualitätskontrolle und Prozessoptimierung entwickelt wurde.
    Siehe Abbildung 3 für verschiedene Modelle der S7-1500.

    Bild 3 – Verschiedene Modelle der S7-1500
    S7-300 SPS
    Simatic S7-300 CPUs: Dies sind die Standard-CPUs der S7-300-Reihe und sie sind in verschiedenen Versionen erhältlich, darunter CPU 312C, CPU 313C, CPU 314C, CPU 315-2DP, CPU 317-2DP und CPU 319-3PN/DP. Sie bieten hohe Verarbeitungsleistung, erweiterte Kommunikationsoptionen und eine breite Palette an E/A-Optionen.
    Simatic S7-300 fehlersichere CPUs: Dies sind sicherheitszertifizierte Versionen der S7-300 CPUs, die sicherheitsrelevante Funktionen wie Sicherheitseingänge, Sicherheitsausgänge und Sicherheitskommunikation umfassen, um die Sicherheit des Automatisierungssystems zu verbessern.
    Simatic S7-300 Compact CPUs: Dies sind kompakte Versionen der S7-300 CPUs, die eine geringere Größe und einen geringeren Stromverbrauch bieten und sich daher ideal für Anwendungen mit begrenztem Platz und begrenzter Stromversorgung eignen.
    Simatic S7-300 Technology CPUs: Dies sind spezialisierte CPUs, die für bestimmte Automatisierungsanwendungen wie Bewegungssteuerung, Temperaturregelung und Prozesssteuerung entwickelt wurden.
    Simatic S7-300 Distributed Controller: Dies sind modulare Controller, die verteilte E/A- und Kommunikationsoptionen bieten und sich daher ideal für Anwendungen eignen, die eine verteilte Automatisierung erfordern.
    Siehe Abbildung 4 für verschiedene Modelle von S7-300.

    Bild 4 – Verschiedene Modelle der S7-300
    S7-400 SPS
    Simatic S7-400 CPUs: Dies sind die Standard-CPUs der S7-400-Reihe und sie sind in verschiedenen Versionen erhältlich, darunter CPU 412-1, CPU 414-1, CPU 414-2, CPU 416-2 und CPU 417-4. Sie bieten hohe Verarbeitungsleistung, erweiterte Kommunikationsoptionen und eine breite Palette an E/A-Optionen.
    Simatic S7-400H CPUs: Dies sind hochverfügbare CPUs, die Redundanzoptionen bieten, um die Verfügbarkeit und Zuverlässigkeit des Automatisierungssystems zu verbessern.
    Simatic S7-400F/FH CPUs: Dies sind sicherheitszertifizierte CPUs, die sicherheitsrelevante Funktionen wie Sicherheitseingänge, Sicherheitsausgänge und Sicherheitskommunikation umfassen, um die Sicherheit des Automatisierungssystems zu verbessern.
    Verteilte Steuerungen Simatic S7-400: Dies sind modulare Steuerungen, die verteilte E/A- und Kommunikationsoptionen bieten und sich daher ideal für Anwendungen eignen, die eine verteilte Automatisierung erfordern.
    Siehe Abbildung 5 für verschiedene Modelle von S7-400.

    Abbildung 5 – Verschiedene Modelle von S7-400
    Simatic S7-ET 200 SPS
    Simatic S7-ET 200 CPUs: Dies sind die Standard-CPUs der S7-ET 200-Reihe und sie sind in verschiedenen Versionen erhältlich, darunter CPU 1511C-1 PN, CPU 1513-1 PN und CPU 1515-2 PN. Sie bieten hohe Verarbeitungsleistung, erweiterte Kommunikationsoptionen und eine breite Palette an E/A-Optionen.
    Simatic S7-ET 200F CPUs: Dies sind sicherheitszertifizierte CPUs, die sicherheitsrelevante Funktionen wie Sicherheitseingänge, Sicherheitsausgänge und Sicherheitskommunikation umfassen, um die Sicherheit des Automatisierungssystems zu verbessern.
    Simatic S7-ET 200SP CPUs: Dies sind kompakte CPUs mit reduzierter Größe und Stromverbrauch, was sie ideal für Anwendungen mit begrenztem Platz und begrenzter Stromversorgung macht.
    Siehe Abbildung 6 für verschiedene Modelle von S7-ET200.

    Bild 6 – Verschiedene Modelle von S7-ET200
    Warum gibt es so viele verschiedene Modelle?
    Es gibt viele verschiedene Modelle von Siemens S7-SPS, die den Kunden eine große Auswahl an Optionen und Funktionen bieten, sodass sie die SPS auswählen können, die ihren spezifischen Automatisierungsanforderungen am besten entspricht.
    Die verschiedenen Modelle bieten unterschiedliche Funktionen, Verarbeitungsleistung, Speicher, Kommunikationsoptionen und E/A-Funktionen. Einige Modelle sind für bestimmte Anwendungen wie Bewegungssteuerung, Temperaturregelung und Prozesssteuerung konzipiert, andere für allgemeine Automatisierungssysteme.
    Da sich die Technologie weiterentwickelt und neue Automatisierungsanforderungen entstehen, entwickelt und veröffentlicht Siemens auch weiterhin neue Modelle und Versionen von S7-SPS mit erweiterten Funktionen und Fähigkeiten und bietet den Kunden die neueste Automatisierungstechnologie, mit der sie ihre Produktivität steigern, ihre Kosten senken und die Leistung ihres Systems verbessern können.
    Wie entscheide ich, welcher Typ von S7-SPS am besten zu meiner Anwendung passt?
    Die Auswahl des richtigen Typs von S7-SPS für Ihre Anwendung erfordert die sorgfältige Abwägung mehrerer Faktoren. Hier sind einige allgemeine Schritte, die Ihnen bei der Entscheidung helfen, welcher Typ von S7-SPS am besten zu Ihrer Anwendung passt:
    Bestimmen Sie die Größe und Komplexität Ihres Automatisierungssystems:
    Wenn Sie ein großes und komplexes Automatisierungssystem haben, benötigen Sie möglicherweise eine Hochleistungs-SPS wie die S7-400 oder S7-1500, die eine große Anzahl von E/A-Punkten und erweiterte Kommunikationsoptionen verarbeiten kann. Wenn Ihr System kleiner und weniger komplex ist, reicht möglicherweise eine kleinere SPS wie die S7-1200 oder S7-300 aus.
    Identifizieren Sie die erforderlichen E/A-Typen und zählen Sie sie:
    Jede S7-SPS verfügt über einen anderen Bereich an E/A-Optionen und Kapazitäten. Sie müssen den Typ und die Anzahl der E/A-Punkte bestimmen, die Sie für Ihre Anwendung benötigen, und die SPS auswählen, die diese unterstützen kann.
    Berücksichtigen Sie die erforderliche Verarbeitungsgeschwindigkeit und Leistung:
    Unterschiedliche S7-SPS haben unterschiedliche Verarbeitungsgeschwindigkeiten und Leistungsfähigkeiten. Sie müssen die erforderliche Verarbeitungsgeschwindigkeit bestimmen und die SPS auswählen, die Ihren Leistungsanforderungen gerecht wird.
    Bewerten Sie die erforderlichen Kommunikationsoptionen:
    Verschiedene S7-SPS bieten unterschiedliche Kommunikationsoptionen, wie Ethernet, Profibus, Profinet und AS-i. Sie müssen die erforderlichen Kommunikationsprotokolle für Ihre Anwendung bestimmen und die SPS auswählen, die diese unterstützt.
    Berücksichtigen Sie die erforderlichen Sicherheitsfunktionen:
    Wenn Ihre Anwendung Sicherheitsfunktionen wie Sicherheitseingänge, Sicherheitsausgänge und Sicherheitskommunikation erfordert, benötigen Sie möglicherweise eine sicherheitszertifizierte SPS wie die S7-1500F oder S7-400F.
    Fazit
    Siemens bietet eine breite Palette an Produkten für die industrielle Automatisierung, darunter verschiedene SPS-Modelle mit unterschiedlichen Funktionen und Leistungsmerkmalen, darunter die CPUs S7-1200, S7-1500, S7-300 und S7-400.
    Die vielen verschiedenen Modelle der Siemens S7-SPS bieten Kunden eine große Auswahl an Optionen und Funktionen.
    Bei der Auswahl des SPS-Modells, das am besten zu Ihrem Prozess passt, müssen vor der Auswahl der SPS einige Punkte berücksichtigt werden. Einige dieser Punkte sind die Anzahl der E/A, Sicherheitsanforderungen und Kommunikationsoptionen.

    leigehong
    Dies ist ein SPS-Programm für den Betrieb pneumatischer Ventile im Sequenzmodus.
    Sequentielle SPS-Programmierung für pneumatische Ventile
    Schreiben Sie eine Leiterlogik für die sequentielle SPS-Programmierung für pneumatische Ventile, um Zylinder im Sequenzmodus zu betreiben.

    Lösung:
    Hier in diesem System gibt es zwei Zylinder und zwei Druckknöpfe, die mit der SPS verbunden sind.
    Die Druckknöpfe sind mit den SPS-Eingängen verbunden und die Zylinder mit den Ausgängen der SPS.
    Damit das System funktioniert, müssen folgende Bedingungen erfüllt sein: –
    Wenn START PB gedrückt wird, sollte Zylinder A starten und Zylinder B sollte nach 5 Sekunden von Zylinder A starten.
    Wenn STOP PB gedrückt wird, müssen beide Zylinder A und B gestoppt werden.
    Um nun die folgenden Bedingungen zu erfüllen, müssen wir einen Timer verwenden, der den Betrieb von Zylinder B verzögert.
    Liste der Ein-/Ausgänge
    Eingänge:
    X1 -START PB X2 -STOP PB Ausgänge:
    Y0 -Zylinder A Y1 -Zylinder B Leiterdiagramm für den sequentiellen Betrieb von Zylindern

    Programmerklärung:
    In Sprosse 1 haben wir STRAT PB (X1) verwendet, um Zylinder A (Y0) zu starten. Hier haben wir den NC-Kontakt von STOP PB (X2) verwendet, um Zylinder A (Y0) zu stoppen. Parallel zum X1-Kontakt haben wir den NO-Kontakt von Y0 verwendet, um den Ausgang zu verriegeln.
    In Sprosse 2 haben wir den Timer T0 verwendet, um die Verzögerung für Zylinder B (Y1) zu zählen.
    In Sprosse 3 haben wir den NO-Kontakt von T0 verwendet, sodass eine Zeitverzögerung über Zylinder B (Y1) eingeschaltet wird.

    xiangjinjiao
    In diesem Artikel sprechen wir über ein großes Problem, das häufig auftritt, wenn Sie mit der Programmierung Ihrer SPS beginnen: die häufigsten Fehler der Firmware-Version und wie Sie diese beheben können.
    Inhalt:
    Was ist die Firmware-Version einer SPS? Warum kann die Firmware-Version Probleme verursachen? Wie kann man die Firmware-Version einer Hardware-SPS herausfinden? Wie geht man mit Firmware-Versionsfehlern um? Schlussfolgerungen. Was ist die Firmware-Version einer SPS?
    Die Firmware einer SPS oder eines SPS-Moduls (IOs, Kommunikationsmodule usw.) ist einfach die interne Software, die in der SPS installiert ist und dafür verantwortlich ist, was die Hardware tatsächlich tun kann.
    Eine Firmware-Version bestimmt, welche internen Funktionen Ihre SPS hat, wie Sicherheitsprotokolle, interne Optimierungsfunktionen, bessere Zeitverwaltung und andere verschiedene Funktionen und Fähigkeiten.
    Eine SPS mit einer älteren Firmware-Version hat weniger Funktionen und interne Fähigkeiten als eine SPS mit einer neueren Firmware-Version.
    Bilder 1 und 2 zeigen Ihnen, wie dieselbe Hardware-SPS mit unterschiedlichen installierten Firmware-Versionen unterschiedliche Funktionen und Leistungsfähigkeit hat.

    Bild 1 – Firmware-Version V4.0

    Bild 2 – Firmware-Version V4.4
    Ist Ihnen aufgefallen, dass dieselbe CPU jetzt durch ein Update auf eine höhere Firmware-Version mehr Funktionen erhält? Mit der höheren Firmware V4.4 verfügt die CPU jetzt neben anderen Funktionen über OPC UA, die ihre Leistungsfähigkeit verbessern.
    Warum kann die Firmware-Version Probleme verursachen?
    Normalerweise beginnen Sie Ihr SPS-Projekt, indem Sie die SPS auswählen und dann mit der Programmierung beginnen.
    Sie wählen Ihre SPS im TIA Portal nach einem von zwei Punkten aus:
    Sie haben die Hardware-SPS bereits gekauft, also wählen Sie dieselbe SPS aus, die Sie tatsächlich im TIA Portal-Projekt haben. Sie haben noch keine SPS gekauft, also wählen Sie im TIA Portal eine SPS aus, die Ihren Anforderungen entspricht, und kaufen sie dann später. In beiden Fällen tritt ein Problem auf, wenn die im TIA Portal-Projekt ausgewählte Firmware-Version der SPS von der Firmware-Version der tatsächlichen Hardware abweicht. Und Ihr Programm wird nicht einmal auf die Hardware-SPS heruntergeladen.
    Sie sollten also immer sicherstellen, dass die Firmware-Version der tatsächlichen SPS mit der im TIA Portal ausgewählten SPS übereinstimmt.
    Es ist erwähnenswert, dass Sie keine Probleme mit Ihrem Programm haben, wenn die im TIA Portal ausgewählte Firmware-Version älter ist als die der tatsächlichen SPS. Sie verlieren zwar einige der SPS-Funktionen und -Fähigkeiten, aber Ihr Programm funktioniert einwandfrei.
    Im Gegenteil treten Probleme auf, wenn die im TIA Portal ausgewählte Firmware-Version neuer ist als die der tatsächlichen SPS. Dann haben Sie ein Problem.
    Wenn Sie die Firmware-Version Ihrer Hardware nicht kennen, sollten Sie daher im TIA Portal-Projekt die ältere Version auswählen.
    Wie kann ich die Firmware-Version der Hardware-SPS herausfinden?
    Wir können die Firmware-Version der Hardware-SPS, die wir haben, auf zwei Arten herausfinden:
    Von der SPS selbst
    Die Firmware-Version eines SPS-Moduls ist immer irgendwo auf dem Hardwaregerät vermerkt. Siehe die nächsten Bilder.

    Bild 3 – Firmware-Version FS:04

    Bild 4 – Firmware-Version ist V7.0.5
    Von der TIA Portal-Software
    Mit der TIA Portal-Software können Sie Ihre SPS mit Ihrem TIA Portal verbinden und nach dem Gerät suchen. Anschließend können Sie die Firmware-Version des Hardwaregeräts finden, siehe die folgenden Schritte.
    Sie müssen nicht einmal ein neues Projekt erstellen; die Projektansicht des TIA Portals reicht aus, siehe Bild 5.

    Bild 5 – Projektansicht des TIA Portals ohne Erstellung eines Projekts.
    Suchen Sie über den Online-Zugriff nach Ihrer SPS. Da die Verbindung zwischen TIA Portal und der SPS über ein Ethernet-Kabel erfolgt, verwenden wir die Ethernet-Verbindungsoption. Doppelklicken Sie auf „Erreichbare Geräte aktualisieren“, um mit der Suche nach Ihrer SPS zu beginnen. Siehe Abbildung 6.

    Abbildung 6 – Aktualisieren Sie erreichbare Geräte, um nach Ihrer SPS zu suchen.
    Wenn eine Verbindung zwischen der SPS und dem TIA Portal besteht, sollte die Software Ihre SPS finden. Siehe Abbildung 7.

    Abbildung 7 – Ihre SPS wurde von der Software gefunden.
    Doppelklicken Sie nun auf „Online & Diagnose“, um die Informationen Ihrer SPS anzuzeigen. Siehe Abbildung 8.

    Abbildung 8 – Online-Informationen der SPS.
    Im Attribut „Allgemein“ finden Sie die Firmware-Version Ihrer SPS, wie im vorherigen Bild gezeigt.
    Sie können die Firmware-Version auch im Attribut „Funktionen“ finden. Siehe Bild 9.

    Bild 9 – Firmware-Version aus dem Funktionsattribut.
    Wie gehe ich mit Firmware-Versionsfehlern um?
    Erstellen wir zunächst ein Firmware-Versionsfehlerszenario und sehen uns dann an, wie dieser Fehler behandelt und behoben wird.
    Wir beginnen damit, einfach ein neues Projekt zu erstellen und dann ein neues Gerät hinzuzufügen. In diesem SPS-Beispiel wählen wir absichtlich eine neuere Firmware-Version als die tatsächliche Hardware-SPS. Wir wissen, dass unsere SPS-Firmware V4.0 ist, aber im TIA Portal wählen wir die Firmware-Version V4.4. Siehe Bild 10.

    Bild 10 – Fügen Sie eine neue SPS mit einer höheren Firmware-Version hinzu.
    Drücken Sie OK, um Ihr Gerät hinzuzufügen, und das war’s. Sie haben eine Situation geschaffen, die einen Firmware-Fehler verursacht. Um das zu sehen, versuchen wir, das Projekt auf unsere SPS herunterzuladen.
    Beachten Sie, dass wir noch nicht einmal Code geschrieben haben. Laden Sie ihn einfach auf die SPS herunter. Siehe Bild 11.

    Bild 11 – Download auf die SPS fehlgeschlagen, inkompatible Firmware.
    Wie Sie im vorherigen Bild sehen, wird beim Versuch, das Projekt auf die SPS herunterzuladen, ein Fehler angezeigt, der besagt, dass die Firmware-Versionen der SPS und des TIA Portals nicht übereinstimmen.
    Sie können es sogar sehen, wenn Sie versuchen, online zu gehen. Siehe Bild 12.

    Bild 12 – Die SPS befindet sich in einem Fehlerzustand.
    Um diesen Fehler zu beheben, müssen wir einfach die Firmware-Version der im TIA Portal-Projekt ausgewählten SPS auf eine ältere oder dieselbe Firmware wie die tatsächliche Hardware-SPS ändern.
    Dazu gehen wir auf die Eigenschaftenseite der SPS und wählen im Attribut „Allgemein“ die Option „Firmware-Version ändern“. Siehe Bild 13.

    Bild 13 – Option „Firmware-Version ändern“.
    Sobald Sie die Schaltfläche „Firmware-Version ändern“ drücken, wird ein Fenster zum Ändern des Geräts angezeigt. In diesem Fenster können Sie die Firmware-Version ändern. Siehe Bild 14.

    Bild 14 – Fenster „Gerät ändern“.
    Im Fenster „Gerät ändern“ sehen Sie das aktuelle Gerät, das Sie zuvor ausgewählt haben, und das neue Gerät, dessen Firmware Sie an Ihre aktuelle Version anpassen müssen.
    Beachten Sie, dass bei Auswahl einer niedrigeren Firmware, z. B. V4.3, die Informationen am unteren Rand des Fensters Ihnen zeigen, welche Funktionen Sie beim Wechsel zu einer niedrigeren Firmware verloren haben, wie Sie im vorherigen Bild sehen.
    Ändern Sie nun die Firmware des neuen Geräts auf die Version V4.0 der Hardware-SPS. Und beachten Sie, wie viele Funktionen und Fähigkeiten die SPS allein durch die Auswahl einer niedrigeren Firmware verloren hat. Siehe Bild 15.

    Bild 15 – Anpassen der Firmware zwischen Hardware-SPS und Software.
    Drücken Sie OK, um die Änderungen zu bestätigen, und versuchen Sie nun, Ihr Projekt erneut auf die SPS herunterzuladen. Sie werden feststellen, dass das Projekt jetzt ohne Fehler auf die SPS geladen wird. Siehe Bild 16.

    Bild 16 – Das Projekt wird in die SPS geladen.
    Ein erfolgreiches Laden des Projekts auf die SPS zeigt an, dass der Firmware-Versionsfehler nun behoben ist. Sie können auch online gehen und dies in der Online-Ansicht des SPS-Projekts überprüfen. Siehe Abbildung 17.

    Abbildung 17 – Online-Ansicht des Projekts.
    Die grünen Häkchen und Kreise, die Sie im vorherigen Bild sehen, zeigen an, dass alle Konfigurationen der Software und der Hardware übereinstimmen und miteinander kompatibel sind.
    Fazit
    Firmware-Versionsfehler sind ein sehr häufiges Problem beim Erstellen eines neuen Projekts im TIA Portal.
    Eine bewährte Vorgehensweise besteht darin, die Firmware-Version des Hardwaregeräts zu kennen und die Firmware davon mit dem ausgewählten Gerät im TIA Portal abzugleichen.
    Wenn Sie die Firmware des Hardwaregeräts nicht kennen, sollten Sie die älteste Version des ausgewählten Moduls im TIA Portal auswählen. So vermeiden Sie Firmware-Probleme mit Ihrem Projekt.

    leizuofa
    Wenn Sie eine SPS-Logik entwickeln, benötigen Sie immer Timer und Zähler. Jeder Zyklus in einem Automatisierungsprozess ist im Allgemeinen ohne die Verwendung von Timern und Zählern unvollständig. Sie benötigen sie, um eine Aufgabe nach einer bestimmten Zeit auszuführen oder die Aufgabe für eine bestimmte Zeit ein-/auszuschalten. Ihre Verwendung hängt von der zu entwickelnden Anwendung ab.
    Und bevor ein Programmierer sich eingehend mit fortgeschrittenen Anweisungen der SPS befasst, muss er zunächst diese grundlegenden Blöcke verstehen, um sie richtig zu implementieren und Hilfe beim Erlernen der fortgeschrittenen Blöcke zu erhalten.
    In diesem Artikel lernen wir den Unterschied zwischen Timern und Zählern bei der SPS-Programmierung kennen.
    Was ist ein Timer?
    Ein Timer ist eine Anweisung, die verwendet wird, um einen Ausgang nach einer bestimmten Verzögerung ein- oder auszuschalten. Wenn Sie beispielsweise eine Lampe nach 5 Sekunden einschalten möchten, verwenden Sie einen Timer, um diese Aufgabe auszuführen.
    Ein Timer nimmt einen Eingang entgegen und wenn der Eingang eingeschaltet wird, wird seine Zeitmessung gestartet. Nach Ablauf der Zeit von 5 Sekunden wird der Timer-Ausgang eingeschaltet, wodurch die Lampe indirekt eingeschaltet wird. Wir sprechen hier von einem normalen Timer dieser Art.
    Es gibt zwei weitere Arten von Timern: Timer-Aus und Impulstimer. Kurz gesagt ist die Grundfunktion dieselbe: eine Aufgabe nach einer bestimmten Verzögerung ausführen.

    Zum besseren Verständnis siehe das obige Bild. Ein Timer hat vier Ein- und Ausgänge: Eingang, Sollwert, aktueller Wert und Ausgang. Ein Eingang nimmt die Bedingung zum Starten eines Timers an, ein Sollwert wird verwendet, um den eingestellten Timerwert anzunehmen, der aktuelle Wert zeigt den aktuellen laufenden Timerwert an und der Ausgang wird verwendet, um die damit verbundene Variable ein- oder auszuschalten.
    Wenn der PLC-Timer den Eingang erhält und der Sollwert 5 Sekunden beträgt, startet der Timer als 1, 2 und 3 und so weiter bis 5. Wenn 5 Sekunden abgelaufen sind, wird der Ausgang eingeschaltet. Wenn der Eingang ausgeschaltet wird, geht der aktuelle Wert des Timers sofort auf Null zurück.
    Ob der Timer lief oder nicht; Wenn der Eingang ausgeschaltet ist, startet der Timer nicht und sein Ausgang und sein aktueller Wert sind Null. Dies ist die Funktionsweise eines TON-Timers (Timer On Delay).
    Was ist ein Zähler?
    Ein Zähler ist eine Anweisung, die verwendet wird, um einen Ausgang einzuschalten, nachdem eine festgelegte Anzahl erreicht wurde. Die Anzahl kann entweder inkrementiert oder dekrementiert werden.
    Wenn Sie beispielsweise eine Lampe einschalten möchten, nachdem ein Druckknopf fünfmal gedrückt wurde, verwenden Sie einen Zähler, um diese Aufgabe auszuführen. Ein Zähler nimmt einen Eingang entgegen und wenn der Eingang eingeschaltet wird, wird sein Zähler auf 1 erhöht.
    Wenn der Eingang ausgeschaltet wird, passiert nichts. Wenn er den Eingang erneut empfängt, wird der Zähler auf 2 erhöht. Nachdem die Anzahl von 5 abgelaufen ist, wird der Zählerausgang eingeschaltet, wodurch die Lampe indirekt eingeschaltet wird. Wir sprechen hier vom Aufwärtszählertyp.
    Ein Zähler hat noch einen weiteren Typ – den Abwärtszähler. Kurz gesagt, die Grundfunktion ist dieselbe – eine Aufgabe nach einer bestimmten Anzahl ausführen.

    Zum besseren Verständnis siehe das obige Bild. Ein Zähler hat fünf Eingänge und Ausgänge – Zähleingang, Rücksetzeingang, Sollwert, aktueller Wert und Ausgang. Ein Zähleingang übernimmt die Bedingung zum Zählen, ein Rücksetzeingang übernimmt die Bedingung zum Zurücksetzen des Zählers, der Sollwert wird verwendet, um den Sollwert des Zählers zu übernehmen, der aktuelle Wert zeigt den aktuellen laufenden Zählerwert an und der Ausgang wird verwendet, um die damit verbundene Variable ein- oder auszuschalten.
    Wenn der Zähler den Zähleingang erhält und der Sollwert 5 ist, wird der Zähler auf 1 hochgezählt und so weiter bis 5; beim Empfang jedes Impulses im Zähleingang (d. h. der Zähleingang muss 5 Mal ein- und ausgeschaltet werden). Wenn 5 Zählungen abgeschlossen sind, wird der Ausgang eingeschaltet.
    Selbst wenn nun der Zähleingangsimpuls gegeben wird, wird der Zähler nach 5 weiter hochzählen und auch der Ausgang bleibt eingeschaltet. Um den Zählerstand wieder auf Null zurückzusetzen, müssen Sie einen Rücksetzeingang geben. Wenn dieser Eingang gegeben wird, wird der aktuelle Zählerwert Null und der Ausgang wird ebenfalls ausgeschaltet. Es ist also ähnlich wie bei der Funktion mit Verriegelung. Um den Zähler zu entriegeln, müssen Sie ihn zurücksetzen. Dies ist die Funktion eines CTU-Zählers (Count-Up-Zähler).
    Unterschied zwischen Timer und Zähler
    Die Hauptunterschiede zwischen Timern und Zählern in einer SPS sind wie folgt.
    Ein Timer muss seinen Eingang kontinuierlich haben, um eine Variable einzuschalten, aber ein Zähler muss seinen Eingang nicht kontinuierlich haben. Ein Timer arbeitet also unter kontinuierlichen Bedingungen, während ein Zähler unter Impulsbedingungen arbeitet. Wenn der Timer-Eingang entfernt wird, geht sein Ausgang zurück in den Nullzustand; aber wenn der Zähler-Eingang entfernt wird, behält der Zähler seinen letzten Wert bei. Ein Timer hat keinen Reset-Eingang, während ein Zähler einen Reset-Eingang benötigt, um den Zähler in seinen ursprünglichen Zustand zurückzusetzen. Die Arten von Timern sind – Timer ein, Timer aus und Timer-Impuls. Die Arten von Zählern sind – Zähler aufwärts und Zähler abwärts. Ein eingestellter Timerwert kann in Sekunden, Minuten oder Millisekunden angegeben werden; Der eingestellte Zählerwert ist jedoch eine feste Ganzzahl.

    leikang
    Die SPS-Programmierung umfasst viele Arten von Anweisungen und Operanden zur Ausführung von Logik. Eine der am häufigsten verwendeten Anweisungen ist ein Zähler.
    Ein Zähler wird zum Zählen von Zahlen verwendet. Das Zählen ist für viele Anwendungen erforderlich; beispielsweise erfordert sogar eine kleine Logik wie das Zählen der Anzahl der Flaschen, die in einer Minute durchgehen, einen Zähler. Wenn eine so kleine Anwendung einen Zähler benötigt, dann umfassen Automatisierungstechnologien viele größere Arten von Logik, die Zähler verwenden. Dies sind also wichtige Arten von Anweisungen, die in der SPS-Programmierung verwendet werden.
    Es gibt zwei Kategorien von Zählern – normale Zähler und Schrittzähler. In diesem Beitrag lernen wir den Unterschied zwischen normalen und schnellen Zählern kennen.
    Was ist ein normaler Zähler?
    In der SPS gibt es keinen offiziellen Begriff für einen normalen Zähler. Es handelt sich lediglich um eine Definition, die die beiden grundlegenden Arten von Zählern zeigt – Aufwärtszähler und Abwärtszähler. Wie der Name schon sagt, werden diese Anweisungen zum Zählen von Zahlen verwendet, wenn ein Eingangsimpuls gegeben wird.
    Angenommen, Sie haben einen Druckknopf und möchten zählen, wie oft er gedrückt wurde. Wenn Sie verstehen, was wir sagen wollen, bedeutet „drücken“, dass er eingeschaltet bleibt, solange er gedrückt wird. Sobald Sie ihn wegnehmen, geht er aus.
    Das bedeutet, dass es sich um einen Impulseingang handelt und der Zähler nur solche Eingangsarten versteht. Wenn der Eingang kontinuierlich eingeschaltet bleibt, zählt er nicht. Er zählt nur, wenn der Eingang vom Ein- in den Aus-Zustand wechselt und dann die gleiche Sequenz wiederholt.

    Zum Verständnis siehe das obige Bild. Der CU-Eingang (Count Up) wird verwendet, um den Zähler zu erhöhen, wenn ein Eingang empfangen wird. Da es sich um einen Auslöser handelt, wird die Zählung erhöht, wenn ein Impulseingang empfangen wird. Der PV-Eingang ist der eingestellte Wert. Solange die eingestellten Zählungen nicht erreicht werden, bleibt der Ausgang des Zählers (Q) ausgeschaltet. Wenn der eingestellte Wert erreicht ist, wird der Ausgang eingeschaltet.
    Auch wenn der Zähleingang gegeben ist, wird der Zähler weiter hochgezählt und der Ausgang bleibt eingeschaltet. Um ihn auszuschalten, muss ein Reset-Eingang gegeben werden, der den Zähler zurücksetzt und den aktuellen Wert auf Null setzt. So funktioniert der Zähler im Allgemeinen.
    Was ist ein schneller Zähler?
    Der schnelle Zähler ist dasselbe wie ein normaler Zähler, aber der einzige Unterschied besteht darin, dass er sehr schnelle Eingangstypen zählt. Angenommen, Sie haben einen Näherungssensor, der sich beispielsweise 1000 Mal in 30 Sekunden ein- oder ausschaltet. Solche schnellen Eingangssignale sind in einem normalen Zähler schwer zu erkennen, da er eine kürzere Abtastzeit hat. Der schnelle Zähler erledigt diese Aufgabe, indem er die Anzahl der an seinem Eingang empfangenen Impulse schnell zählt.
    Ähnlich wie bei einem normalen Zähler wird sein Ausgang eingeschaltet, nachdem ein festgelegter Wert erreicht wurde, und es ist ein Reset-Eingang erforderlich, um den Zähler zurückzusetzen und den Ausgang auszuschalten. Der schnelle Zähler kann mit Frequenzen von 5 kHz arbeiten.
    Da Funktionsblöcke des schnellen Zählers durch bestimmte Hardware-Interrupts verwaltet werden, kann die Einhaltung der maximalen Frequenzabtastraten je nach Ihrer spezifischen Anwendung und Hardwarekonfiguration variieren. Nicht alle SPS-Eingänge können als schnelle Zähler verwendet werden. Es gibt nur einige dedizierte SPS-Eingänge für die Zuweisung einer schnellen Zählfunktion.
    Wie Sie sehen, besteht der einzige Unterschied zwischen diesen beiden Zählern in der Funktionsgeschwindigkeit, da ein normaler Zähler keine schnellen Eingabetypen akzeptieren kann.

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