In meinen Fall will ich den aktuellen Schritt am AW50 anzeigen, also Frage ich den Schritt am EN ab und wenn der 1 ist gibt die SPS den Wert von IN an OUT weiter. Ist das richtig.
So wie du es hier vorhast wird am Ausgangswort Binärer Zahlencode angezeigt, z.B. 00010011 00000000 ich bezweifle das ein Maschinenbediener damit richtig froh wird.
Wenn die Schrittkette nicht länger als 16 Schritte wird, würde ich schreiben:
U Merker Schritt 1
= A 10.0
U Merker Schritt 2
= A 10.1
usw.
Das ganze läuft dann durch wie ein Lauflicht, und wenn´s irgendwo klemmt zeigt dir der Ausgang die Schrittnummer an.
Du brauchst natürlich so viele Ausgänge wie Schritte
ich habe es geschafft den aktuellen Schritt im DB anzuzeigen und zwar so
Code:
U #Schritt_1
SPBNB _001
L W#16#0100
T #BCD_Anzeige
_001 :NOP 0
)
U #Schritt_2
SPBNB _002
L W#16#0200
T #BCD_Anzeige
_002 :NOP 0
U #Schritt_3
SPBNB _003
L W#16#0300
T #BCD_Anzeige
_003 :NOP 0
U #Schritt_4
SPBNB _004
L W#16#0400
T #BCD_Anzeige
_004 :NOP 0
U #Schritt_5
SPBNB _005
L W#16#0500
T #BCD_Anzeige
_005 :NOP 0
DB im OB1 aufgerufen und bei OUT BCD Anzeige AW 50 eingetippt.
Vielleicht hilft es jemanden, mir hat es geholfen.
Wollte mich nocheinmal bei jeden bedanken der mir tipps geschrieben hat.
L W#16#100
U #Schritt_1
SPB out
L W#16#200
U #Schritt_2
SPB out
L W#16#300
U #Schritt_3
SPB out
L W#16#400
U #Schritt_4
SPB out
L W#16#500
U #Schritt_5
SPB out
L W#16#0 // keiner Aktiv = 0
out: T #BCD_Anzeige
Könnte man auch so Lösen, ist ein wenig übersichtlicher.