Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: Zufallszeit

  1. #1
    Registriert seit
    16.12.2009
    Ort
    Süddeutschland
    Beiträge
    176
    Danke
    37
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich möchte eine Zufallszeit (TIME) generieren mit der Möglichkeit, einen gewünschten MIN und MAX Zeitwert vorzugeben.

    Ich kenne die Funktion DRAND und RND2 (oscat) - was ich vermutlich bräuchte wäre ein Zufallsgenerator der mir ein DWORD (weil auch TIME 32bit hat) generiert, das ganze mit Max.- und Minwert vorgabe. Wer hätte hier einen Ansatz für mich?

    danke!
    Beckhoff CX9010-1101
    TwinCat 2.11
    Zitieren Zitieren Zufallszeit  

  2. #2
    Registriert seit
    23.06.2009
    Ort
    Sassnitz
    Beiträge
    12.607
    Danke
    1.013
    Erhielt 3.703 Danke für 2.990 Beiträge

    Standard

    Ich kenne die OSCAT-Zufalls-Funktionen nicht und weiß nicht was da rauskommt (kann man den gewünschten Bereich da vielleicht direkt angeben oder kommt ein normierter Wert raus?), doch üblicherweise braucht man den von einer Zufallsfunktion gelieferten Wert einfach nur passend skalieren. Angenommen der Zufallswert ist ein REAL-Wert zwischen 0.0 und 1.0, dann könntest Du etwa so rechnen:
    Code:
    zeitwert := REAL_TO_DINT( zufallswert * (MAX - MIN) + MIN );
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgende 2 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    DaPivo (09.11.2018),dingo (09.11.2018)

  4. #3
    Avatar von forellengarten
    forellengarten ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2009
    Ort
    Süddeutschland
    Beiträge
    176
    Danke
    37
    Erhielt 1 Danke für 1 Beitrag

    Standard

    die oscat-funktion mach nur 16bit, während TIME 32 bit hat.... wünschenswert wäre daher ein 32bit zufallsgenerator mit min/max vorgabe....
    Beckhoff CX9010-1101
    TwinCat 2.11

  5. #4
    Registriert seit
    23.06.2009
    Ort
    Sassnitz
    Beiträge
    12.607
    Danke
    1.013
    Erhielt 3.703 Danke für 2.990 Beiträge

    Standard

    Zitat Zitat von forellengarten Beitrag anzeigen
    die oscat-funktion mach nur 16bit, während TIME 32 bit hat.... wünschenswert wäre daher ein 32bit zufallsgenerator mit min/max vorgabe....
    Und wo ist da jetzt das Problem?
    Hast Du ein bisschen eigene Phantasie oder vielleicht sogar ein bisschen Ahnung von dem was Du da tust?
    Könntest Du evtl. auch ein bisschen mithelfen bei der Lösungsfindung für Dich oder dürfen wir uns die Details von OSCAT selber zusammensuchen?


    Zitat Zitat von forellengarten Beitrag anzeigen
    Ich kenne die Funktion DRAND und RND2 (oscat)
    DRAND und RND2 finde ich nicht bei OSCAT
    In der OSCAT-Lib Basic gibt es die Funktionen RDM und RDM2 (ich hoffe mal daß der aktuelle Quelltext mit der Version bei GitHub übereinstimmt)

    RDM liefert eine REAL-Zufallszahl "zwischen 0 und 1" - die Funktion kannst Du nehmen und das Ergebnis in meine Formel von Beitrag #2 geben, welche Dir einen 32-Bit Ganzzahl-Wert kompatibel zu TIME# liefert - hast Du das denn mal ausprobiert?

    RDM2 behauptet, eine INT-Zufallszahl zwischen vorgegebenen Grenzen zu liefern - Du könntest den Quelltext übernehmen und auf DINT umschreiben (RDM2 macht im Grunde auch nichts anderes als meine Formel) und ausführlich testen und durchdenken und Fehler beseitigen

    Ich habe die OSCAT-Funktionen nicht getestet. Zumindest die S7-Version von RDM2 ist fehlerhaft - ich weiß nicht welche Fehler in der Version für IEC1131 drin sind.
    Ich weiß nicht ob das OSCAT-Team noch Bugs entfernt - die OSCAT-Webseiten und die Libs machen einen relativ ungepflegten/unaktuellen Eindruck.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    dingo (09.11.2018)

  7. #5
    Avatar von forellengarten
    forellengarten ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2009
    Ort
    Süddeutschland
    Beiträge
    176
    Danke
    37
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Und wo ist da jetzt das Problem?
    Hast Du ein bisschen eigene Phantasie oder vielleicht sogar ein bisschen Ahnung von dem was Du da tust?
    Könntest Du evtl. auch ein bisschen mithelfen bei der Lösungsfindung für Dich oder dürfen wir uns die Details von OSCAT selber zusammensuchen?
    Harald
    ich mag so konstruktive Beiträge
    Beckhoff CX9010-1101
    TwinCat 2.11

  8. #6
    Registriert seit
    23.06.2009
    Ort
    Sassnitz
    Beiträge
    12.607
    Danke
    1.013
    Erhielt 3.703 Danke für 2.990 Beiträge

    Standard

    Bitteschön

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #7
    Registriert seit
    31.03.2012
    Ort
    Porta Westfalica
    Beiträge
    337
    Danke
    61
    Erhielt 102 Danke für 70 Beiträge

    Standard

    Die Oscat Lib ist unverschlüsselt, Opensource.

    Einfach die Lib in CODESYS öffnen, dann kannst Du die Bausteine komplett sehen, z.B. den Du brauchst als Vorlage exportieren, entsprechend modifizieren usw.

    Es ist nicht immer sofort ersichtlich, welche Fähigkeiten ein Themenstarter hat.

    PN/DP muss ich zustimmen

    @forellengarten etwas genauer Fragen, wo es noch hakt.

  10. #8
    Registriert seit
    10.11.2018
    Ort
    Berlin
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von dingo Beitrag anzeigen
    Die Oscat Lib ist unverschlüsselt, Opensource.

    Einfach die Lib in CODESYS öffnen, dann kannst Du die Bausteine komplett sehen, z.B. den Du brauchst als Vorlage exportieren, entsprechend modifizieren usw.

    Es ist nicht immer sofort ersichtlich, welche Fähigkeiten ein Themenstarter hat.

    PN/DP muss ich zustimmen

    @forellengarten etwas genauer Fragen, wo es noch hakt.
    Kann man die Lib auch mit etwas anderem als CODESYS öffnen?

  11. #9
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.921
    Danke
    1.224
    Erhielt 1.351 Danke für 1.062 Beiträge

    Standard

    Zitat Zitat von andreasre Beitrag anzeigen
    Kann man die Lib auch mit etwas anderem als CODESYS öffnen?
    Die Oscat Sourcen stehen auf GitHub

  12. #10
    Registriert seit
    23.06.2009
    Ort
    Sassnitz
    Beiträge
    12.607
    Danke
    1.013
    Erhielt 3.703 Danke für 2.990 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von andreasre Beitrag anzeigen
    Kann man die Lib auch mit etwas anderem als CODESYS öffnen?
    Man kann die Basic- und Building-Libs auch direkt als plain text Textdatei downloaden (bzw. anzeigen und speichern):
    http://www.oscat.de/component/jdownloads/send/2-oscat-basic/6-oscat-basic-333.html?Itemid=0
    http://www.oscat.de/component/jdownloads/send/5-oscat-building/26-oscat-building-100.html?Itemid=0

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 03.09.2010, 23:00

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •