Unterschiedliche Zugrifszzeiten auf DB können vorkommen
Dies
Code:
AUF DB5
U DBX 0.0
U DBX 0.1
= DBX 0.2
ist schneller als dies
Code:
U "Datenbaustein".Wert_1 //DB5.DBX0.0
U "Datenbaustein".Wert_2 //DB5.DBX0.1
= "Datenbaustein".Wert_4 //DB5.DBX0.2
Die Grösse eines DB hängt auch davon ab, wie man ihn deklariert. 16 bool-Variablen benötigen mehr Platz als eine Word-Variable
Siehe auch Siemens-FAQ
Vielen Dank - das war sehr aufschlussreich!
Habe testweise mehrere DB's angelegt und einfach nur das erste Wort benutzt - folgendes ist dabei herausgekommen:
array[1..16] of bool - braucht 100Byte Ladespeicher
array[1..1] of bool - braucht 100Byte Ladespeicher
EINE Bool-Variable braucht 86Byte Ladespeicher
EINE Byte-Variable braucht 86Byte Ladespeicher
EINE Word-Variable braucht 86Byte Ladespeicher
EINE DWord-Variable braucht 88Byte Ladespeicher
array[1..32] of bool - braucht 102Byte Ladespeicher
Das oben stehende soll nur die Differenzen aufzeigen. natürlich braucht nicht jedes Array of bool 100Byte Ladespeicher. Dort enthalten ist ja auch die Grundstruktur des DB.
Danach habe ich noch ein bißchen experimentiert und folgendes herausgefunden:
Array of bool zusätzlich 14Byte
Array of byte zusätzlich 14Byte
Array of word zusätzlich 16Byte
Array of dword zusätzlich 18Byte
jede eingefügte Zeile egal ob Bit, Byte, Word, DWord benötigt zusätzlich zum Datenbereich nochmal 2Byte im Ladespeicher