Frage zum Vorgehen - Datenbaustein-

RS83

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

erstma ist es ja super das es so ein gut besuchtes Forum gibt über S5/S7 ;)

Ich habe ein paar Fragen zu Strukturen bzw wie man das umsetzen könnte!

Über eine Analogbaugruppe nehme ich verschiedene, festgelegte Werte auf! Die festgelegten Werte müssen im Datenbaustein vorhanden sein! Es soll also verglichen werden ob es den Wert gibt! Wenn der Wert vorhanden ist, muss ich mit dem gefunden Wert weiterarbeiten und die cpu soll sich merken, dass der Wert einmal da war! Genutzt werden soll das ganze für eine Einsortierung in einem Magazin. Für die Ausgabe muss der gemerkte Wert dann wieder zurückgenommen werde! Als Hardware habe ich eine 315-2DP und ein TP270! Zu meiner Frage! Mit WinCC flex kenne ich mich noch nicht all zu gut aus und bin da am lernen! Aber welche Struktur bzw. wie würdet ihr das Problem lösen mit Step7? Kann man das nicht evtl auch über Rezepturen mit WinCC machen? Ich freu mich über eure Ideen!

Schöne Grüße
 
Ich werde zwar nicht ganz schlau, aus deiner Erläuterung, aber mal ein paar Gedanken.

Analogwerte sind ja nie genau, also denke ich, du mußt ein Fenster bilden.

1. Konventionelle Art:
Du hast 20 Einträge im DB für deine Werte. Die können durchaus aus einem Rezept stammen. Du bildest für jeden Wert mit einer Fensterkonstanten ein Fenster. (Am Besten ein Baustein) Dann hast du aus 20 Fenstern einen Wert, der deine Bedingungen erfüllt und kannst mit dem wwiterarbeiten.

2.indirekte Adressierung:
Du bidest ein Fenster in einer Schleife. Die Schleife läuft durch alle Werte in deinem DB, wenn ein Fenster erkannt wird, weißt du durch die Zählvariable, welche Wert das ist und kannst mit diesem weiterarbeiten.

Wie du das mit dem Merken und zurücksetzen genau meinst, kann ich nicht aus deiner Erklärung erkennen. Werden viele Teile an der Position dieses Wertes abgelegt und du merkst dir das, bis das magaziniert ist oder wie ist das genau gemeint?
 
Super vielen Dank für die schnellen Antworten!

Das Analogwerte nie gleich sind, weiß ich ja! Aber ich runde die beim messen auf und somit sind sie gleich!

Das was Ralle ansprach mit der indirekten Adressierung habe ich schon umgesetzt mit dem FC86 "table find".
Nu müsste die CPU noch merken, das dieser Messwert schon mal gekommen ist. Also mit dem gefunden Wert noch mal Zählen usw..

Habe nur gesehen, das man in Win CC mehrere Datensätze bei den Rezepturen anlegen kann! Nur bekomme das noch nicht hin, dass er mir die Datensätze verändert über die CPU! Vll kann mir da ja jemand auf die Sprünge noch weiter helfen!

Vielen Dank
 
wie Du rundest, check ich nicht?
Du liest einen Wert ein, der ist zwischen
0 und 27648 Normbereich, wie rundest Du nun- auf 10er oder 100er?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nu müsste die CPU noch merken, das dieser Messwert schon mal gekommen ist. Also mit dem gefunden Wert noch mal Zählen usw..

Du hast einen DB mit Datenfelder (gerundet)
0
100
200
300
400
....
27600

also zB 276 mögliche Werte

Wenn Du nun einen Analogwert von 5600 einliest dann heisst das ja Kasterl 56 (wozu der VergleichsDB in der CPU?)

Also Analogwert / 100
SLD 4 (Pointer für Wortadresse in einem DB)

wäre die Adresse wo Du zB die Stückzahl hochzählen könntest.
 
Vermesse verschiedene Bauteile mit einem Laserabstandsensor! Bei gleichen Teilen ist der Wert dann immer gleich. Um kleine Toleranzen und Schwankungen vom Wert zu vermeiden, runde ich diesen Wert dann! Bevor ich runde, skaliere ich die Werte mit dem FC105!
 
Das was Ralle ansprach mit der indirekten Adressierung habe ich schon umgesetzt mit dem FC86 "table find".
Nu müsste die CPU noch merken, das dieser Messwert schon mal gekommen ist. Also mit dem gefunden Wert noch mal Zählen usw..

Habe nur gesehen, das man in Win CC mehrere Datensätze bei den Rezepturen anlegen kann! Nur bekomme das noch nicht hin, dass er mir die Datensätze verändert über die CPU! Vll kann mir da ja jemand auf die Sprünge noch weiter helfen!

Vielen Dank

FC86, kenn ich nicht. Wenn du das von Hand machst, kannst du deinen Zählwert auch noch in diesen DB reinschreiben:

DW0 - Wert1
DW2 - Zählwert1
DW4 - Wert2
Dw6 - Zählwert 2
...

Wozu willst du denn die Ist-Zählwerte in das Rezept schreiben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ne will ich nicht unbedingt! Ich wollte nur mal wissen wie ich allgemein Datensätze /werte von WinCC Abfrage von den Rezepten zu Step7! Ich muss da einfach noch bisschen rumbasteln! Aber du hast mich schon ein bisschen auf dem Weg gebracht :)
 
Zurück
Oben