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

Page 1 of 2 12 LastLast
Results 1 to 10 of 11

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

  1. #1
    Join Date
    19.03.2004
    Posts
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    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
    Reply With Quote Reply With Quote DB komplett oder große Teile löschen  

  2. #2
    Join Date
    16.06.2003
    Location
    88356 Ostrach
    Posts
    4,854
    Danke
    1,279
    Erhielt 1,125 Danke für 537 Beiträge

    Default

    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
    Join Date
    19.03.2004
    Posts
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Reply With Quote Reply With Quote Ziel: Netzwerkanzahl gering, Übersicht  

  4. #4
    NetPirate Gast

    Default

    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
    Join Date
    19.03.2004
    Posts
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hallo Net-Pirat,

    icn nutze die CPU 313-2DP.

    Gruß

    Martin
    Reply With Quote Reply With Quote CPU 313-2DP  

  6. #6
    Join Date
    06.10.2003
    Posts
    3,990
    Danke
    531
    Erhielt 648 Danke für 509 Beiträge

    Default

    Hallo Diplomand,

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



    Gruß, Onkel

  7. #7
    Anonymous Gast

    Default

    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
    Join Date
    16.03.2004
    Posts
    273
    Danke
    2
    Erhielt 10 Danke für 6 Beiträge

    Default

    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
    Join Date
    18.03.2004
    Posts
    72
    Danke
    8
    Erhielt 6 Danke für 4 Beiträge

    Default

    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

    Default


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

Similar Threads

  1. Verkaufe C7 oder tausche gegen S7-200 Teile
    By elektro_hirs in forum Suche - Biete
    Replies: 8
    Last Post: 24.10.2009, 07:11
  2. S7 200 300 oder 400 komplett löschen
    By speedyspeedy in forum Simatic
    Replies: 26
    Last Post: 09.04.2008, 17:46
  3. FC, FB oder OB aus Programm löschen
    By fish09 in forum Simatic
    Replies: 0
    Last Post: 31.08.2006, 11:17

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
  •