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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: 2 DBs ein Problem

  1. #1
    Registriert seit
    13.10.2011
    Beiträge
    36
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Habe folgendes Problem und weiß nicht wie ich es am einfachsten lösen kann.

    Habe ein DB mit ca. 5000 Bits. Diesen will ich spiegeln und somit einen 2ten DB erstellen.

    Allerdings soll die Spiegelung erst nach einer eingestellten zeit passieren.

    D.h

    DB1.DBX0.1 = True => eingestellte zeit => DB2.DBX0.1 = True

    Es soll keine Kopie des DBs nach einer bestimmten zeit erfolgen sondern es soll jedes einzelne Bit betrachten werden.

    Die eingestellte zeit ist für alle Bits gleich.

    Natürlich soll dies so wenig wie möglich zykluszeit kosten.
    Zitieren Zitieren 2 DBs ein Problem  

  2. #2
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Verstehe ich nicht!
    Was macht das für einen Sinn, den DB nicht nach Zeit x zu kopieren?

    Wenn Du das unbedingt bitweise machen willst, dann nimm 2 Schleifen.
    1. Schleife für bitweises hochzählen von 0 bis 7
    2. Schleife für byteweises hochzählen von 0 bis ...
    Es kann Dir natürlich passieren, das Du aufgrund der "langen" Schleife diese Operation auf mehrere Zyklen aufteilen musst!

    Idealerweise nimmst Du hierfür SCL zum programmieren.

    Einfacher gehts mit SFC20 (Blockmove)
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  3. #3
    RON_87 ist offline Benutzer
    Themenstarter
    Registriert seit
    13.10.2011
    Beiträge
    36
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Es soll nicht der ganze DB nach zeit x kopiert werden
    weil es könnte ja sein das ein Bit 1/2x erst hat.

    Ablauf wäre wie folgt

    DB1.DBX0.1 = 1 => zeit x starten => zeit abgelaufen => DB2.DBX0.1 = 1

    DB1.DBX0.2 = 1 => zeit y starten => zeit abgelaufen => DB2.DBX0.2 = 1

    Der Zeitwert ist allerdings gleich 10sec.

  4. #4
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Bei einem DB mit 5000 Bits, die einzeln überwacht werden sollen,
    müssten das gem. deinem Ansinnen also 5000 Zeiten zu jeweils
    10s sein, die du vorhalten willst ?

    Das ist eine echte Herausforderung !
    kind regards
    SoftMachine

  5. #5
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    jeden n-ten Zyklus (13h) eine, da reicht ein Timer.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  6. #6
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    bitte, nochmal etwas genauer
    kind regards
    SoftMachine

  7. #7
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Prüfen 10 Sekunden warten, kopieren nächster da dauer der Durchlauf nur 13,8 Stunden für die 5000 Bits aber alles mit einem Timer.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  8. #8
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Hm, was ist, wenn innerhalb des Zeitfenster von 10s (für ein geändertes Bit) noch ein oder mehrere weitere Bits hinzukommen ?
    Die dürften dann ja erst nach 10s + X kopiert werden, oder ?

    X < 10s
    Geändert von SoftMachine (02.05.2012 um 22:15 Uhr) Grund: Erläuterung
    kind regards
    SoftMachine

  9. #9
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Wobei eine Idee hätte ich da schon. SCL und da eine Art ARRAY of SFB4. Nur ob das die CPU Packt.
    Die 5000 Bits in einem Zyklus durchackern wird hart.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  10. #10
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    5000 x TON ?
    Wieviel schafft eine CPU, ich habe da keine Begrenzung gefunden.
    kind regards
    SoftMachine

Ähnliche Themen

  1. Ein Problem mit ProTool
    Von anne im Forum HMI
    Antworten: 21
    Letzter Beitrag: 20.02.2011, 12:11
  2. Wiedermal ein Programm problem
    Von COOLT im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 28.07.2009, 16:57
  3. habe ein kleines problem
    Von sago im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.01.2009, 17:21
  4. Antworten: 3
    Letzter Beitrag: 31.10.2008, 07:34
  5. OP73 - ich habe da ein Problem
    Von ksb im Forum HMI
    Antworten: 6
    Letzter Beitrag: 30.09.2007, 14:57

Lesezeichen

Berechtigungen

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