Roulette Programmierung SPS

SPS, Logo, Easy und Co.
Antworten
Dii_Manes
Newbie
Beiträge: 13
Registriert: Di 5. Mär 2013, 10:56

Roulette Programmierung SPS

Beitrag von Dii_Manes » Do 4. Apr 2013, 13:27

Habe die Ehre, werte Kollegen.

Kurz zur Vorgeschichte: mein Ausbilder und ich haben eine Wette am Laufen. Unsere Praktikanten dürfen eine Platine löten mit 37 LEDs einem IC und einem Taster; ja genau sie dürfen ein Roulette aufbauen :D. Ich wollt so eins auch, worauf mein Ausbilder gesagt hat, dass ich eins bekomme, wenn ich das Programm in dem TIA Portal schreibe.

Vorraussetzung: nach Betätigung des Tasters, fängt LED Nr. 0 zu leuchten an und dann läuft die Kugel (hier: leuchtende LEDs) weiter. immer im gleichen Drehsinn, Zeit wann und WO die finale LED leuchtet soll alles purer Zufall sein! Geschwindigkeit von einer LED zur nächsten soll abnehmen - alles variabel.
Mir persönlich sind hier zu viele Variablen drin, aber ein Versuch ist es Wert.

meine Frage: wie kann ich einen Zufallsgenerator im TIA Portal programmieren?! im Internet finde ich nur Tips und Tricks für C+ programmierung etc. Kann mir hier bitte einer weiter helfen? :)

Grüße
Benutzeravatar
Prayer192
Fachmann
Beiträge: 448
Registriert: So 12. Jul 2009, 23:00

Re: Roulette Programmierung SPS

Beitrag von Prayer192 » So 7. Apr 2013, 14:14

Dii_Manes hat geschrieben:meine Frage: wie kann ich einen Zufallsgenerator im TIA Portal programmieren?! im Internet finde ich nur Tips und Tricks für C+ programmierung etc. Kann mir hier bitte einer weiter helfen? :)
moin moin,

erstmal muss ich dazu sagen: eine SPS ist nicht dafür gedacht mit zufällen zu arbeiten XD

zum zweiten muss ich sagen: einen richtigen zufall wirst du auch nicht bei den C++ programmen finden. daher wirst du schon eine chance haben, dir einen zu bauen, auch wenn das wirklich hässlich wird (du brauchst viel mathematik).

so wie lösen wir also das problem?
einmal kenne ich das pseudo zufallsprinzip. das sieht aus wie eine zufällige verteilung (also erfüllt alle eigenschaften der normalverteilung), liefert aber bei jedem anstarten immer die gleichen ergebnisse in der selben reihenfolge. um diesen pseudozufall zu erhalten würden ich PRBS verwenden. es basiert darauf, dass einzelne bits jeden takt (bzw in der SPS jeden zyklus, in dem die zeile ausgeführt wird) in einem kreis weiter geschoben werden und ein neuer input mit einer XOR operation errechnet wird. siehe bild.
http://www.scheidig.de/Deutsch/Projekte ... age001.gif

wenn du dann die bits als zahl nimmst kannst du die aktuelle uhrzeit multiplizieren und vielleicht noch ein timer, der seit systemstart mitläuft.
ist dieses wilde gerechne und bit geschiebe erledigt, hast du zahlen, die doch recht zufällig sein müssten.

mfg
prayer192
Antworten