# Kann mir das jeman erklären ?



## Pockebrd (9 Juni 2010)

Hallo,
anbei hab ich ein Teil von einem Programm. 
Dabei bin auf was gestoßen was ich nicht recht verstehe.
Was für ein Hintergrund hat es mit den DB5.DBX auf sich.
Kann mir das mal jemand versuchen zuerklären ?
DB5 heißt ja Datenbaustein 5. Aber was ist das DBX, und dann kommt noch mal 5.0 ?
Hätte ich das nicht auch mit Merkern machen können ?







> Netzwerk 1    NOT AUS
> U „E1.2“                  E1.2                  --Not Aus
> = DB5.DBX    5.0
> 
> ...


----------



## marlob (9 Juni 2010)

Das ist das Datenbit 5.0 im Datenbaustein 5
Vergleichbar mit Merkern (sind beide vom Typ Bool)


----------



## marlob (9 Juni 2010)

Hier mehr über Datenbausteine


----------



## Manfred Stangl (9 Juni 2010)

X ist die normierte Bezeichnung eines bits. Oder zumindes so ähnlich.
So wie B für byte


----------



## Pockebrd (11 Juni 2010)

Hallo,
und was hatte der Programierer für Vorteile im gegensatz zu Merkern ?
Im DB5 hat er nicht Bool sonder Wort verwendet.


Gruß


----------



## 4nD1 (11 Juni 2010)

Merker hast du nur eine bestimmte Anzahl zu Verfügung. Max Anzahl bei einer S7-300 sind glaube 120(bin mir aber nicht 100% sicher).

DBs kannst du soviele verwenden wie du willst. Der größte Vorteil ist aber für Anlagenentwickler das sie den DB einfach kopieren können wenn sie eine ähnliche Maschine programmieren müssen. Sie schreiben die Bezeichnung anders und ergränzen/entfernen Varibalen. Und schon ist die Maschine Fertig. Ein weiterer Vorteil ist das du durch die Verwendung eines DBs gleich die Varibalen für eine HMI Station nuten kannst und diese dann nicht extra in einem DB schreiben musst.


----------



## jabba (11 Juni 2010)

4nD1 schrieb:


> Merker hast du nur eine bestimmte Anzahl zu Verfügung. Max Anzahl bei einer S7-300 sind glaube 120(bin mir aber nicht 100% sicher).


Ist abhängig von den Leistungsdaten eine CPU aber mindestens 256 Byte



4nD1 schrieb:


> DBs kannst du soviele verwenden wie du willst.


Auch die Anzahl ist begrenzt (aber schwer zu erreichen) .
weiterhin ist die bausteingröße begrenzt.

CPU 315-2 Dp z.B. 1024 DB's mit maximal 64kB (Ab Firmware 3)


----------



## wolder (11 Juni 2010)

HMI-Stationen können auch direkt die Merker verwenden und auch recht einfach, sofern sie in der Symboltabelle vorhanden sind.

gruß wolder


----------



## Pockebrd (12 Juni 2010)

Hallo,
ok, konnte es etwas nachvollziehen. Das der Programmieren im 
DB5   als Typ Word mit Anfangswert W#16#0 verwendet hat spiel keine Rolle, er hätte dann auch Typ Bool verwenden können ? 

Im DB5 seh ich ja die Adressen +0.0.....+2.0...+4.0....+6.0....,wo ´Name, Typ, Anfangswert dahinter steht, und trotzdem kann ich DB5.BDx 5.1 verwenden ?


PS: Was heißt HMI ?


Gruß


----------



## crash (12 Juni 2010)

Pockebrd schrieb:


> PS: Was heißt HMI ?
> Gruß



*H*uman *M*achine *I*nterface


----------



## Ralle (12 Juni 2010)

Pockebrd schrieb:


> Hallo,
> ok, konnte es etwas nachvollziehen. Das der Programmieren im
> DB5   als Typ Word mit Anfangswert W#16#0 verwendet hat spiel keine Rolle, er hätte dann auch Typ Bool verwenden können ?
> 
> ...



Korrekt. Ist natürlich schöner, wenn man die Variablen so deklariert, wie man sie dann auch nutzt. Geht aber leider nicht immer, wenn man Word- und Bit-Zugriffe auf ein und die selbe Variable nutzt, z.Bsp.


----------



## o_k_f (30 Juni 2010)

Hallo, der Vorteil von DB´s ist noch, dass sie remanent sind.:TOOL:


----------



## Nordischerjung (1 Juli 2010)

o_k_f schrieb:


> Hallo, der Vorteil von DB´s ist noch, dass sie remanent sind.:TOOL:



Aber, das kannst du doch mit Merkern auch machen


----------



## TommyG (1 Juli 2010)

Was ich 

prima an der Lösung mit den DB's finde, ist, dass Du bunt mischen kannst, also z.B.db5dbd0- 16 mit analogwerten belegen kannst, 18- 32 mit z.B Prozesswerten, aber im word Format also db5dbw18 mit und weitere dann als Bitsammler arbeiten. 

Also der DB5DBX34.0- 34.7 z.B die Wasserpumpe mit allen Stati belegt, und alles in einem DB zu finden ist. 

Wenn dann auch noch die DB's vernünftig benant werden, hast Du als Progger alle Infos parat. 

Ich empfinde diese Art als prim Interface zwischen dem was in der Maschine stattfindet, und dem was Du übergeben willst. 

Ob es jetzt eine andere MAschine, ein HMI oder eine Visu ist, shitegal, den DB 'sichtbar' machen, und habe fertig...

Greetz, Tom


----------

