DB mit SFC automatisch erweitern

Thommy07

Level-1
Beiträge
46
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

hab mal ´ne Frage! ich möchte in unseren Anlage wie eine Art Störmeldearchiv aufbauen. Meine Frage ist gibt es in S7 eine Möglichkeit einen Db dynamisch zu erweitern?
Folgendes habe ich mir gedacht:
Wenn eine Störung auftritt fügt diese über SCL einen UDT in den DB ein und schreibt dort die Störnummer und die Störanfangszeit ein. Geht das in S7 überhaupt, da ich ja beim generieren normalerweise die Größe des DB vorgebe. :?:

Vielen dank für Eure Antworten Thomas!
 
Hallo Thommy,
es geht wahrscheinlich, wenn du einen neuen DB erzeugst, der um ein Datenfeld größer ist als der alte. Dort kopiert du via Blockmove den Inhalt des alten DB's hinein und dananch (oder davor) den neuen Datensatz, dann löscht du den alten DB, erzeugst ihn neu mit der richtifen Länge und schreibst via Blockmove den Inhalt des Zwischen-DB's wieder dorthinein und löscht dann den Zwischen-DB.

Das wäre mir aber zu umständlich ...
Ich würde den DB gleich so groß machen, wie er maximal sein kann (CPU-abhängig) bzw. wie du ihn ggf. brauchst. Dann merkst du dir im Kopf des DB den letzten belegten Eintrag und nimmst das als Basis um dann eine Position weiter deinen neuen Datensatz hinein zu schreiben. Das wäre eine schöne Aufgabe für einen FB, der das dann ja auch gleich verwalten und auswerten kann.

Aber davon ab ... hast du keine Visu am Start, die das für dich erledigen könnte ?

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Larry

Hab schon einen Verwaltungs FB in SCL programmiert, der die Störeinträge mit Zeitstempel kommt und geht, sowie Störnummer in einen DB schreibt. Das funktioniert perfekt (in PLC Sim). Dachte bloß es wäre toll wenn ich die DB Größe dynamisch an meine Störungen anpassen könnte! Schließlich weiß ich ja nicht im Vorraus weiß wieviele Störungen pro Tag auftreten. Aber die Idee mit Blockmove ist gar nicht schlecht. Ausgewertet wird das später mal über einen Server PC mit ACCON Link. Muß ich vorher aber noch Visual C# lernen (im eigen Studium).

Vielen Dank für deine Antwort sagt Thomas
 
... naja, so toll ist die BlockMove-Idee auch wieder nicht. Das Ganze würde deine CPU ganz schön beschäftigen ...
Denk aber bitte auch daran, dass die DB-Größe nicht beliebig ist ...

Gruß
LL
 
ralle hat dazu gesagt:

@4L

Ja klar, man kann immer viel mehr tun als Sinn macht! Das ist dann in den Programmen zu sehen, die teilweise so in SPS-en rumschwirren und Instandhalter und Produzenten zum verzweifeln bringen. :ROFLMAO:

... leg dir einfach den datenbaustein mit maximaler länge an! ... anzahl der einträge kannst du in einer schleife ermitteln ...
 
Zurück
Oben