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

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

Thema: Indirekte Adressierung

  1. #1
    Registriert seit
    05.12.2008
    Beiträge
    9
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    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"
    Zitieren Zitieren Indirekte Adressierung  

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

    SIGGI (23.04.2009)

  3. #2
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

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

  4. #3
    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

    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
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    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
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    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
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von Perfektionist Beitrag anzeigen
    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
    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

    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 ...
    Geändert von vierlagig (10.12.2008 um 15:13 Uhr) Grund: 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
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    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
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von Gerhard K Beitrag anzeigen
    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
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    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)

Ähnliche Themen

  1. Indirekte Adressierung in AWL
    Von Bensen83 im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 31.01.2015, 15:58
  2. indirekte Adressierung
    Von Sash7770 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 22.12.2008, 12:47
  3. indirekte Adressierung
    Von Linowitch im Forum HMI
    Antworten: 13
    Letzter Beitrag: 06.12.2008, 19:43
  4. Indirekte Adressierung
    Von thomasgull im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 31.01.2008, 14:49
  5. Indirekte Adressierung von SFC 20
    Von andre im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 05.09.2005, 09:44

Lesezeichen

Berechtigungen

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