Zeitdiagramm zeichnen — Die gemeinsame Schnittstelle zwischen Mensch und Code und zwischen Menschen

Zuletzt aktualisiert: 2026-09-25 / Kategorie: Steuerungsplanung, SPS

Ein Zeitdiagramm übergibt die Abfolge aus dem Kopf des Maschinenbauers an den Softwareentwickler. Dieser Leitfaden richtet sich an den, der ein Programm nur aus Zeichnungen und Klemmenplan schreiben muss, und an den Maschinenbauer, der die Abfolge weitergeben will.

1. Zeichnungen enthalten keine Abfolge. Dieses Diagramm schon

Der Blick auf die Maschine verrät nicht, wie sie sich bewegen sollte. Die Zeichnungen zeigen, wo Zylinder und Sensoren sitzen, nicht aber die Abfolge „den Greifer schließen, nachdem die vordere Endlage erreicht ist“.

Ein Softwareentwickler, der die Abfolge nicht kennt, kann nur raten. Eine richtige Vermutung läuft; eine falsche stoppt die Linie bei der Inbetriebnahme. Das Zeitdiagramm holt diese Abfolge aus den Zeichnungen heraus und legt sie zwischen Hardware und Software. Kurven und Pfeile sind nur die Oberfläche; der Inhalt sind die drei Dinge unten.

2. Die drei Dinge im Diagramm

① Kontinuierliche Bewegung in Zustände schneiden

Das Erste ist, Bewegung ohne Unterbrechung in „Zustände“ zu schneiden. Eine Kolbenstange fährt kontinuierlich, ein Motor dreht weiter. Software kann nichts ohne Grenzen verarbeiten, also wird irgendwo geschnitten: „Ausfahren, bis der vordere Endschalter EIN wird“, „ausgefahren, sobald er EIN ist“.

Zeitdiagramm mit 1 Step = 100 ms. Von oben: bFwdCmd (Ausfahrbefehl, SPS→Zylinder), nRodPos (Kolbenposition, Zylinder→SPS, eine von 0 auf 100 mm ansteigende Kurve), bFwdLS (vorderer Endschalter, EIN bei S7, wenn die Position 100 erreicht) und der interne sState (Zustand) als Werteblöcke Eingefahren, Fährt, Ausgefahren. Pfeile führen von der steigenden Flanke des Befehls zu Fährt und von der steigenden Flanke des Endschalters zu Ausgefahren.
Die oberen zwei Zeilen sind die Maschinenseite (Befehl und ununterbrochene Bewegung der Kolbenstange), die unteren zwei die Softwareseite (der Endschalter als Schnitt und die daraus entstehenden Zustände). Die Pfeile markieren die Entscheidung, wo geschnitten wird.

Warum das wichtig ist — Nur der Maschinenbauer weiß, wo zu schneiden ist. Die Position des Sensors und die Position, die der Maschinenbauer „fertig“ nennt, sind nicht immer dieselbe. Fehlt der Schnitt im Diagramm, nimmt der Softwareentwickler das EIN des Sensors als fertig.

② Geräte mit verschiedenen Zyklen synchronisieren

Das Zweite ist das Verfahren, das Geräte mit unabhängigen Zyklen im Gleichschritt hält. Die SPS zyklt alle 10 ms, der Roboter hat seinen eigenen Zyklus, die Nachbarmaschine läuft auf einer anderen SPS. Keiner kennt den Zyklus des anderen. Ein einfach abgesetztes Signal verschwindet, bevor die Gegenseite hinsieht, oder wird zweimal aufgenommen, wo einmal gemeint war.

Zeitdiagramm mit 1 Step = 10 ms. Von oben: bReq (Anforderung, SPS A→SPS B), das interne bReqRead (die Anforderung, wie B sie liest; B liest alle 50 ms) und bAck (Antwort, SPS B→SPS A). In der ersten Hälfte erscheint die Anforderung, die A bei S1 für einen Step EIN setzt, nie in dem, was B liest. In der zweiten Hälfte hält A die Anforderung ab S6; B liest sie bei S10 und die Antwort wird EIN; A sieht die Antwort und nimmt die Anforderung bei S11 zurück; B sieht das und nimmt die Antwort bei S13 zurück. Drei Pfeile.
Erste Hälfte: das Signal nur absetzen (es verschwindet zwischen den Zyklen von B). Zweite Hälfte: auf die Antwort der Gegenseite warten (wird sicher aufgenommen, ohne den Zyklus zu kennen).

