Zufallszahlen mit S7

OP
A

Anonymous

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Den Link kenn ich.

Allerdings kann man innerhalb einer gewissen Zeit nur eine Zahl erzeugen. Ich benötige mehrere Zufallszahlen im selben Augenblick. Den Timeclicker zu verwenden hat den Nachteil dass kurz hintereinander erzeugte Zahlen sich immer ähneln.
 

volker

Supermoderator
Teammitglied
Registriert
20 Juni 2003
Beiträge
5.468
Punkte Reaktionen
935
King Diamond schrieb:
Den Link kenn ich.

Allerdings kann man innerhalb einer gewissen Zeit nur eine Zahl erzeugen. Ich benötige mehrere Zufallszahlen im selben Augenblick. Den Timeclicker zu verwenden hat den Nachteil dass kurz hintereinander erzeugte Zahlen sich immer ähneln.

ich frag mal einfach ganz blöd:
wofür brauch ich sowas in einer steuerung?

mfg
 
OP
A

Anonymous

Guest
Blöde Frage, blöde Antwort:

Auf einem Laufband sollen Produkte zur Prüfung nach Zufallsprinzip
ausgewählt werden.
(Spezielle Lebensmittelvorschrift).
 

Flinn

Well-known member
Registriert
25 August 2003
Beiträge
344
Punkte Reaktionen
52
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Volker,

ich habe auch schon einmal Zufallszahlen benötigt,
zur Datenkonsistenzprüfung für ein selbst geschriebenes Protokoll zwischen einer S7-CPU und WinCC.

Dabei konte ich die "Timeticks" verwenden, da die Zufallszahlen für meine Anwendung "zufällig" genug waren. An eine andere Methode wäre ich jedoch auch interessiert.

Gruß Flinn
 

Ulrich Klakow

Member
Registriert
2 Juli 2003
Beiträge
18
Punkte Reaktionen
0
Geht nicht

Hallo Leute,

echte Zufallszahlen kann man ohne zusatz Hardware nicht erzeugen.
Was aber geht, ist eine mathematische Funktion die eine scheinbar zufällige Zahl liefern. Z.B sind die Nachkommastellen von "PI" zwar vorhersagbar aber statistisch soweit mir bekannt, immer gleichverteilt.
Das heist, das über eine unendlich lange Zahlenreihe die Anzahl der NULLEN genauso groß ist wie die 1 bis 9'er.
Wenn dir mathmatische verfahren nicht ausreichen, brauchst du
eine Hardware dafür. Ob es sowas für die S7 gibt weis ich allerdings
nicht.
 

Zottel

Well-known member
Registriert
19 Juni 2003
Beiträge
2.299
Punkte Reaktionen
277
Zufallszahlen können durch folgende Formel erzeugt werden:
Code:
V[n+1]=(A*V[n]+B) modulo M
"Numerical Recipes", eine Sammlung numerischer Algorithmen, nannte als Beispielwerte:
A=1664525
B=1013904223
M=2^32

Die damit erzeugten Zufallszahlen sind nach den Masstaeben der Mathematiker von schlechter Qulität, dürften aber für Deine Anwendung reichen, insbesondere wenn du den Startwert V[0] von der Zeit abhängig machst.
Ein besserer Algorithmus ist als "Mersenne Twister" bekannt und wird für die Zufallszahlengeneratoren einiger Programmiersprachen verwendet. Möglicherweise ist aber der Aufwand für ein SPS-Programm zu hoch. Ansonsten einfach mit Google nach diesem Begriff suchen. Es gibt Beispielprogrammein etlichen Programmiersprachen.
 
Oben