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

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

Thread: Indirekte Adressierung

  1. #1
    Join Date
    05.12.2008
    Posts
    9
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen. Ich bin neu in Sachen SPS.
    Kann mir eine den vorhandenen Code kommentieren, was es macht und an welche Stelle.
    Danke im Voraus!
    L #ISTW
    T "MW 210"
    T #conv_akku1
    L "MB 210"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    T #conv_akku1
    L STW
    T #conv_stw
    L "MB 211"
    SLW 4
    LAR1
    L #conv_stw
    T STW
    L #conv_akku1
    L DBW [AR1,P#0.0]
    T "MW 212" // Istwert
    L #S_L // Auswertung L
    T "MW 210"
    T #conv_akku1
    L "MB 210"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    T #conv_akku1
    L STW
    T #conv_stw
    L "MB 211"
    SLW 4
    LAR1
    L #conv_stw
    T STW
    L #conv_akku1
    L DBW [AR1,P#0.0]
    T "MW 214" // Sollwert LAL
    L #S_H // Auswertung H
    T "MW 210"
    T #conv_akku1
    L "MB 210"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    T #conv_akku1
    L STW
    T #conv_stw
    L "MB 211"
    SLW 4
    LAR1
    L #conv_stw
    T STW
    L #conv_akku1
    L DBW [AR1,P#0.0]
    T "MW 216" // Sollwert LAH
    L #S_HH // Auswertung HH
    T "MW 210"
    T #conv_akku1
    L "MB 210"
    T #conv_index
    TAK
    L #conv_akku1
    AUF DB [#conv_index]
    T #conv_akku1
    L STW
    T #conv_stw
    L "MB 211"
    SLW 4
    LAR1
    L #conv_stw
    T STW
    L #conv_akku1
    L DBW [AR1,P#0.0]
    T "MW 218"
    Reply With Quote Reply With Quote Indirekte Adressierung  

  2. Folgender Benutzer sagt Danke zu PapaLeo für den nützlichen Beitrag:

    SIGGI (23.04.2009)

  3. #2
    Join Date
    30.06.2007
    Location
    In der Pfalz
    Posts
    505
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Default

    Wie wäre es denn wenn du erst mal das dazukommentierst was du weist bzw. vermutest und wir korrigieren es dann?

  4. #3
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    wer sowas programmiert frißt auch kleine kinder

    interessant wäre zum code auch eine kleine anlagen beschreibung, denn die symbolik ist wirklich nicht unbedingt der hammer

    und! falls du weitere code-schnipsel postest -> code-tags benutzen (link findest du in meiner signatur )
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #4
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    14,038
    Danke
    793
    Erhielt 3,227 Danke für 2,288 Beiträge

    Default

    Zudem fehlen wichtige Teile, z.Bsp. ist nicht ersichtlich, wo das AR1 denn geladen wird. Vielleicht wäre es sinvoller alles zu posten und den interessierenden Teil farblich hervorzuheben. Den Code wirklich zu erfassen macht wenig Sinn, der ist wirklich schauderhaft. Wichtiger wäre mal zu wissen, was suchst du, was soll der Code machen? Sieht irgendwie nach Daten von/an einen Slave (Servo?) aus.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    SIGGI (23.04.2009)

  7. #5
    Join Date
    01.10.2007
    Location
    Waiblingen
    Posts
    3,557
    Danke
    767
    Erhielt 537 Danke für 420 Beiträge

    Default

    also, ich hab da ein paar
    Code:
    SLW 4
    LAR1
    entdecken können ...

  8. Folgender Benutzer sagt Danke zu Perfektionist für den nützlichen Beitrag:

    SIGGI (23.04.2009)

  9. #6
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    14,038
    Danke
    793
    Erhielt 3,227 Danke für 2,288 Beiträge

    Default

    Quote Originally Posted by Perfektionist View Post
    also, ich hab da ein paar
    Code:
    SLW 4
    LAR1
    entdecken können ...
    Korrekt, die hab ich glatt übersehen.
    Ich stimme hiermit auch für die Nutzung von Code-Tags.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  10. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    SIGGI (23.04.2009)

  11. #7
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Code:
    *
    //ISTW (IN? oder von sonst irgendwo) in MW210 und conv_akku1 (TEMP?)
    
          L     #ISTW                 //2222 -> W#16#8AE
          T     "MW 210"              //W#16#8AE
          T     #conv_akku1           //W#16#8AE
    
    //high-byte von ISTW als index in akku1 (in akku2 steht noch ISTW)
    
          L     "MB 210"              //w#16#8
          T     #conv_index
    
    //akku1 gegen akku2 tauschen (akku1 ISTW;akku2 high-byte von ISTW)
    
          TAK
    
    //akku1 mit ISTW beschreiben, in akku2 steht jetzt auch ISTW
    
          L     #conv_akku1           //W#16#8AE
    
    //db-nummer aus high-byte von ISTW
    
          AUF   DB [#conv_index]      //DB 8
    
    //ISTW mit ISTW überschreiben
    
          T     #conv_akku1           //W#16#8AE
    
    //Statuswort sichern
    
          L     STW
          T     #conv_stw
    
    //low-byte von ISTW um 4 nach links schieben (-> * 16) und in adressregister 1 laden
    
          L     "MB 211"              //W#16#AE
          SLW   4                     //*16
          LAR1                        //W#16#AE0 -> P#348.0
    
    //Statuswort zurücksichern
    
          L     #conv_stw
          T     STW
    
    //ISTW in akku1
    
          L     #conv_akku1           //W#16#8AE  
    
    //aus DB [conv_index] das wort [ISTW * 2] in akku1 und in MW212 ablegen, ISTW in akku2 
    
          L     DBW [AR1,P#0.0]       //DB8.DBW348
          T     "MW 212" // Istwert
    
    //S_L (IN?) in MW210 und conv_akku1
    
          L     #S_L // Auswertung L
          T     "MW 210"
          T     #conv_akku1
    
    //hier beginnt der selbe mechanismus wie oben
    
          L     "MB 210"
          T     #conv_index
          TAK
          L     #conv_akku1
          AUF   DB [#conv_index]
          T     #conv_akku1
          L     STW
          T     #conv_stw
          L     "MB 211"
          SLW   4
          LAR1
          L     #conv_stw
          T     STW
          L     #conv_akku1
          L     DBW [AR1,P#0.0]
          T     "MW 214" // Sollwert LAL
    
    //und das ganze nochmal für S_H (IN?)
    
          L     #S_H // Auswertung H
          T     "MW 210"
          T     #conv_akku1
          L     "MB 210"
          T     #conv_index
          TAK
          L     #conv_akku1
          AUF   DB [#conv_index]
          T     #conv_akku1
          L     STW
          T     #conv_stw
          L     "MB 211"
          SLW   4
          LAR1
          L     #conv_stw
          T     STW
          L     #conv_akku1
          L     DBW [AR1,P#0.0]
          T     "MW 216" // Sollwert LAH
    
    //und nochmal für S_HH (IN?)
    
          L     #S_HH // Auswertung HH
          T     "MW 210"
          T     #conv_akku1
          L     "MB 210"
          T     #conv_index
          TAK
          L     #conv_akku1
          AUF   DB [#conv_index]
          T     #conv_akku1
          L     STW
          T     #conv_stw
          L     "MB 211"
          SLW   4
          LAR1
          L     #conv_stw
          T     STW
          L     #conv_akku1
          L     DBW [AR1,P#0.0]
          T     "MW 218"
    wenn man jetzt noch wüßte, was sich der programmierer dabei gedacht hat ... obwohl - eigentlich willl ich das gar nicht wissen ...
    Last edited by vierlagig; 10.12.2008 at 15:13. Reason: berechnungsbeispiel eingefügt
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  12. Folgende 2 Benutzer sagen Danke zu vierlagig für den nützlichen Beitrag:

    PapaLeo (11.12.2008),SIGGI (23.04.2009)

  13. #8
    Join Date
    15.10.2007
    Location
    St.Pölten
    Posts
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Default

    slw 4
    kann bedeuten pointerformat und den wert mal 2 in einem schritt.
    PS:Hab mir den code nicht angeschaut,aber ein kollege vonmir benutzt das öfter so.
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  14. Folgender Benutzer sagt Danke zu Gerhard K für den nützlichen Beitrag:

    PapaLeo (11.12.2008)

  15. #9
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    14,038
    Danke
    793
    Erhielt 3,227 Danke für 2,288 Beiträge

    Default

    Quote Originally Posted by Gerhard K View Post
    slw 4
    kann bedeuten pointerformat und den wert mal 2 in einem schritt.
    PS:Hab mir den code nicht angeschaut,aber ein kollege vonmir benutzt das öfter so.
    Ja, das machen manche Programmierer, wenn sie Wortweise Adressieren wollen, ihre Werte aber normal durchnummerieren.

    Adresse DW0 --> Wert 0
    Adresse DW2 --> Wert 1
    Adresse DW4 --> Wert 2

    Das als Pointer

    SLD 3
    Und dann noch *2
    also SLD 4

    Man geht also mit für Wert 1 mit 1 rein, der mit SLD 4 errechnete Pointer zeigt dann auf Adresse DW2 usw.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  16. Folgende 2 Benutzer sagen Danke zu Ralle für den nützlichen Beitrag:

    PapaLeo (11.12.2008),SIGGI (23.04.2009)

  17. #10
    Join Date
    01.10.2007
    Location
    Waiblingen
    Posts
    3,557
    Danke
    767
    Erhielt 537 Danke für 420 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Ralle View Post
    Korrekt, die hab ich glatt übersehen.
    ...
    aber ich hab auch erstmal , so zusammenhanglos, wie die eingestreut sind (ich hab mir aber jetzt nicht die Mühe gemacht, nachzuprüfen, ob die dazwischenliegende Behandlung des Statuswortes möglicher Weise diese Abfolge erfordert).

  18. Folgender Benutzer sagt Danke zu Perfektionist für den nützlichen Beitrag:

    SIGGI (23.04.2009)

Similar Threads

  1. Step 7 Indirekte Adressierung
    By firefox711 in forum Simatic
    Replies: 10
    Last Post: 16.05.2013, 07:55
  2. indirekte Adressierung
    By schneijo in forum Simatic
    Replies: 7
    Last Post: 22.10.2012, 14:42
  3. Indirekte-Adressierung
    By johnij in forum Simatic
    Replies: 2
    Last Post: 14.02.2008, 14:32
  4. Indirekte Adressierung
    By wusel220983 in forum Simatic
    Replies: 6
    Last Post: 18.05.2007, 18:19
  5. Indirekte Adressierung
    By Raab in forum Simatic
    Replies: 1
    Last Post: 20.12.2003, 12: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
  •