Warum das wichtig ist — Jedes Gerät kann für sich richtig gebaut sein und trotzdem an der Nahtstelle scheitern. Die vier Wechsel Anforderung EIN → Antwort EIN → Anforderung AUS → Antwort AUS (der Handshake) sind kein Trick. Sie sind das kleinste Verfahren, mit dem zwei asynchrone Geräte zuverlässig einen Zustand vereinbaren. Wird ein Schritt weggelassen, laufen die beiden Implementierungen genau dort auseinander.

③ Die Verantwortungsgrenze zwischen den Geräten als Vertrag festlegen

Das Dritte ist das Versprechen zwischen den Geräten. Es wird bis zur Zeitbedingung festgelegt: „mindestens 500 ms zwischen Servo-Bereit EIN und der Fahranforderung“. Die Wartezeit wird als Kurve des Timers gezeichnet, den wir selbst laufen lassen, und was die Gegenseite setzt und wann wir setzen, wird in Zeilen getrennt. Welche Zeile wem gehört, macht die Grenze sichtbar.

Zeitdiagramm mit 1 Step = 100 ms. Die obere Zeile ist bServoReady (Servo-Bereit, Servoverstärker→SPS), EIN bei S3. Die mittlere Zeile ist der interne tReadyWait (Zeit seit Bereit), eine Kurve, die ab der steigenden Flanke von Bereit über 0, 100, … 500 ms ansteigt. Die untere Zeile ist bRunReq (Fahranforderung, SPS→Servoverstärker), EIN bei S8, wenn die Kurve 500 erreicht. Pfeile führen von der steigenden Flanke von Bereit zum Beginn der Kurve und von den 500 der Kurve zur steigenden Flanke der Anforderung.
Oben die Verantwortung der Gegenseite (Bereit setzen), unten unsere (Bereit sehen, 500 ms warten, Anforderung setzen). Die Kurve in der Mitte ist die Zeit, die wir messen. Die Art Versprechen, die im Handbuch steht.

Warum das wichtig ist — Ist das vereinbart, kann jede Seite ihr Inneres frei bauen. Was auch immer der Verstärker intern tut, die SPS-Seite ändert sich nicht, solange Bereit und die 500 ms eingehalten werden. Ohne die Vereinbarung baut jede Seite auf Vermutungen über die andere, und die Inbetriebnahme wird zu „eure Seite ist zu langsam“ und „eure Seite hat zuerst abgeschaltet“.

3. So sieht es im Diagramm aus

4. Zeichenreihenfolge

  1. Geräte und die an der Grenze ausgetauschten Signale auflisten Zeilen nach Gerät gruppieren und zu jedem Signal Variablenname und Operand angeben, z. B. Beladeanforderung bLoadReq / Y020.
  2. Einen normalen Zyklus zeichnen und an jeder Zustandsgrenze schneiden Von Start bis Ende die Flanken der Reihe nach setzen und mit Pfeilen verbinden. Eine Flanke, die sich nicht verbinden lässt, ist ein noch nicht entschiedener Schnitt.
  3. Zeitbedingungen an den Grenzen als Zahlen ergänzen Wartezeiten und Antwortfristen, neben der Flanke oder im Kommentar der Zeile.
  4. Störung und Wiederanlauf in eigenen Diagrammen zeichnen Dieselben Zeilen, anderer Handlungsstrang. Festlegen, wo es stehen bleibt, welche Signale abfallen und wie es in die Grundstellung zurückkehrt.

5. Stolpersteine

6. Nach dem Zeichnen

Die Pfeile werden zu den Entscheidungen des Ablaufdiagramms (den Bedingungen zum Weitergehen), die Zeilen zu den Variablen des Adressplans.

Die Werkzeuge für die Abbildungen dieses Artikels

Alle Abbildungen dieses Artikels wurden im Timing Chart Editor gezeichnet und als SVG exportiert.

  • Timing Chart Editor — Zeilen nach der treibenden Seite (M / S) anordnen, Pfeile von Wechsel zu Wechsel ziehen, Wartezeiten und Kommentare eintragen.
  • Flowchart Editor — Macht aus den Pfeilen des Diagramms Entscheidungen und Wartezeiten und baut das Ablaufdiagramm zusammen.
  • Address Map Editor — Ordnet den Signalen des Diagramms SPS-Operanden zu.

Ohne Installation und Registrierung, direkt im Browser.

Verwandte Artikel

yk.builds