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

Ergebnis 1 bis 3 von 3

Thema: s5->s7 Übersetzung DW-Transfer Funktion

  1. #1
    Registriert seit
    21.04.2009
    Ort
    München
    Beiträge
    220
    Danke
    56
    Erhielt 0 Danke für 0 Beiträge

    Pfeil


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    in einer S5 wurde eine Transfer Funktion verwendet, welche Daten aus dem Schmiermerker (MW220 - 220 ) in ein DB geschrieben hat.

    FC
    Code:
     
     
          L     #OFFS
          L     #RZNR
          +I    
          T     MW   218
    //;
          L     #OFFS
          <=I   
          SPB   M001
          L     #ANZ
          +I    
          L     MW   218
          <I    
          SPB   M001
    //;
          T     #conv_akku1
          L     MB   219
          T     #conv_index
          TAK   
          L     #conv_akku1
          AUF   DB [#conv_index]
          L     DBB    3
          L     1
          <>I   
          SPB   M002
          ==I   
          =     #VORH
          SPA   M001
    //;
    M002: T     DBB    3
          U     #VORH
          R     #VORH
    //;
          CALL  "FB 70"
    //;
          CALL  "FB180"
           Q_DB:="DB 98"
           QANF:=110
           Z_DB:="DB  8"
           ZANF:=31
           ANZ :=4
    //;
         CALL  "FB 71"
           Q_DB:="DB  8"
           QANF:=2
           ZANF:=2
           ANZ :=41
    //;
          AUF   "DB  8"
          L     W#16#0
          T     DBW   60
          L     W#16#2020
          T     DBW   70
          T     DBW   72
          T     DBW   74
          T     DBW   76
          T     DBW   78
          T     DBW   80
    //;
    M001: NOP   0
    Innen drin siehts so aus:


    Code:
    FB 71                                         LAE=63
    Netzwerk 1                   DW-TRANSFER MIT DB-QUELLANGABE   FUP Ausgabe
        
    Name :DW-TRANS
    Bez  :Q-DB      E/A/D/B/T/Z: B
    Bez  :QANF      E/A/D/B/T/Z: D  KM/KH/KY/KC/KF/KT/KZ/KG: KF
    Bez  :ZANF      E/A/D/B/T/Z: D  KM/KH/KY/KC/KF/KT/KZ/KG: KF
    Bez  :ANZ       E/A/D/B/T/Z: D  KM/KH/KY/KC/KF/KT/KZ/KG: KF     :
         :LW  =Q-DB
         :T   MW 220
         :
         :LW  =QANF
         :T   MW 222
         :
         :LW  =ZANF
         :T   MW 226
         :
         :LW  =ANZ
         :T   MW 228
         :
    M001 :B   MW 220
         :A   DB   0
         :B   MW 222
         :L   DW   0
         :
         :B   MW 218
         :A   DB   0
         :B   MW 226
         :T   DW   0
         :
         :L   MW 222
         :I        1
         :T   MW 222
         :
         :L   MW 226
         :I        1
         :T   MW 226
         :
         :L   MW 228
         :D        1
         :T   MW 228
         :L   KF +0
         :>F
         :SPB =M001
         :
         :NOP 0
         :BE
    Step 7 hats so übersetzt:


    Code:
    FUNCTION FC 36 : VOID
      NAME: DW_TRANS  // DW-TRANS
      VAR_INPUT
        Q_DB      :block_db;  // Q-DB
        QANF      :int;       // QANF
        ZANF      :int;       // ZANF
        ANZ       :int;       // ANZ
      END_VAR
      VAR_TEMP
       conv_akku1 :dword;
       conv_akku2 :dword;
       conv_stw   :word;
       conv_index :word;
      END_VAR
      BEGIN
      NETWORK
      TITLE = DW-TRANSFER MIT DB-QUELLANGABE
           //;
      //      L   #Q_DB;
      // *** Fehler in Zeile     560  (FB  71):  Operator ungültig, kann eventuell durch die Anweisung:\"L   P##Q_DB\" ersetzt werden. ***
           T   MW 220;
           //;
           L   #QANF;
           T   MW 222;
           //;
           L   #ZANF;
           T   MW 226;
           //;
           L   #ANZ;
           T   MW 228;
           //;
      M001:NOP 0;
           T   conv_akku1;
           L   MB 221;
           T   conv_index;
           TAK;
           L   conv_akku1;
           AUF DB [conv_index];
           T   conv_akku1;
           L   STW;
           T   conv_stw;
           L   MB 223;
           SLW 4;
           LAR1;
           L   conv_stw;
           T   STW;
           L   conv_akku1;
           L   DBW [ AR1, P#0.0 ];
           //;
           T   conv_akku1;
           L   MB 219;
           T   conv_index;
           TAK;
           L   conv_akku1;
           AUF DB [conv_index];
           T   conv_akku1;
           TAK;
           T   conv_akku2;
           L   STW;
           T   conv_stw;
           L   MB 227;
           SLW 4;
           LAR1;
           L   conv_stw;
           T   STW;
           L   conv_akku2;
           L   conv_akku1;
           T  DBW [ AR1, P#0.0 ];
           //;
           L   MW 222;
           INC 1;
           T   MW 222;
           //;
           L   MW 226;
           INC 1;
           T   MW 226;
           //;
           L   MW 228;
           DEC 1;
           T   MW 228;
           L   0;
           >I;
           SPB M001;
           //;
           NOP 0;
    Könnt ihr mir vielleicht helfen wie ich den Baustein am besten ersetzt bekomme?


    Viele Grüße
    SK
    Geändert von superkato (10.11.2012 um 18:55 Uhr)
    TIA V13 + SP1 Update5 Windows8.1
    Zitieren Zitieren s5->s7 Übersetzung DW-Transfer Funktion  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    dazu wäre der S7-Blockmove gedacht (SFC20).
    Der würde genau das machen - du mußt dafür nur den Quell- und den Ziel-Datenbereich entweder sysmbolisch oder als selbst erstellten ANY-Pointer an den Baustein übergeben ...

    Gruß
    Larry

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

    superkato (11.11.2012)

  4. #3
    Avatar von superkato
    superkato ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.04.2009
    Ort
    München
    Beiträge
    220
    Danke
    56
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi, vielen dank! hat alles geklappt!!!!
    TIA V13 + SP1 Update5 Windows8.1

Ähnliche Themen

  1. SCL Übersetzung
    Von qpec_hagen im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 22.05.2012, 13:31
  2. Übersetzung S7-200 --> S7-300
    Von juliussezer im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 06.02.2012, 17:20
  3. Antworten: 9
    Letzter Beitrag: 04.01.2012, 07:45
  4. Übersetzung des S+ Programmcode
    Von TiNa_cb im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 19.11.2009, 12:55
  5. Übersetzung stoßfrei
    Von Kniffo im Forum Stammtisch
    Antworten: 23
    Letzter Beitrag: 19.10.2007, 13:49

Lesezeichen

Berechtigungen

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