Würfel zufallsgenerator

jugger

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
guten tag ,
hab ein problem ich weiss nicht wie ich das hinbekommen soll das bei einer 7 segment anzeige immer eine zufalls zahl von 1-9 angezeitgt wird.
programmiere meistens in FUP.
danke im vorraus für die hilfe.
 
Das sagt Siemens dazu
Zum Erzeugen einer Zufallszahl können Sie die Systemfunktion SFC64 "TIME_TCK" verwenden. Bilden Sie von der Systemzeit den Absolutwert und führen Sie anschließend eine ganzzahlige Division mit der Obergrenze als Divisor durch. Ermitteln Sie den durch diese Operation entstandenen Divisionsrest. Diese Zahl können Sie dann als Zufallszahl weiter verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich gebe zu es ist nicht so richtig elegant aber es funktioniert.

Es wird einfach ständig von 1 nach 9 gezählt. Mit dem M0.0 wird dann die gerade anstehende Zahl angezeigt ( Im DB1 DW 1 ). Da die Zählung im DB1 DW0 ständig in der Zykluszeit läuft dürfte es wohl zufällig genug sein.


;

A DB 1
L DW 0
L KF +1
+F
T DW 0 ; Zählt immer vor sich hin

A DB 1
L DW 0
L KF +10
<F
SPB =M001
A DB 1
L KF +1
T DW 0 ; Setzt wieder auf 1 wenn 10 erreicht
M001:

UN M 0.0 ;Würfeltrigger
SPB =M002

U M 0.1
SPB =M002
A DB 1
L DW 0
T DW 1 ;Würfelergebnis

U M 0.0
R M 0.0

M002:

BE


peter(R)
 
Benutzt du s5 von Siemens oder zB. S5 für Windows von IBH ??
Das mit der 7-Segmentanzeige ist klar ??


peter(R)
 
Zum Erzeugen einer Zufallszahl können Sie die Systemfunktion SFC64 "TIME_TCK" verwenden. Bilden Sie von der Systemzeit den Absolutwert und führen Sie anschließend eine ganzzahlige Division mit der Obergrenze als Divisor durch. Ermitteln Sie den durch diese Operation entstandenen Divisionsrest. Diese Zahl können Sie dann als Zufallszahl weiter verwenden.


Danke schon mal meine frage ist nun, Hab jetzt den SFC64 "TIME_TCK" baustein (war verwundert das es den bei S5 gibt :D )Wie bilde ich nun von der Systemzeit den ABsolutwert und ein ganzzahlige Divison mit der Obergrenze als Divisor durch.

Danke im Vorraus .


PS die eine lösung klappt aber Ist nit so mein fall ich bin der meinung das nach einer zeit man rausfinden wann man drücken muss das welche zahl kommt. aber danke.
 
Zurück
Oben