Verstehen von FIFO- und LIFO-Datenpuffersequenzen in der SPS-Programmierung
- 〡
- 〡 von WUPAMBO
Datenverarbeitung stellt eine entscheidende Komponente der fortschrittlichen Fabrikautomation dar. Während diskrete Logik einfache Maschinenzustände steuert, erfordert die Handhabung von Schüttgütern oder die Verfolgung von Komponenten eine robuste Datenpufferung. Programmierer verwalten diese Datenarrays routinemäßig mit zwei grundlegenden Warteschlangenstrukturen: FIFO (First-In, First-Out) und LIFO (Last-In, First-Out).
Dieses technische Briefing erklärt die mechanische Funktionsweise, die Parameter der Instruktionsblöcke und Einsatzstrategien für diese Stapelfolgen in modernen industriellen Steuerungssystemen.
Die Rolle von Array-Registern in der Industrieautomation
Moderne Produktionsumgebungen erfordern, dass SPS die Produktbewegung verfolgen, Zeitstempel protokollieren oder Materialcodes in Warteschlangen verwalten. Daher setzen Ingenieure Schieberegister ein, um variable Datenarrays sequenziell zu organisieren. Hersteller wie Allen-Bradley (Rockwell), Siemens und Schneider Electric integrieren dedizierte Stapelbefehle direkt in ihre Programmier-Software. Diese Instruktionsblöcke manipulieren ein Array von Datenwörtern und verschieben Werte dynamisch basierend auf physischen Produktionsevents.
FIFO-Mechanik: Umsetzung der First-In, First-Out-Logik
Die FIFO-Architektur verarbeitet Daten chronologisch. Folglich ist das Datenpaket, das zuerst in das Registerarray eingeht, immer das erste, das abgerufen wird.
Blockparameter-Schnittstelle und Signaleingänge
Eine Standard-SPS-FIFO-Struktur besteht aus zwei Begleitbefehlen, üblicherweise FIFO Load (FFL) und FIFO Unload (FFU) genannt. Der Instruktionsblock arbeitet mit drei kritischen Steuereingängen und zwei Statusausgängen:
-
Reset (RST): Eine steigende Flanke an diesem Bit setzt den Array-Indexzeiger zurück und leert den gesamten Puffer.
-
Speicherung / Laden (Source): Ein Übergang von falsch zu wahr erfasst den aktuellen Ganzzahl- oder Wortwert und fügt ihn dem Stapel hinzu.
-
Abruf / Entladen (Destination): Eine steigende Flanke verschiebt den ältesten gespeicherten Wert in ein Zielregister.
-
Leer-Bit (EM): Diese Diagnoseflagge wird gesetzt, wenn das Register keine aktiven Datenpakete enthält.
-
Voll-Bit (DN/UL): Diese Sicherheitsflagge wird wahr, wenn der Puffer seine maximal konfigurierte Länge erreicht und weitere Schreibvorgänge blockiert.
LIFO-Mechanik: Umsetzung der Last-In, First-Out-Logik
Im Gegensatz dazu kehrt die LIFO-Architektur die Abrufreihenfolge um. In dieser Konfiguration wird das neueste in den Stapel geschriebene Datenelement als erstes entnommen.
Strukturelle Variationen in der Stapelverarbeitung
Der LIFO-Block verwendet dieselbe Pin-Konfiguration wie die FIFO-Instruktion, einschließlich Laden, Entladen, Voll und Leer. Allerdings unterscheidet sich die interne Zeiger-Manipulation erheblich. Wenn der Abrufeingang auf wahr wechselt, liest die SPS die Daten von der höchsten aktiven Indexposition. Daher verlässt das zuletzt gespeicherte Element sofort das Array, während ältere historische Daten am unteren Ende des Stapels verbleiben, bis die oberen Schichten freigegeben werden.
Experteneinsichten: Randfälle und Speicherverhalten
Fachliche Ingenieurberatung: Programmierer müssen die Aktivierungsbits für Lade- und Entladevorgänge isolieren. Wenn Sie die Speicher- und Abrufeingänge gleichzeitig auslösen, kann der Indexzeiger blockieren, was zu schwerwiegender Datenkorruption im Array führt.
Außerdem müssen Sie das Verhalten Ihrer Hardwareplattform bei Stromzyklen bewerten:
-
Kaltstart-Verhalten: Während eines vollständigen Kaltstarts löscht die CPU den Zwischenspeicher. Diese Aktion setzt die Array-Grenzen komplett zurück und löscht Ihre aktiven Tracking-Daten.
-
Warmstart-Verhalten: Die meisten industriellen Steuerungssysteme behalten retentive Datentags bei kleineren Stromausfällen. Folglich bleiben die Stapelindizes erhalten. Sie müssen diese Speicherregister jedoch explizit als retentiv in Ihrer Tag-Datenbank konfigurieren, um Verfolgungsabweichungen auf dem Fabrikboden zu vermeiden.
Industrielle Anwendungsszenarien
FIFO-Anwendung: Materialverfolgung auf Förderlinien
In einer Abfüllanlage inspiziert ein Vision-System fehlerhafte Behälter und protokolliert einen Ausschusscode in einem FIFO-Register. Während die physischen Flaschen das Förderband entlanglaufen, arbeitet der Ausschussmechanismus aus derselben FIFO-Warteschlange. Da die erste geprüfte Flasche auch die erste ist, die den pneumatischen Ausschussarm erreicht, stimmt die FIFO-Sequenz perfekt mit dem linearen Fluss auf dem Fabrikboden überein.
LIFO-Anwendung: Stapelpuffer und Brückenkräne
In schweren metallurgischen Anlagen stapeln automatisierte Brückenkräne Stahlspulen in vertikalen Lagerbuchten. Der Kran legt eingehende Spulen übereinander ab. Um eine Spule zu entnehmen, muss der Kran zuerst die oberste Einheit entfernen. Durch die Nutzung einer LIFO-Datenstruktur verfolgt die SPS die Lageranordnung genau und stellt sicher, dass das System das tatsächlich physisch oben liegende Objekt abruft.
Über die Autorin: Lin Xiaoyu
Lin Xiaoyu ist eine erfahrene Spezialistin für Industrieautomation mit 15 Jahren technischer Expertise, die sich auf SPS/DCS-Softwarearchitektur, Prozessoptimierung und industrielle Kommunikationsprotokolle konzentriert. Sie hat groß angelegte SCADA-Umgebungen und sicherheitsgerichtete Systeme (SIS) für komplexe maritime, automotive und Logistikzentren weltweit entwickelt.
- Veröffentlicht in:
- Data Buffer
- FIFO Sequence
- Industrial Automation
- LIFO Stack










