Vorsichtsmaßnahmen bei der Programmierung
00000
22500
00001
00002
00003
00004
00005
4-6
Vorsichtsmaßnahmen bei der Programmierung
00000
00002
00004
00001
00003
Abbildung A: Nicht programmierbar
00001
00004
00000
00000
00004
00001
Abbildung B: Korrigierte Version
müssen. In diesem Beispiel muss IR 10000 solange gesetzt bleiben, wie IR
00001 gesetzt ist und sowohl IR 00002 als auch IR 00003 nicht gesetzt sind
oder solange IR 00004 gesetzt und IR 00005 nicht gesetzt ist. IR 10000
muss jedesmal für jeweils einen Zyklus gesetzt werden, wenn IR 00000 ge-
setzt wird (es sei denn, dass eine der vorhergehenden Bedingungen
dauerhaft im Zustand EIN ist).
Dies wird erreicht, in dem IR 22500 als Arbeitsmerker verwendet wird, der
wiederum als Operand des DIFFERENTIATE UP–Befehls (DIFU(13))
programmiert wird. Wird IR 00000 gesetzt, wird IR 22500 für einen Zyklus
gesetzt und dann im nächsten Zyklus durch DIFU(13) zurückgesetzt.
Vorausgesetzt, dass die anderen, IR 10000–steuernden Bedingungen dieses
Bit nicht dauerhaft gesetzt bleiben, setzt der Arbeitsmerker IR 22500 IR
10000 nur für einen Zyklus.
DIFU (13) 22500
Die Anzahl der Bedingungen, die in Reihe oder parallel verwendet werden
können, ist unbegrenzt, solange die Speicherkapazität der SPS nicht
überschritten wird. Verwenden Sie deshalb, soviele Bedingungen wie
erforderlich, um einen übersichtlichen Kontaktplan zu programmieren. Die
nachfolgende Abbildung A zeigt eine Variante, die so nicht programmierbar
ist. Die nachfolgend gezeigte Abbildung A ist z. B. nicht möglich und sollte
wie in Abbildung B gezeigt, programmiert werden. Der AWL–Code ist nur für
Abbildung B dargestellt; die Programmierung von Abbildung A ist nicht
möglich.
Befehl 1
Befehl 2
00002
Befehl 1
00003
Befehl 2
Einem bestimmten Bit können Bedingungen beliebig oft zugewiesen werden.
Komplexe Programme sind oft das Ergebnis des Versuchs, die Anzahl der
Zugriffe auf ein bestimmtes Bit zu reduzieren.
Adresse
Befehl
00000
LD
00001
DIFU(13)
10000
00002
LD
00003
LD
00004
AND NOT
00005
AND NOT
00006
OR LD
00007
LD
00008
AND NOT
00009
OR LD
00010
OUT
Adresse
00000
LD
00001
AND
00002
OR
00003
AND
00004
Befehl 1
00005
LD
00006
AND
00007
OR
00008
AND NOT
00009
Befehl 2
Abschnitt
4-6
Operanden
00000
22500
22500
00001
00002
00003
---
00004
00005
---
10000
Befehl
Operanden
00001
00004
00000
00002
00000
00004
00001
00003
199