Step 7 Datenbaustein erweitern

volki.78

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moinsen zusammen,
bin die Suche nun schon mehrmals durchgegangen, bin allerdings nicht fündig geworden.
Falls es das Thema doch schon mal aufkam, wäre ich über den Link sehr dankbar.
Ich habe aktuell ein S7 Projekt bei dem ich einen Datenbaustein “erweitern“ muss.
Habe mal ein Bild mit dem DB beigefügt.

Dieser geht bis .DBX2.7
Kann ich nun einfach in die nächste Zeile springen und mit der Beschreibung fortfahren und die Durchnummerierung erfolgt von alleine oder gibt es da etwas zu beachten?
Und dann “Datenbaustein initialisieren“ und das ganze läuft?

Gruß
Markus
 

Anhänge

  • Datenbaustein.JPG
    Datenbaustein.JPG
    141,8 KB · Aufrufe: 131
Ja, das kannst du so machen. Die Nummerierung ganz vorne macht das System, die Symbolik kannst du nach belieben vergeben.
 
Wenn du mal mit nem Sollwert DB zu tun hast in dem Werte drinstehen für ein System, und du diesen erweitern willst ist es ratsam erst denn DB von der Online Version in die Offline Version zu kopieren, danach die zusätze reinzuschreiben und dann wieder hochladen. So gehen keine "alten" gespeicherten Daten verloren welche nicht immer gleich sein müssen mit der Offline Version die du hast (Ist mir nämlich mal Passiert). Nur zur Info!!
 
Online Editieren eines DB

Was auch noch funktioniert, ist das online Editieren eines DB. Dazu wird der DB mit der dritten Taste von links in der Online-Ansicht geöffnet, dann bearbeiten und abschließend speichern und übertragen.

DB online editieren.jpg

Gruß
Buschmann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
habe zwei Fragen zu dem Thema Datenbausteine.
Soweit das hier behandelt wurde verstehe ich das allerdings noch nicht so ganz, daher beschreibe ihc mal mein Vorhaben.

Ich habe mir in einem allgemeinen Funktionsbaustein Zähler erstellt die, den Zählerwert in Merkerworte transferieren.
Bedeutet MW 700, MW 702 usw.
Nun sollen die Werte, die in den Merkerworten stehen, an einen DB gegeben werden um sie dort weiter verarbeiten zu können.
Meine 1. Frage ist nun:
Kann ich in dem “FB12“ in dem die Zähler programmiert sind, diese dem DB zuweisen?
Sprich würde das z.B. dann so funktionieren:
U MW700
= DB203.DBW110
U MW702
= DB203.DBW112
usw.
Oder muss ich das im existierenden FC 203 machen?

Die 2. Frage:
Mein DB 203 hat bei “Adresse =110“ END_STRUCT drinstehen.
Erweitert dieser sich “automatisch“, wenn ich die Programmierung wie oben vornehme, oder muss ich den erst einmal vergrößern um weitere freie Adressen zu haben?

Schönen Gruß
Rasmuss
 
Hallo zusammen,
habe zwei Fragen zu dem Thema Datenbausteine.
Soweit das hier behandelt wurde verstehe ich das allerdings noch nicht so ganz, daher beschreibe ihc mal mein Vorhaben.

Ich habe mir in einem allgemeinen Funktionsbaustein Zähler erstellt die, den Zählerwert in Merkerworte transferieren.
Bedeutet MW 700, MW 702 usw.
Nun sollen die Werte, die in den Merkerworten stehen, an einen DB gegeben werden um sie dort weiter verarbeiten zu können.
Meine 1. Frage ist nun:
Kann ich in dem “FB12“ in dem die Zähler programmiert sind, diese dem DB zuweisen?
Sprich würde das z.B. dann so funktionieren:
U MW700
= DB203.DBW110
U MW702
= DB203.DBW112
usw.
Oder muss ich das im existierenden FC 203 machen?

