Sichern des Statuswortes, notwendig?

bike

Level-1
Beiträge
6.464
Reaktionspunkte
795
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bei einem Programm begegnet mit an verschiedenen Stellen in Functionen folgender
Code.

Code:
      L     STW
      T     #temp_stw
      L     MB   12            // ist unglücklich dies so zu machen, aber es funktioniert so
      SLW   4
      LAR1  
      L     #temp_stw
      T     STW
      L     #temp_akku1
      L     DBW [AR1,P#0.0]
LAR1 ändert doch nicht das Steuerwort.

Hat das einen anderen, besonderen Sinn dies zu sichern und nach LAR1 wieder zurück zuschreiben?
Das #temp_stw wird später in Programm nicht mehr verwendet.

Ist es programmiererspezifische Besonderheit? :confused:


Da ich das Programm ändern muss, habe ich diese Zeilen gelöscht und das Programm funktioniert immer noch fehlerfrei, doch der Kunde will, dass dies immer drinnen bleibt.

Hat jemand ein Erklärung, was der Ersteller sich wohl gedacht hat?

Danke für Tipps und Hinweise


bike
 
Da ich das Programm ändern muss, habe ich diese Zeilen gelöscht und das Programm funktioniert immer noch fehlerfrei, doch der Kunde will, dass dies immer drinnen bleibt.
Also ich habe das noch nie gesehen und auch noch nie gemacht.

Sag mal, schaut der Kunde jede Codezeile an die du da eingibst.
Und wenn er wirklich weiß was das alles bedeutet, warum macht er es nicht gleich selber?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe das noch nie gesehen und auch noch nie gemacht.

Sag mal, schaut der Kunde jede Codezeile an die du da eingibst.
Und wenn er wirklich weiß was das alles bedeutet, warum macht er es nicht gleich selber?

Danke für deine Antwort.
Dass diese Art der Programmierung nicht nur mir nicht geläufig ist, beruhigt doch sehr.:D

Der Kunde ist ein großer Autohersteller und ja, die Knaben dort haben nichts anderes zu tun, als die Lieferanten zu nerven.


bike
 
...
Code:
      L     STW
      T     #temp_stw
      L     MB   12            // ist unglücklich dies so zu machen, aber es funktioniert so
      SLW   4
      LAR1  
      L     #temp_stw
      T     STW
      L     #temp_akku1
      L     DBW [AR1,P#0.0]
LAR1 ändert doch nicht das Steuerwort.

Hat das einen anderen, besonderen Sinn dies zu sichern und nach LAR1 wieder zurück zuschreiben?
Das #temp_stw wird später in Programm nicht mehr verwendet.

Ist es programmiererspezifische Besonderheit? :confused:

Da ich das Programm ändern muss, habe ich diese Zeilen gelöscht und das Programm funktioniert immer noch fehlerfrei, doch der Kunde will, dass dies immer drinnen bleibt.
...

Hallo bike,
auch mir ist das noch nicht untergekommen.

LAR1 verändert nicht das Statuswort, aber SLW.
Ob das interessant ist, ???

Auszug S7-Manager-F1
Beschreibung

SLW (Schiebe links Wort) schiebt nur den Inhalt von AKKU1-L bitweise nach links. In die Bitstellen, die durch das Schieben frei werden, werden Nullen geschrieben. Das zuletzt geschobene Bit wird in das Statusbit A1 geladen. Die Anzahl an Bitstellen, um die geschoben werden soll, wird entweder von dem Operanden <Anzahl> oder von einem Wert in AKKU2-L-L angegeben.

SLW <Anzahl>: Die Schiebezahl wird von dem Operanden <Anzahl> angegeben. Zulässig sind Werte von 0 bis 15. Die Statusbits A0 und OV werden auf "0" zurückgesetzt, wenn <Anzahl> größer als Null ist. Ist <Anzahl> gleich "0", wird die Rotieroperation wie eine Operation NOP bearbeitet.

SLW: Die Schiebezahl wird von dem Wert in AKKU2-L-L angegeben. Zulässig sind Werte von 0 bis 255. Eine Schiebezahl > 16 ruft immer das gleiche Ergebnis hervor: AKKU1-L = 0, A1 = 0, A0 = 0, OV = 0. Gilt 0 < Schiebezahl <= 16, werden die Statusbits A0 und OV auf "0" zurückgesetzt. Ist die Schiebezahl "0", wird die Schiebeoperation wie eine Operation NOP bearbeitet.

Statuswort

BIE A1 A0 OV OS OR STA VKE /ER
schreibt: - x x x - - - - -
Gruß Roland
 
Hallo bike,
auch mir ist das noch nicht untergekommen.

LAR1 verändert nicht das Statuswort, aber SLW.
Ob das interessant ist, ???

Auszug S7-Manager-F1
Gruß Roland

Von dieser Seite habe ich es noch nicht betrachtet. :confused:

Das Programm geht einfach weiter, dass mit dem AR1 indirekt ein Merkerwort in ein DBW geschoben wird.
Danach ist der Baustein zu Ende und es geht im OB1 weiter mit einer Schrittkette.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
[U][B]L STW[/B][/U]
[U][B]T #temp_stw[/B][/U]
L MB 12 // ist unglücklich dies so zu machen, aber es funktioniert so
SLW 4
LAR1 
[B][U]L #temp_stw[/U][/B]
[B][U]T STW[/U][/B]
L #temp_akku1
L DBW [AR1,P#0.0]

Hat jemand ein Erklärung, was der Ersteller sich wohl gedacht hat?
Danke für Tipps und Hinweise

bike

Hi bike,
kann der Ersteller vielleicht der "S5zuS7-Konverter" sein.:confused:
da hab´ich nach einer S5-Migration schon ähnliche Konstrukte gesehen...

gruss
 
Hi bike,
kann der Ersteller vielleicht der "S5zuS7-Konverter" sein.:confused:
da hab´ich nach einer S5-Migration schon ähnliche Konstrukte gesehen...

gruss

Wenn ich das wüsste. :confused:

Die Anlage wurde mit S7 300 von Beginn aus ausgestattet.
Ob die damals ein Programm zu Beginn von irgendwoher gezogen haben, wer weiß es? :confused:

Mein Problem ist jetzt wie erkläre ich meinem Kunden, dass dieser Mist nicht notwendig ist und das Programm entmistet sein wird, wenn ich fertig bin?


bike
 
hi,
aufzeigen, dass diese Konstrukte nicht notwendig sind und die transparenz erschweren.
Wenn der kunde dennoch Wert daruf legt, dann eben mal über Mehraufwand (und -kosten) reden ... hilft machnmal :cool:
 
Zurück
Oben