Jump to content
  • Sign in to follow this  

    Siemens PLC Tia Portal – OB100 Start-Organisationsblock

       (0 reviews)

    leikang

    In früheren Artikeln haben wir begonnen, verschiedene Organisationsblöcke von TIA Portal PLCs zu besprechen, wir haben darüber gesprochen, was OBs sind, und wir haben einige der OBs wie OB1- Hauptzyklus, OB10 und OB20, die Tageszeitverzögerung bzw. Zeitverzögerungsinterrupts, besprochen. In diesem Artikel werden wir über den OB100 oder den Start-Organisationsblock im Siemens Tia Portal sprechen.

    Inhalt:

    • Was ist OB100?
    • Warum wird OB100 benötigt?
    • Wichtige Hinweise beim Start.
    • Einfaches Programmbeispiel.

    Was ist der Start-Organisationsblock (OB100)?

    OB100 oder der Start-OB ist ein Organisationsblock, der vom Betriebssystem einmal beim Start der SPS aufgerufen und ausgeführt wird, d. h. einmal bei jedem Übergang vom STOP- in den RUN-Modus.

    Der Hauptzyklus OB1 wird erst aufgerufen und ausgeführt, wenn alle Startfunktionen innerhalb von OB100 ausgeführt wurden.

    Sie können mehr als einen Start-OB in Ihrer SPS-Logik haben. Wenn das passiert, ruft das Betriebssystem sie alle nacheinander auf und führt sie aus, beginnend mit einer niedrigeren OB-Nummer zu einer höheren Nummer. Wenn Sie also OB100 und OB123 haben, wird zuerst OB100 aufgerufen und ausgeführt, dann OB123.

    Nachdem OB100 ausgeführt wurde, liest das Betriebssystem die Eingangsmodule in das PII und startet das Hauptzyklusprogramm OB1.

    Warum brauchen Sie OB100?

    Sie verwenden OB100 für viele Aufgaben, die Sie möglicherweise ausführen möchten oder müssen, bevor Sie Ihre zyklische Logik starten. Dies sind die folgenden Gründe:

    • Variablen initialisieren.
    • Systemmodule zurücksetzen.
    • Sensoren/Aktoren neu kalibrieren.
    • Vor dem Starten Ihres Prozesses auf Alarme und Sicherheitsbedingungen prüfen.

    Auch wenn Sie keinen Anlauf-OB für Ihre Logik erstellt haben, muss das Betriebssystem vor dem Start Ihrer Hauptlogik noch viele Aufgaben ausführen. Einige dieser Aufgaben sind:

    • Nicht remanente Speicher löschen
    • PAA löschen
    • Anlauf-OBs aufrufen und ausführen, falls vorhanden.
    • PAA aktualisieren
    • Ausgänge nach dem Wechsel in den RUN-Modus aktivieren.

    Haben Sie bemerkt, dass die letzte Aufgabe einer Anlaufroutine darin besteht, die Ausgänge zu aktivieren? Deshalb besteht der erste Schritt bei der Ausführung des Hauptzyklusprogramms OB1 darin, die PAA in das Ausgangsmodul zu schreiben.

    Wichtige Hinweise während des Anlaufs

    Beachten Sie die folgenden Punkte zum Modus „STARTUP“:

    • Die Ausgänge an den Modulen sind deaktiviert.
    • Das Prozessabbild wird initialisiert.
    • Das Prozessabbild wird nicht aktualisiert.
    • Um während des „STARTUP“ den aktuellen Zustand von den Eingängen zu lesen, können Sie über direkten E/A-Zugriff auf die Eingänge zugreifen.
    • Um während des Anlaufs die Ausgänge zu initialisieren, können Werte über das Prozessabbild oder über direkten E/A-Zugriff geschrieben werden. Die Werte werden beim Übergang in den „RUN“-Modus an den Ausgängen ausgegeben.
    • Die nicht remanenten Merker, Timer und Zähler werden initialisiert.
    • Die nicht remanenten Variablen in Datenbausteinen werden initialisiert.
    • Beim Anlauf läuft noch keine Zykluszeitüberwachung.

    Einfaches Programmbeispiel

    In diesem Beispiel fügen wir unserer SPS-Logik einen Anlauf-OB100 hinzu und sehen, wie oft der OB100 ausgeführt wird. Siehe Bild 1 zum Hinzufügen eines neuen OB100.

    142-1.gif

    Bild 1 – Hinzufügen eines OB100

    Wie Sie im letzten Bild sehen, fügen Sie Anlauforganisationsblöcke auf die gleiche Weise hinzu, wie wir eine Funktion eines Funktionsbausteins hinzufügen.

    Innerhalb des gerade erstellten OB100 fügen wir eine einfache ADD-Anweisung hinzu, um zu akkumulieren, wie oft der OB100 aufgerufen und ausgeführt wird. Siehe Bild 2.

    142-2.gif

    Bild 2 – Ausführungszeiten von OB100 akkumulieren

    Kompilieren und führen Sie nun Ihr Programm aus und sehen Sie, was passiert. In der folgenden Animation sehen Sie eine Simulation des SPS-Programms.

    spacer.png

    Animation 1

    Wie Sie in der obigen Animation sehen können, ist der OB100CycleCounter 1 und ändert sich nicht, wenn der SPS-Modus von STOP auf RUN wechselt.

    Er ändert sich zwar, aber Sie sehen diese Änderung nicht. Jedes Mal, wenn die SPS in den STOP-Modus und dann wieder in den RUN-Modus wechselt, wird der Zähler auf Null und dann wieder auf 1 zurückgesetzt, nachdem OB100 ausgeführt wurde. Sie können auch sehen, wie sich der Hauptzykluszähler von OB1 ändert, und wenn die SPS anhält und dann wieder läuft, beginnt der OB1CycleCounter erneut zu akkumulieren.

    Um die Änderung im Startzähler zu sehen, müssen wir den Wert des Tag-Speichers beibehalten. Siehe Bild 3.

    142-4.gif

    Bild 3 – Behalten des OB100CycleCounter-Tagspeichers

    Nachdem wir den OB100CycleCounter-Tag behalten haben, führen Sie die SPS-Simulation erneut aus und sehen Sie, was passiert. Siehe Simulationsanimation 2.

    spacer.png

    Animation 2

    Sie sehen jetzt in der obigen Animation, dass der Startzähler jedes Mal steigt, wenn ich die SPS stoppe und dann wieder starte. Da der Tagspeicher jetzt beibehalten wird, wird der Wert nicht auf Null zurückgesetzt, und deshalb sehen Sie, wie sich der Wert des OB100CycleCounters ansammelt.

    Jetzt muss ich meiner Start-SPS-Logik zusätzliche Funktionen hinzufügen, nämlich wissen, wann der letzte Start der SPS war. Wir werden das durch eine einfache Logik erreichen, bei der ich die lokale Zeit der SPS beim Start lese und Datum und Uhrzeit in einen bestimmten Speicherbereich verschiebe. Siehe Bild 4.

    142-6.gif

    Bild 4 – Lokale Zeit beim Start ablesen

    Nachdem Sie Ihre Logik hinzugefügt haben, kompilieren Sie die Simulation und führen Sie sie erneut aus. Sehen Sie sich die SPS-Simulationsanimation 3 an.

    spacer.png

    Animation 3

    Sie können der obigen Animation entnehmen, dass bei jedem Start der SPS das Startdatum und die Startzeit im von uns zugewiesenen Speicherbereich aufgezeichnet werden. Jetzt habe ich also die Informationen darüber, wie oft meine SPS gestartet wurde und wann der letzte Startzeitpunkt war.

    Fazit

    Start-OBs sind sehr wichtig, wenn Sie einige Funktionen auswerten möchten, bevor Sie Ihren zyklischen Prozess ausführen können. Sie können Start-OBs verwenden, um Parameter zu initialisieren, Sensoren zu kalibrieren und sogar Sicherheitsbedingungen zu prüfen, bevor Sie Ihren Prozess ausführen lassen.

    Sign in to follow this  


    User Feedback

    Create an account or sign in to leave a review

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

    Create an account

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

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    There are no reviews to display.


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