Daten verschieben

puehri

Level-2
Beiträge
44
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

hätte da mal eine Frage wie ihr das machen würdet.

Ich habe auf einer Anlage ewig lange Segment-Bänder. Auf jedem Segment kann ein Werkstück liegen. Ich bekomme für jedes Werkstück das auf das Band reinläuft einen Datensatz in einem DB der 236 Byte gross ist. Es muss für jedes Segment ein Db mit dieser Struktur vorhanden sein.

Jetzt meine Frage: wenn ich das Werkstück jetzt von einem Segment zum anderen takte muss ich den Inhalt von dem einem DB in den nächsten kopieren und anschliessen den Db löschen.
Gibts da einen fertigen Baustein von Siemens mit dem man Daten verschieben kann??
Ich hätte den SFC20 genommen zum kopieren und dann den SFC21 zum löschen aber das ist ja ziemlich aufwendig.

Bin gespannt auf Eure Ideen oder Denkanstösse.

Danke schon mal für die Hilfe

mfg

Andy
 
verschieben

Hallo,

wieso schiebst du nicht "laufende Nummern" durch und hälst die Daten dafür in einem Datenregister? Such mal nach DAT_REG.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vorschrift vom Kunden ist das für jeden Platz ein DB mit der Struktur des Werkstücks vorhanden sein muss. Uasserdem können sich theoretisch auf jedem Platz die Daten verändern (Werkstückzustand, Transportziel, Fehlercodes.......)
 
Was passiert, wenn der DB gelöscht wurde und ein Werkstück nun in dieses Segment reinläuft? Wird er DB dann wieder angelegt?
Grundsätzlich würde ich mir hier auch eine andere Strategie überlegen. Statt Löschen würde ich den Inhalt des DBs als ungültig erklären. Damit entfällt das dauernde Löschen und Erzeugen schon einmal. Desweitern ist die Frage, ob der Kunde nicht dazu zu bewegen ist, dass alle Segmente innerhalb eines großen DBs liegen. Die Veränderbarkeit ist dadurch auch gegeben. Und welche Daten von wo nach wo kopiert werden ist genauso einfach festzulegen und zu realisieren wie zwischen den verschiedenen DBs.
Welchen Vorteil oder Grund hat die Aufteilung in verschiedene DBs?
 
Ich würde wie sps-concept vorgehen, das läuft ja der Vorschrift deines Kunden nicht entgegen, jedes Segment bekommt ja seinen DB, der wird aber bei Werkstückwechsel zugewiesen. Das erspart dir die ganze Umkopiererei, im DB-Kopf steht eine Werkstücknummer und die aktuelle Segmentnummer, für die der DB gerade zuständig ist. Alternativ kannst du auch einen "Master-DB" anlegen, in welchem für jedes Segment der zugehörige DB notiert ist. bei Segmentwechsel wird einfach die DB-Nummer dem entspechenden Segment zugeordnet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
War leider auf Geschäftsreise darum hatte ich keine Zeit zu antworten.
Das Problem ist das die DBs in einer Visualisierung des Kunden fest eingetragen werden müssen. (z.B.: Segment 1 --> DB400. Seg. 2 DB401.......) DA diese Daten in der Visu auch immer angezeigt werden muss ich den Inhalt von DB zu DB kopieren und die Quelle dann löschen damit hier keine Fehlanzeigen Zustande kommen.

Jetzt möchte ich dieses kopieren und löschen möglichst einfach und universell Ausführen. Vielleicht hat ja wer eine Idee wie dieser Vorgang am einfachsten und vorallem am sichersten zu lösen ist da ja auf keine Fall Daten verloren gehen dürfen.
 
So sieht's normalerweise aus.

Ich mach solche "Schiebefunktionen" immer in SCL. Dabei halte ich alle "Stationen als Structur" bei dir Segmente in einem Datenbaustein. Und wenn es soweit ist wird mittels Schleife kopiert (beginnend mit dem letzten) und der Fall ist erledigt. Was ist eigentlich wenn in einem Segment was entnommen wird? Ich habe da immer einen "Stations Status Reset" Sprich ich fülle die entsprechende UDT mit den entsprechenden Daten. Wenn du es so machst dann übergibst du dem jeweiligen FB als InOut Deinen Global-Db in dem alle Stationen abgelegt sind. Dann übergibst du als in noch deine Segment-Nummer und du kannt's jedes einzelne Segment anhand des Index mit einer SCL funktion bearbeiten. irgendwo am Ende deines Ob1 verteilst du die einzelnen Segmente an die Empfänger...

Wenn du Scl-Denkanstösse brauchst -> E-Mail...

Gruß, Christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antworten.
Werde mir eine Funktion in einenm FC zusammenstellen mit der ich die Kopier und Löschfunktion durchführe.

SCL ist leider in der Vorschrift unseres Kunden nicht erlaubt daher scheidet diese Möglichkeit aus.

Schönen Tag noch
 
Zurück
Oben