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

Ergebnis 1 bis 3 von 3

Thema: DB bereich kopieren / Syntaxproblem

  1. #1
    Registriert seit
    02.03.2007
    Beiträge
    43
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    habe das Forum schon mehrmals durchsucht habe aber für mein Problem keine Lösung bzw. nicht den richtigen Ansatz gefunden.

    Mein Problem.

    Ich greife von einem OP7 auf einen Datenbaustein zu.
    Dieser Datenbaustein enthät Infos und Bedienhinweise für das Personal.
    Bis zur Adresse 174.0 ist die Datenstruktur immer gleich .
    Ab 174.0 stehen die Positionierdaten (unterschiedliche Länge)für eine FM353.
    D.h. ich bräuchte nur die Adressen bis 170.0

    Mein Problem ich möchte Daten von Adresse 0.0 bis 174.0 (aus ca. 80 versch. DB´s)in den DB60 kopieren.Abhängig von Zählerstand Z1.
    Beispiel DB als Anhang


    Die DB´s öffne ich mit u.g. Befehlen

    L "Programmnummer" //Z1
    T "INHALT_DB_NR" //MW 40
    AUF DB ["INHALT_DB_NR"]

    Aber den Syntax für BLKMOVE bekomme ich nicht zusammen da ja der Quell-DB immer ein anderer ist (-> ["Inhalt_DB_NR"].
    Auch für ein Pointerfomat fehlt mir der Syntax!

    CALL "BLKMOV"
    SRCBLK :="srcdata".srcdata ???
    RET_VAL:=MW100
    DSTBLK :="dstdata".dstdata




    Gruß Kodan
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren DB bereich kopieren / Syntaxproblem  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    darf ich fragen, wie lange du gesucht hast? ... also ich habe nach gefühlten 10, geschätzten 20 sekunden, weil mein chef grad was wollte, dass hier gefunden:

    indriekte Adressierung von sfc20 (blkmov)

    da postete der geschätzte Kollege Ralle folgenden Code:

    Code:
    *
    FUNCTION FC 112 : INT
    TITLE =BLK_Move
    AUTHOR : Ralle
    NAME : BLK_MOVE
    VERSION : 1.0
    
    
    VAR_INPUT
      AnzahlDBB : INT ; 
      QuellDB : INT ;   
      QuellDW : INT ;   
      ZielDB : INT ;    
      ZielDW : INT ;    
    END_VAR
    VAR_TEMP
      Quelle : ANY ;    
      Ziel : ANY ;  
    END_VAR
    BEGIN
    NETWORK
    TITLE =Blocktransfer zwischen Datenbausteinen
    
          LAR1  P##Quelle; //Anfangsadresse des ANY-Pointers in AR1 laden
        
          L     B#(16, 2); //Syntax-ID und Typ: Byte laden
          T     LW [AR1,P#0.0]; 
          L     #AnzahlDBB; //Transferlaenge
          T     LW [AR1,P#2.0];  
          L     #QuellDB; //Quelle-DB 
          T     LW [AR1,P#4.0]; 
          L     P#DBX 0.0; //Anfangs-DW im Quell-DB
          L     #QuellDW; 
          SLW   3; 
          +D    ; 
          T     LD [AR1,P#6.0]; 
    
          LAR1  P##Ziel; //Anfangsadresse des ANY-Pointers in AR1
    
          L     B#(16, 2); //Syntax-ID und Typ: Byte laden
          T     LW [AR1,P#0.0]; 
          L     #AnzahlDBB; //Transferlaenge
          T     LW [AR1,P#2.0]; 
          L     #ZielDB; //Ziel-DB
          T     LW [AR1,P#4.0]; 
          L     P#DBX 0.0; //Anfangs-DW im Ziel-DB
          L     #ZielDW; 
          SLW   3; 
          +D    ; 
          T     LD [AR1,P#6.0]; 
    
          CALL SFC   20 (
               SRCBLK                   := #Quelle,
               RET_VAL                  := #RET_VAL,
               DSTBLK                   := #Ziel);
    END_FUNCTION
    noch weitere Fragen?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Kodan (30.04.2008)

  4. #3
    Kodan ist offline Benutzer
    Themenstarter
    Registriert seit
    02.03.2007
    Beiträge
    43
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke Vierlagig.

    du kommst aber hier im vorum auch überall rum und kennst dich aus...
    Dein Posting werd ich mir mal zu gemüte führen...
    Unser Internetanschluss in der Firma ist ziemlich lahm..evtl. darum nicht so lange gesucht....oder nicht das richtige gefunden..


    Ich hoffe ich komm klar mit dem Code..

    Danke nochmals für die Hilfe..


    Gruß Kodan...

Ähnliche Themen

  1. ea Bereich sz 317 2dp
    Von Bensen83 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.07.2011, 10:32
  2. EX Bereich
    Von Phil im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 2
    Letzter Beitrag: 06.06.2008, 07:14
  3. Antworten: 0
    Letzter Beitrag: 25.04.2007, 07:50
  4. Daten von einem DB inTemp Bereich kopieren
    Von neuer_user im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 05.10.2006, 14:29
  5. Panel im Ex-Bereich?
    Von Anonymous im Forum HMI
    Antworten: 6
    Letzter Beitrag: 21.11.2005, 07:20

Lesezeichen

Berechtigungen

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