Die 2. Frage:
Mein DB 203 hat bei “Adresse =110“ END_STRUCT drinstehen.
Erweitert dieser sich “automatisch“, wenn ich die Programmierung wie oben vornehme, oder muss ich den erst einmal vergrößern um weitere freie Adressen zu haben?

Schönen Gruß
Rasmuss

Da frage ich mich, wieso du den umweg über die Merker gehst, und die Daten nicht direkt in einem DB speicherst, oder aber die Daten in den Merkern weiter verarbeitest. Da du ohnehin in einem FB arbeitest, bietet sich der Instanz DB an, womit sich dann auch Fage 2 erledigt hätte.

Andernfalls: Der DB erweitert sich nicht von selbst. Du wirst den zu schreibenden Bereich festlegen müssen, sonst wird dein Programm Fehler verursachen.
 
Zuletzt bearbeitet:
Das kannst du machen, Möglichkeiten gibt es immer viele. Statt mit den Merkern kannst du dann auch gleich mit den DB-Daten arbeiten.
Wenn du das ohnehin in einem FB machst, würde ich die Merker durch statische Variablen ersetzen.

Die Syntax ist anders:

L MW700
T DB203.DBW110
L MW702
T DB203.DBW112
 
Zuletzt bearbeitet:
Moin zusammen und danke für die Antworten.
Also die Werte von den MW`s müssen in den DB203, da dieserfür die Visualisierungssoftware reserviert ist um die Werte dort darstellen zukönnen.
Wenn ich das aber soweit verstanden habe, bedeutet das, das inmeinem Fall die Zuordnung im FB 203 vorzunehmen ist?
PS: Wo/Wie kann ich denn nachschauen wie groß mein DB ist, bzw.wieviel Platz noch in meinem DB frei ist?

Gruß Rasmuss

 
Zuviel Werbung?
-> Hier kostenlos registrieren
FB203 nur, wenn der auch existiert und du den DB203 als Instanz-DB dafür angegeben hast.
DB können auch einfach ohne FB global angelegt werden.
Dann einfach Doppelclick auf den erzeugten DB und die gewünschten Daten eintragen.
 
Moin zusammen und danke für die Antworten.
Also die Werte von den MW`s müssen in den DB203, da dieserfür die Visualisierungssoftware reserviert ist um die Werte dort darstellen zukönnen.
Wenn ich das aber soweit verstanden habe, bedeutet das, das inmeinem Fall die Zuordnung im FB 203 vorzunehmen ist?
PS: Wo/Wie kann ich denn nachschauen wie groß mein DB ist, bzw.wieviel Platz noch in meinem DB frei ist?

Gruß Rasmuss

Wenn du deinen FB aufrufst wird für diesen eine Instanz angelegt, welche als DB aufrufbar ist. In diesem DB werden alle Variablen gespeichert, welche in deinem FB verwendet wurden. Ein Umweg über Merker ist in keinem Fall notwendig, da die Werte die du haben möchtest im InstanzDB schon zur Verfügung stehen.

Edit: mal ein Beispiel aus TIA: Erst die Deklarationszeile des FB, dann der InstanzDB, welcher nach dem aufrufen generiert wird. FB.jpgDB.jpg

Edit2: Merker habe ich Quasi aus meinem Wortschatz gestrichen. Warum soll ich speicher selber verwalten? Steinzeittechnik....
 
Zuletzt bearbeitet:
Musste da extra ein alter Thread rausgekrammt werden?

Wenn du die Werte in einem speziellen Visualisierungs-DB (DB203) benötigst, macht es keinen Sinn, dies im FB zu versuchen.
Jeder Aufruf des FBs erzeugt einen neuen DB.

Du kannst entweder die Merker durch die DB-Adressen ersetzen, oder wie im Post #8 umkopieren.
 
Moin zusammen.
Vieln Dank nochmal für die Ratschläge und Hilfe hier.
Die Umsetzung hat gestern funktioniert und es läuft wie gewollt.

Schönen Gruß
Rasmuss
 
Zurück
Oben