Wegverfolgung (CPU 319-2DP)

Backdoor

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

Also ich hab da mal eine Frage ;)

Möchte eine Wegverfolgung für Behälter Fördertechnik realisieren, Behälter mit unterschiedlichen Längen von 1,40m bis 0,3m.
Es handelt sich dabei um einen Loop mit 4 Einschleusepunkten und 4 Ausschleuse Punkten.

Das Förderband hat nur 1 Geschindikeit.

Nun die Frage wie lässt sich das PRogrammtechnisch realisieren und was braucht man dazu alles??


LG Backdoor
 
Wegverfolgung

Hi Backdoor,
Fragen über Fragen:
- Wo liegen die Ein- und Ausschleusepunkte?
- können die Pakete auch nebeneinander auf dem Band liegen?
- welches Paket soll wo ausgeschleust werden?
- gehört das ein- und ausschleusen mit zu deinem Problem oder willst du nur wissen, wo sich ein Paket gerade befindet usw.
Lösungsansatz: Band als Schieberegister in der SPS simulieren.
MfG
und gesundes neues Jahr
eNDe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Backdoor,
Fragen über Fragen:
- Wo liegen die Ein- und Ausschleusepunkte?
- können die Pakete auch nebeneinander auf dem Band liegen?
- welches Paket soll wo ausgeschleust werden?
- gehört das ein- und ausschleusen mit zu deinem Problem oder willst du nur wissen, wo sich ein Paket gerade befindet usw.
Lösungsansatz: Band als Schieberegister in der SPS simulieren.
MfG
und gesundes neues Jahr
eNDe


Hab mir schon gedacht das ihr da noch genauere infos braucht ;)

Also häng gleich mal eine Freihandskizze von ein-ausschleusepunkten an.
Packete können nur nacheinander nicht nebeneinander liegen.
Packete bekommen nach den ersten zwei Einschleusern (Scanner liest barcode) vom Materialflussrechner ein Ziel vorgegeben und sollen dann je nach dem bei einer der 4 folgenden Ausschleusebahnen ausgeschleust werden.

Mir gehts darum das ich den Weg nach dem Scanner irgendwie nachbilde und dann sicher ausschleusen kann beim Einschleusen brauch ich keine Wegverfolgung.


Lg Backdoor happy new year
 

Anhänge

  • loop.bmp
    576,7 KB · Aufrufe: 86
Nun wenn ich deine Skizze richtig verstehe: sollte der Scanner die "Startbedingung" für deine "Wegverfolgung" sein.
Ereignis: Zuweisung des Zieles (Ausschleusung)
Aktion Start Schieberregister
Abbruch Schieberegister = Ausschleusung des Paketes. Zum Ausschleusen benötigst du sicherheitshalber einen Sensor oder Scanner (bei Scanner kann ein Irrläufer ermittelt werden).
Gruß
 
Ja das verstehst du so richtig, start wäre der Scanner und bei den Ausschleusepunkten hab ich immer Lichtschranken über welche ich dann ausschleussen kann.


Schieberegister? Kannst du mir das mal etwas genauer erklären mir ist es zwar ein Begriff aber wie macht man ein Schieberegister in der SPS?
Funktionsweise?

Lg Backdoor
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wegverfolgung

Hallo Backdoor,
hier mal mein erster Gedanke zu deinem Problem (der erste Gedanke ist bekanntlich immer der Beste!)
Also:
Stell dir einfach mal die Byte eines DB (Merkerbyte gehen natürlich auch) hintereinander angeordnet vor.
Nun stellst du dir vor, dass dein Scanner nach der Messung die Zielschleuse als Nummer 1...4 in das Byte 0 schreibt.
Jetzt kommt das Schieberegister ins Spiel. An deinem Band gibt es einen Impulsgeber, der z.B. alle 50cm Bandvorschub einen Impuls abgibt.
(Macht man gerne mit Sensor an einer geeigneten Bandtrommel)
Mit diesem Impuls verschiebst du nun in der SPS alls Datenbyte um eine Position nach oben, also 15->16, 14->15,...,0-1. (das macht eine einfache Schleife).
Nun nimm mal an, dass deine erste Schleuse an der Position 5 und die zweite Schleuse an Pos 9 steht. Dann wird nach dem Impuls das DB5 abgefragt, ob in ihm eine 1 steht.
Wenn ja: ausschieben und in DB5 eine 0 eintragen. Falls nein, nichts ändern.
Gleichzeitig fragst du DB9 ab, ob es eine 2 enthält. Wenn ja->ausschieben und 0 eintragen usw.
Dieses Prinzip kann man beliebig erweitern.
Alles klar?
Wenn nicht -> fragen!
MfG
eNDe
 
Hallo eNDE!!


