@question_mark: Ich denke wenn, hoilebolle in der Lage war, eine Schrittkette für eine Roboter-Steuerung zu programmieren und außer U,O,UN u = offenbar auch mit Arithmetik-Befehlen gearbeitet hat, dann braucht er nicht die Literatur seit Erschaffung der Welt nachzuarbeiten...
Ich gehe also mal davon aus, daß du nur nicht weißt was es mit DBs auf sich hat (manche Steuerungen kommen ja auch ohne aus):
DBs erweitern den begrenzten Speicherbereich der Merker.
Weil einiges historisch von der S5 herkommt, zunächst grob das, was auch für S5 stimmt (ohne Anspruch auf Vollständigkeit):
Einen DB legst du irgendwie an, z.B. im DB-Editor oder durch kopieren von einem anderen DB oder durch übertragen vom PG. Danach belegt er in der SPS soviel Speicher wie er lang ist und hat entsprechend viele Datenbytes, die du nutzen kannst.
Um ihn zu nutzen, mußtest du ihn erst "aufschlagen":
A DB 4 //(S5) ab jetzt beziehen sich alle Befehle mit Datenbytes/-worten auf DB 4
AUF DB 4 //(S7) ab jetzt beziehen sich alle Befehle mit Datenbytes/-worten auf DB 4, sofern nicht explizit anders angegeben
Nun kannst du auf die Daten zugreifen:
L D(B)W 0 //lade das 1.Datenwort
T MW 4 // und speichere es in MW4
L MW 6 // lade MW6 das atenwort
T D(B)W 4 // un speichere es im 4. Datenwort
Das B in () ist für S7.
Die S7 kann nun auch mit anderen als dem "aufgeschlagenen" DB arbeiten:
L MW 6 // lade MW6 das atenwort
T DB26.DW 4 // un speichere es im 4. Datenwort des DB26
Natürlich kann man sie auch direkt in logischen Anweisungen ansprechen:
L MW 6 // lade MW6 das atenwort
U DB26.DW 4 // verknüpfe mit Bitmuster im 4. Datenwort des DB26
Man hätte natürlich auch einfach den Merker-Speicher vergrößern können. Das Konzept stammt aus einer Zeit, als bei den verwendeten Mikroprozessoren paging und segmentierte Adressen verwendet wurden, um den ursprünglich zu klein dimensionierten Adressraum zu erweitern. Bei der S5 waren DB-Zugriffe denn auch deutlich langsamer als Zugriffe auf Mx.
Sie haben sich aber als Hilfsmittel durchgesetzt, um den Speicher zu strukturieren:
Wenn du drei gleiche Roboter hast und steuerst, könntest du die Schrittkette des einen in DB1, die des nächsten in DB2 speichern.
Bei deinem Teach-In bietet sich vielleicht an, die Teach-Werte für verschiedene Abläufe in verschiedene DBs zu packen.
Wenn du drei gleiche Roboter hast und steuerst, kannst du dafür einen FB schreiben und bei der S7 dem FB-Aufruf "seinen" DB als Instanz-DB zuordnen. Dazu entweder Literatur oder Hilfe zu Step7.