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

Results 1 to 10 of 10

Thread: Zufallszeit

  1. #1
    Join Date
    16.12.2009
    Location
    Süddeutschland
    Posts
    178
    Danke
    38
    Erhielt 1 Danke für 1 Beitrag

    Default


    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
    Reply With Quote Reply With Quote Zufallszeit  

  2. #2
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,442
    Danke
    1,086
    Erhielt 3,960 Danke für 3,199 Beiträge

    Default

    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
    forellengarten's Avatar
    forellengarten is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    16.12.2009
    Location
    Süddeutschland
    Posts
    178
    Danke
    38
    Erhielt 1 Danke für 1 Beitrag

    Default

    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
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,442
    Danke
    1,086
    Erhielt 3,960 Danke für 3,199 Beiträge

    Default

    Quote Originally Posted by forellengarten View Post
    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?


    Quote Originally Posted by forellengarten View Post
    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
    forellengarten's Avatar
    forellengarten is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    16.12.2009
    Location
    Süddeutschland
    Posts
    178
    Danke
    38
    Erhielt 1 Danke für 1 Beitrag

    Default

    Quote Originally Posted by PN/DP View Post
    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
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,442
    Danke
    1,086
    Erhielt 3,960 Danke für 3,199 Beiträge

    Default

    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
    Join Date
    31.03.2012
    Location
    Porta Westfalica
    Posts
    402
    Danke
    79
    Erhielt 139 Danke für 87 Beiträge

    Default

    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
    Join Date
    10.11.2018
    Location
    Berlin
    Posts
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by dingo View Post
    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
    Join Date
    17.07.2009
    Location
    Am Rande der Ostalb
    Posts
    6,213
    Danke
    1,274
    Erhielt 1,448 Danke für 1,124 Beiträge

    Default

    Quote Originally Posted by andreasre View Post
    Kann man die Lib auch mit etwas anderem als CODESYS öffnen?
    Die Oscat Sourcen stehen auf GitHub

  12. #10
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,442
    Danke
    1,086
    Erhielt 3,960 Danke für 3,199 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by andreasre View Post
    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

Similar Threads

  1. Replies: 16
    Last Post: 03.09.2010, 21:00

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •