Verständnisprobleme eines Anfängers

Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute!

Beim Durchstöbern von Programmbeispielen sind mir zwei Sachen aufgefallen die ich nicht verstehe.
1) SLD 3, damit soll ein Pointer-Format erzeugt werden? Das ist doch lediglich eine Schiebeoperation um 3 Stellen, was hat das mit Pointern zu tun?
2) = DBX [ar1,p#0.0]..Ok, Adresse die im Adressregister steht mit Versatz mit dem Pointer angegeben. Aber..wieso DBX? Was bedeutet DBX?

Kann mir das jemand erklären? Wäre ich echt dankbar.
 
Zu 1. Das ist tatsächlich nur ein verschieben in diesem Fall ein positionieren.
alles wird um 3 bit nach links verschoben.
Zu 2. DBX ist ein bit eines Datenwortes. zB. DB1.DBX0.0 ist das "rechteste bit des Datenwortes.
Schreib dir mal einen Datenbaustein mit einem Wort ( oder INT ) und dann mit BOOL dann sieht man es schön.

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mahlzeit,

zu 1.) Schau dir mal das Pointerformat in der Step7 Hilfe an ist dort sehr anschaulich beschrieben.
Dann wirst du sehen das die niedrigsten Bitstellen (0-2) für die BitAdresse stehen.
"SLD3" wird benötigt um die Byte Adresse zu erzeugen:
Code:
L 10
SLD3
T #tempPointer
Damit ist der Pointer natürlich noch nicht fertig aber die Byte.Bit Adresse wäre jetzt schon mal 10.0

zu 2.) DBX = BitStelle im Datenbaustein d.h. wird gebraucht wenn du ein einzelnes Bit im DB ansprechen willst.

DBB = Datenbausteinbyte; DBW = Datenbausteinwort; DBD =Datenbausteindoppelwort
 
Hallo,
Pointer arbeiten bei der S7 auf Bit-Basis ...
Das Verschieben um 3 entspricht einem Multiplizieren mit 8. Dadurch wird die Byte-Adresse auf den Bit-Pointer umgerechnet ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zitat Beginner:

1) SLD 3, damit soll ein Pointer-Format erzeugt werden? Das ist doch lediglich eine Schiebeoperation um 3 Stellen, was hat das mit Pointern zu tun?

Das mit dem Schieben ist durchaus richtig, jedoch ist das mit dem Pointer unter Step7 so aufgebaut, das sich in dem entsprechenden Bereich noch drei Bits befinden, mit dem die Bitadresse festgelegt wird. Danach folgt dann die Byteadresse. Um aus dem Bitbereich "herauszukommen" wird i.a. die Byte-Zieladresse geladen, und dann um 3 verschoben. So passt dann die Adresse. Sieh Dir mal in der Doku mal das Pointerformat an, dann weisst Du, was gemeint ist.

[Simatiker war schneller]
 
Zuletzt bearbeitet:
Zurück
Oben