Programmierbefehle | ||||
Zuweisung | ||||
Die Zuweisung (=) kopiert das Verknüpfungsergebnis (VKE) der vorhergehenden Operation und weist dieses Ergebnis dem nachfolgenden Operanden zu.
FUP
KOP
AWL
UND-Verknüpfung | ||||
Die UND-Verknüpfung entspricht einer Reihenschaltung von Kontakten wie im einem Stromlaufplan. Weisen alle Eingänge gleichzeitig den Signalzustand „1“ auf, ist auch der Zustand von A0.0 = „1“. Ist wenigstens einer der Eingänge „0“, so ist auch der Ausgang A0.0 = „0“.
FUP
KOP
AWL
ODER-Verknüpfung | ||||
Die ODER-Verknüpfung entspricht einer Parallelschaltung von Kontakten wie im einem Stromlaufplan. Weist mindestens einer der Eingänge den Signalzustand „1“ auf, ist auch der Zustand vom Ausgang A0.0 = „1“. Nur wenn alle Eingänge Signal „0“ aufweisen, ist auch der Ausgang A0.0 = „0“.
FUP
KOP
AWL
UND-vor-ODER-Verknüpfung | ||||
Die UND-vor-ODER-Verknüpfung entspricht einer Parallelschaltung mehrerer in Reihe geschalteten Kontakte wie im einem Stromlaufplan. Bei dieser Zusammensetzung von Reihen- und Parallelschaltung führt Ausgang A0.0 den Signalzustand „1“, wenn mindestens in einem Parallelzweig alle in Reihe geschalteten Signale jeweils den Zustand „1“ aufweisen. Die UND-Verknüpfungen werden zuerst bearbeitet und aus ihren Ergebnissen die ODER-Verknüpfung gebildet. Der erste Parallelzweig mit den UND-Verknüpfungen wird vom zweiten Parallelzweig durch die ODER-Verknüpfung getrennt.
AWL
FUP
KOP
AWL
ODER-vor-UND-Verknüpfung | ||||
Die ODER-vor-UND-Verknüpfung entspricht einer Reihenschaltung mehrerer parallelgeschalteter Kontakte wie im einem Stromlaufplan. Bei dieser Art der Verknüpfung hat Ausgang A0.0 nur dann den Signalzustand „1“, wenn in jedem Parallelzweig wenigstens je ein Signal den Zustand „1“ hat. In der AWL werden die ODER-Verknüpfungen durch Klammern „U( ... )“ zusammengefasst. Dadurch haben sie Vorrang vor den UND-Verknüpfungen.
AWL
FUP
KOP
AWL
Abfrage auf „0“ (NICHT) | ||||
Der Signalzustand „0“ entspricht im Stromlaufplan einem Öffnerkontakt —|⁄|—. Für die Abfrage auf Zustand logisch „0“ werden die Befehle „UN“ (UND NICHT) bzw. „ON“ (ODER NICHT) verwendet.
FUP
KOP
AWL
EXKLUSIV ODER-Verknüpfung | ||||
Bei der EXKLUSIV ODER-Verknüpfung ist der Zustand von Ausgang A0.0 nur dann logisch „1“, wenn nur einer der Eingänge, im Beispiel E0.0 oder E0.1, den Signalzustand „1“ führt.
Die EXKLUSIV ODER-Verknüpfung darf nur mit exakt zwei Eingängen programmiert werden.
FUP
KOP
AWL
Ausgänge abfragen | ||||
Eine SPS kann nicht nur den Signalzustand von Eingängen abfragen, sondern auch den von Ausgängen, Merkern, Zeiten, Zählern usw.. Im Beispiel wird der Signalzustand von A0.0 auf logisch „1“ abgefragt und wirkt in der UND-Verknüpfung auf den Ausgang A0.1.
FUP
KOP
AWL
Für jeden Ausgang ein separates Netzwerk zu programmieren ist nicht zwingend erforderlich. Eine Verknüpfung mit dem Signalzustand von Ausgang A0.0 kann direkt hinter dem Symbol weitergeführt werden.
FUP TIA-Portal
KOP TIA-Portal
In Step7 hieß so ein zwischengeschaltetes Element Konnektor und wurde durch die Raute —(#)— gekennzeichnet. Seit TIA-Portal existiert nur noch die Zuweisung (=).
FUP Step7
KOP Step7
S-R-Speicherfunktion | ||||
Ein kurzzeitiges „1“- Signal am Setzeingang (S) setzt die Speicherfunktion. Ein kurzzeitiges „1“- Signal am Rücksetzeingang (R) bewirkt das Rücksetzen der Speicherfunktion. Ein „0“- Signal am Setzeingang (S) oder Rücksetzeingang (R) hat keinerlei Auswirkung und verändert den vorherigen Zustand der Speicherfunktion nicht. Liegt am Setzeingang (S) und am Rücksetzeingang (R) gleichzeitig ein „1“- Signal an, wird die Speicherfunktion vorrangig gesetzt oder zurückgesetzt. Ob das Setzen Vorrang vor dem Rücksetzen hat oder umgekehrt wird bei der Programmierung festgelegt.
Vorrangiges rücksetzen | ||||
KOP
FUP
AWL
In der AWL wurde ein NOP 0 als letzten Befehl „angehangen“. NOP 0 bedeutet nichts anderes als „NO OPERATION“, also „keine Operation“. Es ist eine Nulloperation die nichts bewirkt. Damit zwischen FUP, KOP und AWL umgeschaltet werden kann, wird in AWL NOP 0 als Platzhalter für den nicht adressierten Ausgang des Speicherelements Q gesetzt.
Anstelle NOP 0 könnte am Ausgang des Speicherelements auch direkt eine Zuweisung (z.B. = %A0.1) programmiert werden. Ebenfalls ohne jegliche Funktion existiert auch noch das weniger genutzte NOP 1. Der Unterschied zu NOP 0 liegt nur im Bitmuster: 16 Bits mit „1“-Signal bzw. 16 Bits mit „0“-Signal.
Vorrangiges setzen | ||||
Die programmierte Reihenfolge des Setzeingangs (S) und des Rücksetzeingangs (R) des Speicherelements entscheidet über den Vorrang. Die zuletzt programmierten Anweisungen werden von der SPS mit Vorrang bearbeitet.
FUP
AWL
KOP
Flankenauswertung | |||||||
Bisher wurden Signalzustände immer als statisches Signal betrachtet. Entweder war der Signalzustand ständig logisch „0“ oder „1“, also entweder „Aus“ oder „Ein“. Mit der Auswertung von Signalflanken wird die Signaländerung ausgewertet. Ändert sich das Signal von logisch „0“ auf „1“ kann eine positive Flanke ausgewertet werden. Umgekehrt kann eine negative Flanke bei einem Signalwechsel von „1“ auf „0“ ausgewertet werden.
Wozu wird eine Flankenauswertung gebraucht? Überall wo ein einziger Impuls besser als ein Dauersignal ist, z.B. für Zeit- oder Zähloperationen. Eine Flankenauswertung eliminiert z.B. Kontaktprellen [1] bei Tastern oder Endschaltern.
Step7 bzw. TIA-Portal ermöglichen eine Operanden- oder VKE-Flankenauswertung. Als Operandenflanke bezeichnet man die Änderung des Signalzustandes eines Operanden. Eine VKE-Flanke liegt vor, wenn sich das Verknüpfungsergebnis des auszuwertenden Operanden gegenüber dem vorhergehenden VKE geändert hat. Kreative Programmierer kennen weitere, selbst „gebastelte“ Möglichkeiten (z.B. mit S-R-Speicherfunktionen) zur Flankenbildung, doch hier soll nur auf die vorhandenen Standards eingegangen werden.
Positive Operandenflanke | ||||
Damit die Umschaltung zwischen der grafischen KOP-/FUP-Darstellung und AWL funktioniert wird automatisch ein BLD-Befehl in die AWL eingefügt. BLD <Zahl> ist ein Blindbefehl, eine Nulloperation ähnlich NOP (No Operation). Die <Zahl> wird vom Programmiergerät erzeugt.
AWL
KOP
FUP
Der Signalzustand des Operanden E1.0 wird mit dem Signalzustand der vorherigen Abfrage, die in dem Flankenmerker M2.0 gespeichert ist, verglichen. Wenn der aktuelle Signalzustand von E1.0 logisch „1“ ist und die vorangegangene Abfrage war „0“, dann liegt eine steigende oder positive Flanke vor. Der Merker M2.1 wird für einen PLC-Zyklus logisch „1“, sofern das hier im Beispiel als Freigabesignal dienende Signal E2.0 ebenfalls logisch „1“ ist.
Negative Operandenflanke | ||||
Die negative Operandenflanke funktioniert exakt wie die positive, nur andersherum. Wenn der aktuelle Signalzustand von E1.0 logisch „0“ ist und die vorangegangene Abfrage war logisch „1“, dann liegt eine fallende oder negative Flanke vor.
AWL
KOP
FUP
Positive VKE-Flanke | ||||
FUP
KOP
AWL
Das aktuelle Verknüpfungsergebnis (VKE) des UND-Gliedes E1.0 und E2.0 wird mit dem VKE der vorherigen Abfrage verglichen. Das aktuelle VKE liegt an CLK, die vorherige Abfrage ist im Flankenmerker M2.0 gespeichert. Ändert sich das VKE des UND-Gliedes von „0“ auf „1“, liegt eine positive Flanke vor. Der Ausgang Q liefert einen PLC-Zyklus lang den Signalzustand „1“. Sinnigerweise ist in KOP oder FUP das Element zur Flankenbildung mit P_TRIG gekennzeichnet. P steht für „Positiv“, TRIG für „Trigger“ [2] .
Ein Trigger ist eine Schaltung, die bei einem auslösenden Ereignis einen Impuls (Triggerimpuls) oder einen Schaltvorgang (Schaltflanke) erzeugt.
Negative VKE-Flanke | ||||
Eine negative VKE-Flanke funktioniert wieder entgegengesetzt zur positiven VKE-Flanke. Wenn sich das VKE des UND-Gliedes von „1“ auf „0“ ändert, liegt eine negative Flanke vor.
FUP
KOP
AWL
Signaldiagramme | ||||
Die Signaldiagramme für Operanden- und VKE-Flanke der Beispiele geben einen guten Überblick über die Signalfolge. Wie aus den Diagrammen hervorgeht, kann immer nur der Merker M2.1 für die eigentlich gewünschte Funktion, z.B. als Zählimpuls, genutzt werden.