Definition und Funktionsweise:
Polling (Abfrage) ist ein Kommunikationsprinzip in der Datenverarbeitung und Automatisierungstechnik, bei dem eine Steuerung (Master) oder ein Programm periodisch und zyklisch den Zustand oder die Daten eines oder mehrerer Geräte (Slaves) abfragt, um festzustellen, ob ein Ereignis aufgetreten ist oder ob neue Daten verfügbar sind.
Im Polling-Modus „fragt“ der Master aktiv nach Informationen, auch wenn sich der Zustand des Slaves nicht geändert hat. Der Slave sendet erst dann Daten, wenn er dazu aufgefordert wird.
Relevanz in der Automatisierungstechnik:
Polling ist ein einfaches und weit verbreitetes Kommunikationsprinzip, insbesondere in klassischen SPS-Systemen und Feldbussen:
- SPS-Zyklus: Die SPS arbeitet zyklisch. Im Rahmen ihres Zyklus liest sie alle Eingänge und fragt die Zustände der angeschlossenen Module und Geräte ab.
- Feldbusse (Master-Slave): Viele Feldbusse (z.B. PROFIBUS DP, Modbus RTU) arbeiten nach dem Polling-Prinzip. Der Master fragt die Slaves der Reihe nach ab.
- Einfache Geräteanbindung: Für die Anbindung einfacher Sensoren und Aktoren, die keine ereignisgesteuerte Kommunikation benötigen.
Vorteile und Nachteile:
- Vorteile:
- Einfachheit: Relativ einfach zu implementieren.
- Vorhersehbarkeit: Das Systemverhalten ist oft deterministisch, da die Abfragen in festen Zyklen erfolgen.
- Nachteile:
- Hohe Netzwerklast: Es werden viele Nachrichten gesendet, auch wenn sich keine Daten geändert haben (unnötiger Traffic).
- Latenz: Die Reaktionszeit auf ein Ereignis ist maximal so schnell wie der Polling-Zyklus. Schnelle, sporadische Ereignisse können zwischen zwei Abfragen liegen und somit verzögert erkannt werden.
- Ressourcenverbrauch: Der Master muss ständig Ressourcen für die Abfragen bereitstellen.
Für zeitkritische oder bandbreitenintensive Anwendungen werden zunehmend ereignisgesteuerte Kommunikationsprinzipien (z.B. Interrupts, Publish/Subscribe-Modelle wie MQTT, oder „Report by Exception“) verwendet, um die Effizienz zu steigern und die Latenz zu reduzieren.
→ Siehe auch: Interrupt, Zyklus, Ereignisgesteuerte Programmierung, Feldbus, Kommunikation, Latenz

