TIA LB Lokaldatenbyte

Ist das der Russische Bär Waldy der hinter dir her ist,
da hast du keine Chance, die können schneller
Schwimmen, schneller laufen und besser klettern.
Da passt aber was nicht zusammen.
Ich kenn keinen Bären, der waldy heisst.
Bei uns in der Gegend ist waldy eigentlich der typische Name für einen Dackel.
@Heinileini: Ich weiß, der korrekte Rassename ist Dachshund 🐶
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin

Deltea, auf dem Foto , ist "Made in Gemany" ?
Oder hast du extra sich fotografieren lassen ?
:)

Gruß
 

Anhänge

  • DB1.PNG
    DB1.PNG
    36,9 KB · Aufrufe: 35
  • Tabelle.PNG
    Tabelle.PNG
    56,2 KB · Aufrufe: 29
  • SIM.PNG
    SIM.PNG
    39,7 KB · Aufrufe: 35
  • FUP.PNG
    FUP.PNG
    72,4 KB · Aufrufe: 33
Aber ich versuche hier auch mein Glück (DB darf nicht optimiert sein):
Anhang anzeigen 63486
Die Schreibweise #DBAny.%DBB0 kannte ich noch gar nicht, weil so sollte man heutzutage wirklich nicht programmieren. Ein Danke kann ich Dir aber nicht unter dem Beitrag geben, das sähe irgendwie falsch aus. Hmm, aufgrund von welchem Großkunde wurde wohl die Möglichkeit für solchen Murks in TIA-FUP neu implementiert??? ;)

Allerdings: weil in dem AWL-Code von waldy das %LB1 ausgelassen wurde, befürchte ich, daß der Code noch weitergeht und dann vielleicht das ganze %LD0 verwendet wird. Dann passt Deine 1:1-nahe Übersetzung nicht mehr so ganz.
Der Code geht da sicher noch weiter, und vielleicht ist auch die AWL-Lösung schon ziemlich unsauber/unvollständig, z.B. was passiert da mit %LB1 ?
wie sieht die Programm bei 1:1 Übersetzung?

AUF #DB_TEST // in TEMP als DB_ANY


L %DBB0

T %LB0

L %DBB1

T %LB2
wird vielleicht so fortgesetzt?
L %LD0
L L#65538 //DW#16#10002
+D

?


Schreibe Du mal eine ordentliche Aufgabenstellung, dann findet sich auch eine schöne Lösung.
Aus nur 5 Zeilen AWL läßt sich noch nicht viel Sinn und Verbesserungspotential erkennen.
@waldy
Wenn Du eine bessere Übersetzung sehen willst, dann beschreibe mal in normaler Umgangssprache, was Dein kompletter Code (auch der hier nicht gezeigte Teil) eigentlich machen soll, ohne eine einzige Programmzeile zu schreiben. Also z.B. so formuliert:
In verschiedenen DB ist am Anfang ein Word mit einer codierten Information z.B. eine Regalposition. Es soll eine Funktion geschrieben werden, die daraus die fortlaufende Fachnummer berechnet: H-Byte * 600 + L-Byte
Meine Beschreibung ist eine reine Phantasie-Aufgabe, soll nur Vorlage sein wie Du die Aufgabe beschreiben sollst.

Harald
 
Die Schreibweise #DBAny.%DBB0 kannte ich noch gar nicht, weil so sollte man heutzutage wirklich nicht programmieren. Ein Danke kann ich Dir aber nicht unter dem Beitrag geben, das sähe irgendwie falsch aus. Hmm, aufgrund von welchem Großkunde wurde wohl die Möglichkeit für solchen Murks in TIA-FUP neu implementiert??? ;)

Allerdings: weil in dem AWL-Code von waldy das %LB1 ausgelassen wurde, befürchte ich, daß der Code noch weitergeht und dann vielleicht das ganze %LD0 verwendet wird. Dann passt Deine 1:1-nahe Übersetzung nicht mehr so ganz.


wird vielleicht so fortgesetzt?
L %LD0
L L#65538 //DW#16#10002
+D

?



@waldy
Wenn Du eine bessere Übersetzung sehen willst, dann beschreibe mal in normaler Umgangssprache, was Dein kompletter Code (auch der hier nicht gezeigte Teil) eigentlich machen soll, ohne eine einzige Programmzeile zu schreiben. Also z.B. so formuliert:

Meine Beschreibung ist eine reine Phantasie-Aufgabe, soll nur Vorlage sein wie Du die Aufgabe beschreiben sollst.

Harald
Ich weiße immer wieder gerne auf solche Implementierungen hin. Ich habe da schon ein paar Firmen unter Verdacht ;).

Doch, in diese Monat ich kan in Programm bis Tag_30 noch was zu schreiben lassen. Und in Oktober sogar bis Tag_31.

Oder nach andere Format KW37.Di .
:)

Gruß
Viel Glück.
 
Bewährt wäre ein:
AUF DB3
B DW10
L MW0

Alles danach ist neumodisches Gemurkse :)
Jaaaa, Dieter!
S5! Ganz ohne S7-Pointer und kein K(r)ampf mit temporären Variablen! Das war doch herrlich, als alles noch so verblüffend einfach zu lösen war!
Leider war das einigen zu langweilig, die dann diverse Probleme erst noch erfinden mussten, die man bei S5 ganz bewusst ausgespart hatte!
Und das allerschönste: mit B MWxxx oder B DWxxx konnte man auch indirekt DBs (und DXs) öffnen - ganz ohne irgendwelche Tricks.

Hätte Siemens nicht die Auswertung der Operanden der Anweisungen B MWxxx und B DWxxx bei Anwendung auf D, DL, DR, DW und DD künstlich(!) auf das niederwertige Byte kastriert, so hätte man ganz ohne ins BetriebsSystem abtauchen zu müssen, problemlos in DBs und DXs die Daten jenseits von DW255 nutzen können. Da die zulässige Länge der DBs und DXs ohnehin nach und nach immer weiter aufgebohrt wurde (bis so ca. 4000 DWe oder war's noch mehr?), wäre es ein logischer und problemlos realisierbarer Schritt gewesen, diese hinzugekommenen Bereiche wenigstens für die indirekte Adressierung freizugeben, um sie überhaupt nutzen zu können.

Aber mit Sicherheit war der Umstieg auf S7 mitsamt der Pointerifizierung bereits so fest eingeplant, dass man das Risiko nicht eingehen wollte, die LebensDauer von S5 um weitere 10 oder 20 Jahre zu verlängern. ;)
 
Zurück
Oben