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

Ergebnis 1 bis 8 von 8

Thema: SPS B&R Random

  1. #1
    Registriert seit
    26.03.2007
    Beiträge
    67
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin,

    gibt es bei der B&R (PP41) eine Möglichkeit (Bibliothek), Randomwerte zu erzeugen?

    Vielen Dank für Antworten,

    Beste Grüße,
    Hannes
    Zitieren Zitieren SPS B&R Random  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    Gib doch mal "Zufallsgenerator" in der Foren-Suche ein. Da findest du so einiges zu dem Thema.

    Gruß
    LL

  3. #3
    Hannes ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2007
    Beiträge
    67
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    Gib doch mal "Zufallsgenerator" in der Foren-Suche ein. Da findest du so einiges zu dem Thema.

    Gruß
    LL

    hab ich schon gemacht aber für eine B&R Steuerung hab ich nicht herausbekommen obs eine Bibliothek für sowas gibt, daher meine Frage,
    also wenn jemand was weiß in die Richtung wäre ich sehr dankbar,

    Beste Grüße,
    Hannes

  4. #4
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 177 Danke für 133 Beiträge

    Standard

    Meines Wissens nach gibts sowas nicht (wär noch nie drüber gestolpert).
    Ist aber einerseits eine Anregung, die Du an B&R weitergeben könntest.

    Soweit mir bekannt ist, ist in der OsCat Library ein Funktionsblock für Zufallszahlen vorhanden. Dieser sollte sich auch auf B&R übersetzen lassen.

    mfg Maxl
    Bin aufgrund §2 der "Rechte des Betreibers" der Forum-Regeln nicht mehr aktiv, da nicht nicht akzeptiere, dass Informationen und Erkenntnisse ohne Quellangabe weitergegeben werden sollen. Jedem steht frei, auf die gleichen Erkenntnisse durch Eigenversuche zu kommen, vor allem Buchautoren.

  5. #5
    Registriert seit
    29.08.2006
    Beiträge
    195
    Danke
    0
    Erhielt 35 Danke für 21 Beiträge

    Standard

    in der open source lib von oscat findest du diverse random generatoren.

    RDM erzeugt einen random wert von 0 <= x < 1
    rdm2 erzeugt einen random integer zwischen zwei spezifizierbaren werten
    rdmdw ein random dword
    gen_rdm und gen_rdt erzeugen random pulse und zeiten

    das alles findest du in der oscat lib im open source
    unter www.oscat.de
    OSCAT
    Open Source Community for Automation Technolgy
    www.oscat.de

  6. #6
    Registriert seit
    29.07.2005
    Ort
    Salzburg
    Beiträge
    113
    Danke
    2
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hallo Hannes,

    Meines Wissens nach gibts sowas nicht (wär noch nie drüber gestolpert).
    Ist aber einerseits eine Anregung, die Du an B&R weitergeben könntest.
    Was spricht gegen rand(), srand() aus der Standard C Library? Deinen Posts zufolge codest du eh in C.

    Grüsse, harrylask

  7. #7
    Registriert seit
    26.11.2008
    Beiträge
    23
    Danke
    3
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo, z.B.:

    #include <stdlib.h>
    #include <bur/plc.h>
    #include <bur/plctypes.h>


    _GLOBAL int r_pv;

    int rand(void);

    void srand(unsigned int seed);
    int rand_r(unsigned int *seed);


    _INIT void init(void)
    {
    srand(10);
    }


    _CYCLIC void cyclic(void)
    {
    r_pv = rand();
    }

  8. #8
    Registriert seit
    29.07.2005
    Ort
    Salzburg
    Beiträge
    113
    Danke
    2
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nur so als Ergänzung,

    Code:
    srand(10)
    intialisiert den Startwert für rand(), da dieser im Beispiel oben immer mit derselben Zahl (10) definiert wird, liefert rand() immer die gleiche Zufallszahlenreihe (schönes Wort). Nimm statt dessen lieber eine Zahl wie DT1 der Funktion DTGetTime() aus der Library AsTime als Startwert. Kann hier nachgelesen werden.

    Grüsse, harrylask

Lesezeichen

Berechtigungen

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