S7-314 Zufällige Auswahl eines Ausganges

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte eine von drei Lampen zufällig aufleuchtenlassen, bis ein Taster gedrückt wurde (danach soll wieder eine von drei andren Lampe leuchten - und dann wieder von vorne - aber das bekomme ich dann schon irgendwie hin.
Nur fehlt mir die Idee wie ich einen Ausgang zufällig Auswähle. Hat jemand eine Idee.

Danke und Gruß
Hanns-Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zufallsgenerator

Hallo zusammen,
ich bin neu hier und wollte jetzt öfter mal vorbeischau'n da ich schon auf viele geistreiche Beiträge gestoßen bin.
Jetzt zum Thema Zufallszahlen:
Ich habe mich auch schon immer gefragt, ob es eine Möglichkeit gibt, Zufallszahlen zu erzeugen. Ich habe mir eine FC geschrieben, die mir Zufallszahlen zwischen 0 und 1020 liefert. Der Trick dabei ist, mit der SFC22 einen DB in der CPU zu erzeugen mit 1024 Bytes Länge. In diesem DB stehen dann 1024 willkürlich zusammengestellte Zahlen im Format BYTE. Über einen Umlaufzähler addiere ich mir dann bis zu 4 aufeinanderfolgende Zahlen und erhalte so Zahlen bis 1020 (4 x 255). Verwendung findet diese Funktion in der automatischen Zielvorgabe für führerlose Transportsysteme. Ich simuliere damit Ziele solange das Leitsystem noch keine Vorgabe bringt (während der Inbetriebnahme). Zusätzlich gibt es noch die Möglichkeit die Zahl 0 auszuschließen, nur gerade Zahlen, nur ungerade Zahlen, und 4 verschiedene Zahlenbereiche vorzuwählen (-255, -510, -765, -1020 Möglichkeiten). Nach 1024 Aufrufen wird der Hilfs-DB gelöscht und sofort wieder neu erzeugt, um eine Reproduzierbarkeit so gut wie auszuschließen.
So jetzt genug getippt.

Gruß!
 
Zufallszahlen-Generatoren erzeugen normalerweise immer Pseudozufallszahlen, d.h. Zahlenfolgen, die sich nach einer, wenn auch langen, Periode wiederholen.
Gute Algorithmen findet man in einem Buch namens "Numerical Recipes", daß auch irgendwo online zu lesen ist.
Möchte man wirkliche Zufallszahlen haben, so muß man externe Quellen von "Entropie" (Unordnung) hinzuziehen. Dies wird z.B. im Linux-Kernel gemacht. Ich erinnere mich nicht mehr, welche das genau sind, aber es käme z.B. die Länge der Pausen zwischen zwei Tastenanschlägen in Frage oder die niedrigsten Stellen sehr schnell laufender Timer.
In einer SPS kämen die Rauschanteile von Analogsignalen (Mittelwert vom Signal abziehen) in Frage.
 
Ich habe mir eine FC geschrieben, die mir Zufallszahlen zwischen 0 und 1020 liefert. Der Trick dabei ist, mit der SFC22 einen DB in der CPU zu erzeugen mit 1024 Bytes Länge. In diesem DB stehen dann 1024 willkürlich zusammengestellte Zahlen im Format BYTE.


Das ist genau soetwas was ich schon seit längerm suche. Wie hast du es realisiert in einem FC Zufallszahlen zu kreieren?

mfg
 
Zurück
Oben