-> Hier kostenlos registrieren
Hallo liebe Gemeinde,
dieses ist mein erster Beitrag in diesem Forum, soll aber nicht so bleiben .
Kurzer Überblick: Arbeite mit S7 seit knapp 1 Jahren erst, vorwiegend mit FC-Bausteinen und in FUP. Nun habe ich den Sprung in die FB-Bausteine gewagt und ebenfalls die Programmiersprache auf AWL umgestellt. Gibt da einfach zu viele Vorteile drin.
Zur Problematik: Ich habe seit Freitag den Einstieg in den Dateityp "Word" gemacht und soll nun ein kleines Programm schreiben, welches für unsere Maschine als Test fungiert, soll heißen, dass wir jeden Ausgang per Tastendruck anwählen können und so jenen beobachten können.
Es gibt 2 Taster (E125.0, E125.1) mit denen ich jeweils "Vor- bzw Zurückspringen" kann.
Das "Springen" erfolgt danach per Schiebefunktion (Ebenfalls Neuland).
Das Problem ist nun folgendes: Das Programm funktioniert soweit so gut wie es auch soll, heute habe ich den TAW Befehl eingefügt, da sonst mein Bit mit der Wertigkeit 1 der A125.0 ist, ich jedoch am Anfang gerne A124.0 ansteuern möchte. Alternativ hätte ich auch L 256 machen können.
Wenn das Programm den A124.0 schaltet und ich zurückspringe, lande ich auf A125.7 bis hin zu A125.0, danach aber auf 124.0 und nicht auf 124.7, so wie ich es vermute. Wenn ich ab 124.0 vorspringe, springt er bei A124.7 den darauffolgenden Schritt wieder auf A124.0. Mit anderen Worten: Ungenügend irgendwie. A124.0 hat die Wertigkeit 256, A124.7 die Wertigkeit -32786 (höchstwertigstes Bit) und A125.0 hat die Wertigkeit 1. Was muss ich ändern, damit ich ganz normal durchklicken kann das Programm, ohne das auf A124.0 zurückgesprungen wird(außer natürlich es wird gewollt )
Hier mein Programm:
OB1:
U E 126.6
= L 20.0
BLD 103
U E 125.1
= L 20.1
BLD 103
U E 125.0
= L 20.2
BLD 103
CALL FB 1 , DB1
Not_Aus :=L20.0
Taster_Start:=L20.1
Taster_EV :=L20.2
EINGANG :=AW124
Ausgang :=AW124
NOP 0
FB1
L #EINGANG
L 0
==I // Einmaliger Vergleich bei SPS-Start
SPBN nw3 // Bei Routineablauf in NW3 springen
L 1 // lade Wertigkeit 1 ins Word
TAW // Tauschen des Bytes; start bei A124.0
T #Ausgang // Ergebniss ins AW transferieren
nw3: L #EINGANG
U #Taster_Start //"Vorspringen"
FP #Flp // Flanke
SPB nw5 //Fortsetzung NW5
U #Taster_EV //"Zurückspringen"
FP #Flp2 //Flanke
SPB nw7 //Fortsetzung NW7
BE // Ansonsten BE
nw5: SRW 1 // Schiebebefehl rechts
SPB tra
nw7: SLW 1 //Schiebebefehl links
tra: NOP 0
T #Ausgang
BE
Bin über jeden Tip dankbar
Ps: Gibt es die Möglichkeit, dass das Programm besser hochgeladen werden kann?
Gruß
winRARE
dieses ist mein erster Beitrag in diesem Forum, soll aber nicht so bleiben .
Kurzer Überblick: Arbeite mit S7 seit knapp 1 Jahren erst, vorwiegend mit FC-Bausteinen und in FUP. Nun habe ich den Sprung in die FB-Bausteine gewagt und ebenfalls die Programmiersprache auf AWL umgestellt. Gibt da einfach zu viele Vorteile drin.
Zur Problematik: Ich habe seit Freitag den Einstieg in den Dateityp "Word" gemacht und soll nun ein kleines Programm schreiben, welches für unsere Maschine als Test fungiert, soll heißen, dass wir jeden Ausgang per Tastendruck anwählen können und so jenen beobachten können.
Es gibt 2 Taster (E125.0, E125.1) mit denen ich jeweils "Vor- bzw Zurückspringen" kann.
Das "Springen" erfolgt danach per Schiebefunktion (Ebenfalls Neuland).
Das Problem ist nun folgendes: Das Programm funktioniert soweit so gut wie es auch soll, heute habe ich den TAW Befehl eingefügt, da sonst mein Bit mit der Wertigkeit 1 der A125.0 ist, ich jedoch am Anfang gerne A124.0 ansteuern möchte. Alternativ hätte ich auch L 256 machen können.
Wenn das Programm den A124.0 schaltet und ich zurückspringe, lande ich auf A125.7 bis hin zu A125.0, danach aber auf 124.0 und nicht auf 124.7, so wie ich es vermute. Wenn ich ab 124.0 vorspringe, springt er bei A124.7 den darauffolgenden Schritt wieder auf A124.0. Mit anderen Worten: Ungenügend irgendwie. A124.0 hat die Wertigkeit 256, A124.7 die Wertigkeit -32786 (höchstwertigstes Bit) und A125.0 hat die Wertigkeit 1. Was muss ich ändern, damit ich ganz normal durchklicken kann das Programm, ohne das auf A124.0 zurückgesprungen wird(außer natürlich es wird gewollt )
Hier mein Programm:
OB1:
U E 126.6
= L 20.0
BLD 103
U E 125.1
= L 20.1
BLD 103
U E 125.0
= L 20.2
BLD 103
CALL FB 1 , DB1
Not_Aus :=L20.0
Taster_Start:=L20.1
Taster_EV :=L20.2
EINGANG :=AW124
Ausgang :=AW124
NOP 0
FB1
L #EINGANG
L 0
==I // Einmaliger Vergleich bei SPS-Start
SPBN nw3 // Bei Routineablauf in NW3 springen
L 1 // lade Wertigkeit 1 ins Word
TAW // Tauschen des Bytes; start bei A124.0
T #Ausgang // Ergebniss ins AW transferieren
nw3: L #EINGANG
U #Taster_Start //"Vorspringen"
FP #Flp // Flanke
SPB nw5 //Fortsetzung NW5
U #Taster_EV //"Zurückspringen"
FP #Flp2 //Flanke
SPB nw7 //Fortsetzung NW7
BE // Ansonsten BE
nw5: SRW 1 // Schiebebefehl rechts
SPB tra
nw7: SLW 1 //Schiebebefehl links
tra: NOP 0
T #Ausgang
BE
Bin über jeden Tip dankbar
Ps: Gibt es die Möglichkeit, dass das Programm besser hochgeladen werden kann?
Gruß
winRARE