Danke dir für die sehr gute Erklärung das ist für mich verständlich kannst du mir ev. noch ein Beispiel geben wie das dann in AWL in etwa aussehen würde?

Lg Backdoor
 
Mit diesem Impuls verschiebst du nun in der SPS alls Datenbyte um eine Position nach oben, also 15->16, 14->15,...,0-1. (das macht eine einfache Schleife).
Also eine Schleife würde ich da nicht nehmen,

Code:
     U E #Teil_erkannt
     FP M 0.0
     SPBN WART
     SET
     = M 11.0  // Position eins im Schieberegister
WART:NOP 0
 
     U E #Takt
     FP M 0.1
     SPBN ENDE
     L MW 10
     SLW 1
     T MW 10
ENDE:NOP 0
Schieberegister mit 16 Positionen (M10.0 - M11.7)
Mit jedem Takt wird das Teil (Merker) um eine Position verschoben
Jedes neue Teil wird an Position eins eingetragen (M11.0)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
FC 92 "SHRB Shift"

Moin,

zum Thema Schieberegister schaue Dir mal den FC92 "SHRB Shift"" aus der Standart Library => IT-S7 Converting Blocks an. Es handelt sich hier um ein fertiges Bit Schieberegister. Die Beschaltung und die Funktionsweise ist in der zugehörigen Hilfe gut beschrieben.

Gruß,
Sven
 
Wegverfolgung

Hallo,
hier wird etwas missverstanden!
Es handelt sich nicht um ein Bit-Schieberegister (damit könnte man ja nur 1 oder 0 verschieben) sondern um ein Byte-Schieberegister.
In jedes "Element" kann man zwischen 0 und 255 eintragen.
0 bedeutet: Bandabschnitt ist unbelegt,
n bedeutet: Bandabschnitt ist belegt und das Paket soll bis zum Ausschleuser n bewegt werden.
Die Verschieberei kann man sinnvoller Weise nur mit einer Schleife programmieren.
Ein AWL-Beispiel in STEP7 kommt noch!
MfG
eNDe
 
Wegverfolgung

So, hier die AWL (S7)
Code:
U E 0.0 [COLOR=#008000][COLOR=#008000]// Liegt ein Bandimpuls an?[/COLOR]
[/COLOR]FP M 1.1 [COLOR=#008000][COLOR=#008000]// dynamisieren[/COLOR]
[/COLOR]SPBN Ende [COLOR=#008000][COLOR=#008000]// <-- wenn kein Impuls[/COLOR]
[/COLOR]L 392 [COLOR=#008000][COLOR=#008000]// Quellzeiger auf Byte Nummer 49 einstellen[/COLOR]
[/COLOR]T #Quellzeiger
L 400 [COLOR=#008000][COLOR=#008000]// Zielzeiger auf Byte Nummer 50 einstellen[/COLOR]
[/COLOR]T #Zielzeiger
L 50 [COLOR=#008000][COLOR=#008000]// Byteanzahl auf 50 einstellen[/COLOR]
[/COLOR][COLOR=#0000ff][COLOR=#0000ff]Next[/COLOR][/COLOR] :T #Anzahl
L DBB [#Quellzeiger]
T DBD [#Zielzeiger]
L #Quellzeiger [COLOR=#008000][COLOR=#008000]// Quellzeiger eine Pos. kleiner[/COLOR]
[/COLOR]L 8
-D
T #Quellzeiger
L #Zielzeiger [COLOR=#008000][COLOR=#008000]// Zielzeiger eine Pos. kleiner[/COLOR]
[/COLOR]L 8
-D
T #Zielzeiger
L #Anzahl [COLOR=#008000][COLOR=#008000]// Test, ob schon fertig[/COLOR]
[/COLOR]LOOP Next
[COLOR=#008000][COLOR=#008000]// hier können die Ausschiebeabfragen und -befehle hin[/COLOR]
[/COLOR][COLOR=#0000ff][COLOR=#0000ff]Ende[/COLOR][/COLOR] :NOP 0
Bei Fragen --> fragen!
MfG
eNDe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So geht’s natürlich auch…

Ich bevorzuge allerdings die Variante jeder Ausschleuse Station ein eigenes Schieberegister zuzuweisen. Damit vermeide ich die Schleifen und hallte mein Programm damit leichter verständlich.
Aber wie gesagt, jeder so wie er es mag.
 
Hallo !!


Erstmals herzlichen Dank an alle für die Hilfe!

Ich werd gleich morgen ein paar Varianten probieren und meld mich dann wieder sobald ich ergebnisse hab.


LG Backdoor
 
Hallo eNDE!

Kannst du mir bei den Quell und Ziel zeigern etwas auf die Sprünge helfen versteh ich nicht wirklich??


Lg Backdoor
 
Zurück
Oben