Zufall

Begonnen von djoey2006, 08. November 2008, 18:13:25

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

djoey2006

Hallo alle zusammen!!
Ich versuche im Moment eine Sortieranlage in CoDeSys 2.3 zu programmieren. Drei Werkstücke(rot, schwarz und silber) kommen zufällig auf ein Förderband. Die jeweils 4 Wekstücke landen in 3 Rutschen und werden dort gelagert bis ein signal kommt, was besagt dass die Rutschen voll sind. Jenachdem, ob es rot oder silber ist, sind 2 Weichen vorhanden, die dementsprechend auf und zu gehen um zu sotieren. Hat jmd eine Idee wie ich die zufällige Werkstücke programmieren kann. Habe bereits mit dem Baustein RDM2 aus Oscat.libs aber erfolglos. Anbei ist das Programm, was ich schon geschrieben habe und ich bitte um Hilfe
Danke im voraus

[gelöscht durch Administrator]

hugo

grundsätzlich fällt mir bei dir auf das du die reihenfolge der bausteine durcheinander hast.

rechte maustaste und dann reihenfolge nach datenfluss anordnen

hugo

schau dir mal das beispiel unten an funktioniert wunderbar.
übrigends im manual ist sehr schön beschrieben wie es funktioniert


[gelöscht durch Administrator]

djoey2006

Hallo Hugo!

Danke nochmal für die Hilfe. Habe jetzt den Baustein so programmiert wie du gemeint hast und zwar mit EN/ENO und es funktioniert bis auf eine Sache: es kommt ab und zu, dass die Zahl, die rauskommt springt. D.h. manchmal wenn eine 2 rauskommt dann kann sein dass die zahl sich schnell ändert und statt 2 kommt z.B eine 3 oder 1 raus. Ich weiss nicht, ob du vertehst ungefähr was ich meine. Hättest du da eine Idee wie ich das hintergehen kann. Anbei ein Bild des Bausteins

[gelöscht durch Administrator]

hugo

das kann nur passieren wenn en zulange anliegt und der baustein ein zweites mal aufgerufen wird.

djoey2006

Hallo!!

Nochmal Danke für deine Hilfe. Irgendwie will das Programm nicht bei mir funktionnieren. Ich zeige dir, wie ich den Baustein programmiert habe. Bitte werf mal einen Blick drauf. Der Zufallsgenerator(Visualisierung) geht nicht immer auf TRUE wenn ich drauf drücke. Ich möchte aber dass wenn ich darauf klicke, dann nimmt STATUS einen Wert ein 1 oder 2 oder 3 (aber nur wenn Zufallsgenerator TRUE ist) und je nachdem, ob es SCHWARZ oder ROT oder METALL muss der Zähler hochzählen und bei mehr als 5 die Meldung R(...)_voll zurückgeben. Bitte um Hilfe.
Danke im voraus.

[gelöscht durch Administrator]

hugo

tut mir leid, ich habe keine ahnung was du wirklich bezwecken willst.

eventuell ist dein zufall und run für mehr als einen zyklus auf true und damit erzeugt der rdm2 meherere zufallszahlen hintereinander.
das kannst du mit einem r_trig vor rdm2 verhindern.

djoey2006

Hallo hugo!!

Ich danke dir für die Hilfe. Habs endlich hingekriegt, wie ich es wollte und die Zähler zählen auch ganz ordentlich. Eine Frage hätte noch und zwar gehts um die Bewegung der Werkstücke.
Hättest du einen Vorschlag dazu.
Ein Werkstück(Bsp: ein blaues Werkstück) muss sich vom Startpunkt aus bewegen bis es die Rutsche erreicht hat. Das Werkstück ist in der Rutsche zu sehen und sobald es die Rutsch erreicht hat, kommt ein neus blaues am Startpunkt raus und wartet bis ein neuer Zyklus anfängt.
Vier Werkstück sind insgesamt und die sind auch in der Rutsche am Ende zu sehen. Weiss jetzt nicht, ob ich das gut erklärt habe. Anbei ein Bild des Geschehens.

[gelöscht durch Administrator]