Wieviel Gleitpunktzahlen 32bit passen rein?

tino2512

Level-1
Beiträge
86
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöle

Wieviel Gleitpunktzahlen 32bit passen in einen Datenbaustein, wenn ich eine CPU 313C habe. laut Datenblatt ist der Arbeitsspeicher 64KByte groß.
Aber ein Datenbaustein wird doch sicher in seiner Größe begrenzt sein, oder?
Muß ich die Zahl als Doppelwort abspeichern?

Bsp. : T DB10 DBDW ????


gruß tino
 
Zuletzt bearbeitet:
Die maximale Größe des Datenbausteins bei einer 313C-2DP ist
16384 Byte (16 kByte) also 4096 Real-Werte.

Ja aber "T DB10.DBD ???"

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja aber "T DB10.DBD ???"

Mfg
Manuel[/quote]

-------------

ich wolltedamit fragen, ob ich mit diesem Befehl die 32bit Gleitpunktzahl Zahl im Datenbaustein 10 abspeichern kann??
32bit sind ja ein Doppelword,oder nicht?

Gruß Tino
 
Ja sind es und daher musst du zum speicher auch die Doppelword "Notation" Benutzen
T DB10.DBW würde nur ein Word transferieren

T DB10.DBD Transferiert hingegen ein Doppelword
 
Habe das nur geschrieben weil du

T DB10.DBDW

geschrieben hast und das letzte W da einfach zuviel ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöle

Wieviel Gleitpunktzahlen 32bit passen in einen Datenbaustein, wenn ich eine CPU 313C habe. laut Datenblatt ist der Arbeitsspeicher 64KByte groß.
Aber ein Datenbaustein wird doch sicher in seiner Größe begrenzt sein, oder?
Muß ich die Zahl als Doppelwort abspeichern?

Bsp. : T DB10 DBDW ????


gruß tino


Also ein Datenwort hat natürlich 4 Byte an Daten.
Daz noch 36 Byte für den Baustein selbst.

Macht für 1000 Datenwörter zum Beispiel 4000 für die Daten + 36 für den Baustein also 4036 Byte.
Für den Ladespeicher (Also die 16kb die du in der CPU hast zum beispiel) Belegt er beim Aufruf allerdings immer so ca das 1,5 Fache + noch paar Byte fü rigned eien Adresse. Also so bissel über 6000 Byte dann.

Bitte korregiert mich wenn ich flasch liege. aber in deine CPU kannst du dann aller maximal ca. 10000 Datenwörter laden.

Hast du wirklich eine mit 64kb sind es 40000 Datenwörter.

Wenn du ein paar millionen Datenwörter hast brauchst du glaub eine S7-453. Da bin ich ma nun aber absolut ned sicher.


Hoffe es ist hilfreich und ich habe hier nun keine schmarrn erzählt.
 
Also ein Datenwort hat natürlich 4 Byte an Daten.
Ein Datenwort (DBW) hat 2 Bytes, ein Datendoppelwort (DBD) hat 4 Bytes.

Daz noch 36 Byte für den Baustein selbst.
Stimmt der Header belegt 36 Bytes. Bin mir nicht sicher, ob der für die maximale Bausteinlänge überhaupt berücksichtigt wird.

Macht für 1000 Datenwörter zum Beispiel 4000 für die Daten + 36 für den Baustein also 4036 Byte.
Richtig gerechnet wenn es sich um Doppelwörte handeln soll.

Für den Ladespeicher (Also die 16kb die du in der CPU hast zum beispiel) Belegt er beim Aufruf allerdings immer so ca das 1,5 Fache + noch paar Byte fü rigned eien Adresse. Also so bissel über 6000 Byte dann.
Das Limit ist hier wohl nicht der Ladespeicher (kann erweitert werden) sondern der Arbeitsspeicher bzw. die maximal zulässige DB-Länge.

Bitte korregiert mich wenn ich flasch liege. aber in deine CPU kannst du dann aller maximal ca. 10000 Datenwörter laden.
Bei 16 kB DB-Größe sind es allerdings die 4096 Datendoppelworte (oder 8192 Datenworte, war aber nicht gefragt).

Hast du wirklich eine mit 64kb sind es 40000 Datenwörter.
:confused: Die Rechnung geht bei mir nicht ganz auf (s.o).

Wenn du ein paar millionen Datenwörter hast brauchst du glaub eine S7-453. Da bin ich ma nun aber absolut ned sicher.


Hoffe es ist hilfreich und ich habe hier nun keine schmarrn erzählt.
:confused: :confused:
 
Zurück
Oben