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

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

Thema: DB komplett oder große Teile löschen

  1. #1
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Morgen die Herren

    ich Rahmen einer über SPS gesteuerten Messreihe befülle ich einigen Datenbausteine mit sehr vielen Daten. Mit Ende der Messreihe will ich die DB-Bereiche bzw. komplette DB löschen (mit 0 beschreiben).

    Gibt es da einen "Killerbefehl" *g*, der mit dem ich möglich viele Teile ansprechen/löschen kann ?


    MfG

    Martin
    Zitieren Zitieren DB komplett oder große Teile löschen  

  2. #2
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.232
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    denke mal das deine dbs für die messungen alle gleich groß sind, und wenn du nicht so auf die zykluszeit achten musst, dann würde ich einen weiteren db mit der selben struktur anlegen in de alle startwerte auf 0 stehen, und die anderen einfach mit sfc20 (blkmv) überschreiben.

    oder die länge der dbs mit ner sfc (weiß grad nicht auswendig) berechnen und nen pointer durchrasseln lassen der die 0 reischreibt.

    2. lösung wäre je nach befarf über mehrer zyklen verteilbar...


    aber ich denke du suchst nen standartbefehl um die dbs in einem zug zu löschen, könnte mir da noch vostellen das du sie komplett löschst und neu erzeugst....

  3. #3
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Morgen Markus,

    es ist so, wie Du vermutet hast:

    " aber ich denke du suchst nen standartbefehl um die dbs in einem zug zu löschen, könnte mir da noch vostellen das du sie komplett löschst und neu erzeugst...."

    Die Zeit ist dabei nebensächlich ......ich will nicht ca 60 DB-Wörter/Doppelwörter usw einzeln löschen müssen. Ziel ist es eigentlich nur wenig Netzwerke zu haben.....

    Gruß

    Martin
    Zitieren Zitieren Ziel: Netzwerkanzahl gering, Übersicht  

  4. #4
    NetPirate Gast

    Standard

    Hallo,
    guckst Du hier:
    http://www.sps-forum.de/phpBB2/viewtopic.php?t=809
    beim Neuerstellen mit "E DB" werden aber die aktuellen Speicherinhalte in den DB übernommen. D.h. die Werte innerhalb des DB's sind nicht NULL!
    Das löschen des DB funktioniert tadellos mit Aufruf des OB124. Das klappt aber nur bei 135U/115U (CPUs 928 oder 94.
    Welche CPU nutzt Du?

    Gruß
    NetPirate

  5. #5
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Net-Pirat,

    icn nutze die CPU 313-2DP.

    Gruß

    Martin
    Zitieren Zitieren CPU 313-2DP  

  6. #6
    Registriert seit
    06.10.2003
    Beiträge
    3.445
    Danke
    453
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Hallo Diplomand,

    was du brauchst ist, denke ich, die SFC21 "FILL".



    Gruß, Onkel
    Zitieren Zitieren SFC21  

  7. #7
    Anonymous Gast

    Standard

    Hallo Diplomand,

    möchtest Du den Baustein löschen dann (Auszug aus der S7-Hilfe):

    Mit der SFC 23 "DEL_DB" (delete data block) löschen Sie einen im Arbeitsspeicher und gegebenenfalls im Ladespeicher der CPU liegenden Datenbaustein. Der zu löschende DB darf weder in der aktuellen noch in einer niederprioren Ablaufebene aufgeschlagen sein. D. h., er darf weder in einem der beiden DB-Register noch im B-Stack eingetragen sein. Bei Aufruf der SFC 23 startet die CPU sonst den OB 121. Wenn der OB 121 nicht vorhanden ist, wechselt die CPU in STOP.

    Mit dem SFC 23 ist ein Datenbaustein löschbar wenn:
    Durch Aufruf der SFC 22 "CREAT_DB" erzeugt wurde oder mittels STEP 7 auf die CPU übertragen wurde und nicht mit dem Schlüsselwort
    UNLINKED erzeugt wurde.
    NICHT LÖSCHBAR allerdings wenn er auf der Flashcard gespeichert ist!

    Gruß
    NetPirate

  8. #8
    Registriert seit
    16.03.2004
    Beiträge
    273
    Danke
    2
    Erhielt 10 Danke für 6 Beiträge

    Standard

    Hi,

    habe mal soetwas benutzt um neu erstellte DB's zu "befruchten".
    (Laufende Nummer des Index zu erhöhen) Geht am besten mit einem Schleifenzähler und einem Pointer.


    Markus

  9. #9
    Registriert seit
    18.03.2004
    Beiträge
    70
    Danke
    8
    Erhielt 6 Danke für 4 Beiträge

    Standard

    Ich hab das mal so gemacht:


    U M 10.0 //Flankenmerker DB mit 0 überschreiben
    SPBN INIT

    AUF DB 10 //Oeffne DB
    LAR1 P#0.0 //Start Adresse im DB
    L 32 //Anzahl Doppelworte zum überschreiben
    lp: L 0 //Wert zum überschreiben
    T DBD [AR1,P#0.0] //Zieladresse
    +AR1 P#4.0 //nächstes Doppelwort
    TAK //wieder Schaufenzähler in Akku 1 holen
    LOOP lp

    INIT: NOP 0


    Gruss

    Harry

  10. #10
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Diplomand,
    kannst du die SPS nicht urlöschen?
    Dann ist auch alles weg.
    mfG
    Elmo
    Zitieren Zitieren Uhr  

Ähnliche Themen

  1. Verkaufe C7 oder tausche gegen S7-200 Teile
    Von elektro_hirs im Forum Suche - Biete
    Antworten: 8
    Letzter Beitrag: 24.10.2009, 07:11
  2. S7 200 300 oder 400 komplett löschen
    Von speedyspeedy im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 09.04.2008, 17:46
  3. FC, FB oder OB aus Programm löschen
    Von fish09 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 31.08.2006, 11:17

Lesezeichen

Berechtigungen

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