Step 7 Datenbaustein Adressensprung ausschalten?

erzteufele

Level-2
Beiträge
738
Reaktionspunkte
167
Zuviel Werbung?
-> Hier kostenlos registrieren
hey,... mich ärgert des manchmal und dann mache ich das immer ein bissel anders aber jetzt will ich das ned machen :D deswegen die Frage ob ich den adressensprung welcher mit der editor macht irgendwie ausschalten kann?

also wenn ich z.b. ein paar bool variablen habe der letzt endet bei 2.7 nun erstelle ich aber ein dint fängt dieser nun bei 4.0 an ich will aber das der bei 3.0 anfängt!!! so wie es sich gehört grml... :ROFLMAO: bekomm ich das irgendwie hin oder ist die funktion fest von siemens verbaut?!


grüßel erzi

bsp. bild:
datensprung.jpg
 
Hallo erzi.

a) Ich kann mir nicht vorstellen, dass man hier Einfluss nehmen kann.
b) Wird hier allen Anfängern gebetsmühlenartig erklärt, dass man bei byteübergreifenden Variablen keine "ungeraden" Adressen verwenden sollte. Ungewollte Überschneidungen sind dann schnell passiert...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
der nicht-aligned Zugriff ist mal beim 8088 von Bedeutung gewesen, als man Speicherplatz sparen wollte. Mit dem 8086 kam der 16-Bit-Datenbus hardwareseitig, da wurden dann die Daten bevorzugt aligned ausgerichtet, um den Nachteil von zwei Zugriffen bei ungerade gelegten Adressen vermeiden zu können.

Ich vermute, das war bestimmt auch zu S5-Zeiten mal so, weil da die DBs nicht byteweise, sondern wortweise organisiert waren.

Mal schaun, ob sich da wieder was ändert, sodass in der 1500er vielleicht 32-bit-Hardware stecken könnte.
 
Das scheint zu sein wie es ist...

Vorschlag:

Mach der en Schoppe ins Dubbeglas unn denk net driwwer noch...

dtsclipper
 
ich sag mal so, was soll der undefinierte 1byte speicherbereich da zwischendrin? :p den kann man ja sogar benutzen ohne das was meckert... naja dann mach ich halte wieder 4 byte´s hintereinander und schieb die wieder rum :D
 
... das ist halt etwas (wie die Anderen schon geschrieben haben), dass im System so festgelegt ist und (ob nun sinnvoll oder nicht) so ist, wie es nun mal ist.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es ist nicht sinnfrei. In anderen Programmierumgebungen/Sprachen werden für einen Wahrheitsgehalt eines Bites sogar Wörter verheizt, weil die Hardware nunmal so aufgebaut ist mit 16-Bit-Datenbus und das rausfiltern des Bits nur unnötigen Zeitaufwand bedeutet.
 
Das ist mir bekannt (das ist eigentlich bei alle PC-basierten Programmier-Umgebungen - z.B. Codesys etc. so).
Das steht hier aber auch nicht zur Diskussion - und darüber hinaus gilt auch da : das ist eben so ...

Gruß
Larry
 
Mist, jetzt muss ich hier schon Siemens-Software verteidigen:

Alignte Zugriffe sind auf allen (modernen) Plattformen schneller als nicht-alignte.
Und auf manchen Prozessoren (ARM) endet der Zugriff in einer Exception.

Bei Codesys bekommst du die lokalen Adressen nicht zu sehen, dann musst du dich auch nicht über die Platzverschwendung ärgern.
 
Zurück
Oben