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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: PEW/PAW über Schleife und indirekter Programmierung einlesen/auslesen

  1. #1
    Registriert seit
    10.06.2011
    Beiträge
    9
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bin noch Anfänger in der SPS-Programmierung (ca. 1 Jahr fertig mit Studium) und habe folgendes Problem. Über Profibus DP ist eine IM an eine WinLC angebunden. Die Peripherie Eingangs-Worte möchte ich auf einen DB schreiben. Hierbei möchte ich aber nicht jeden PEW einzeln laden und auf die gewünschte DB-Adresse transferieren. Dieser Vorgang soll in einer Schleife ablaufen. Hat jemand eine Idee dazu?
    Zitieren Zitieren PEW/PAW über Schleife und indirekter Programmierung einlesen/auslesen  

  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

    Code:
     l     pew [ar1,p#0.0]
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    WieGehtDas ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.06.2011
    Beiträge
    9
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Vierlagig,

    erstmal danke für deine Antwort. Allerdings kann ich damit so nicht viel anfangen. Was meinst du damit?

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

    Zitat Zitat von WieGehtDas Beitrag anzeigen
    Hallo Vierlagig,

    erstmal danke für deine Antwort. Allerdings kann ich damit so nicht viel anfangen. Was meinst du damit?
    sekundärliteratur: http://www.sps-forum.de/showthread.php?t=8887
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    WieGehtDas (10.06.2011)

  6. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    was fertiges liegt hier in beitrag 8
    http://www.sps-forum.de/showthread.p...959#post334959
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  7. Folgender Benutzer sagt Danke zu volker für den nützlichen Beitrag:

    WieGehtDas (10.06.2011)

  8. #6
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hier mal ein paar Schnipsel

    4 Eingangsworte

    Code:
     
          L     #iEA_Adresse                //Hardware E/A Adresse
          SLD   3                           //Bitbereich ausblenden
          T     #wEA_Temp                   //temporär speichern
    
          TAR1  #dTempAR1                   //Adressregister retten
          TAR2  #dTempAR2                   //Adressregister retten
    
    
          LAR1  #wEA_Temp                   //Startadresse der Quelle in AR1
          LAR2  P##PI                       //Startadresse des Ziels in AR2
    
          L     PED [AR1,P#0.0]             //1.PED-Word laden
          T     D [AR2,P#0.0]               //und in PI-Temp schreiben
    
          L     PED [AR1,P#4.0]             //2. PED-Word laden
          T     D [AR2,P#4.0]               //und in PI-Temp schreiben
    
          LAR1  #dTempAR1                   //Adressregister zurückschreiben      
          LAR2  #dTempAR2                   //Adressregister zurückschreiben
    4 Ausgangsworte

    Code:
     
          TAR1  #dTempAR1                   //Adressregister retten
          TAR2  #dTempAR2                   //Adressregister retten
    
          LAR1  P##PO                       //Startadresse der Quelle in AR1
          LAR2  #wEA_Temp                   //Startadresse des Ziels in AR2
    
          L     D [AR1,P#0.0]               //PO-Temp 1.DW laden
          T     PAD [AR2,P#0.0]             //und in 1. PAD-word (byte 0/1/2/3) schreiben
    
          L     D [AR1,P#4.0]               //PO-Temp 2.DW laden
          T     PAD [AR2,P#4.0]             //und in 2. PAD-word (byte 4/5/6/7) schreiben
    
          LAR1  #dTempAR1                   //Adressregister zurückschreiben
          LAR2  #dTempAR2                   //Adressregister zurückschreiben

  9. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    WieGehtDas (10.06.2011)

  10. #7
    WieGehtDas ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.06.2011
    Beiträge
    9
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hab ich das so richtig verstanden?

    L 512
    SLD 3
    LAR1 // ergibt einen pointer von P#512.0 in adressregister1
    L pew [AR1,P#0.0] // lädt das Pew 512
    T Db201.dbw2

    Damit müßte zumindest erstmal das PEW 512 auf den DB201 Adresse 2 geschrieben werden, oder?
    Geändert von WieGehtDas (10.06.2011 um 09:34 Uhr)

  11. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    nach deiner Änderung ist es so korrekt ... Davor ...

    Gruß
    Larry

    Nachsatz:
    Wenn du nun in einer Schleife den Wert des AR1 immer um P#2.0 erhöhst würdest du so dann das jeweils nächste PEW addressieren ...

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

    WieGehtDas (10.06.2011)

  13. #9
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Zitat Zitat von WieGehtDas Beitrag anzeigen
    Hab ich das so richtig verstanden?

    L 512 //
    SLD 3
    LAR1 // ergibt einen pointer von P#512.0 in adressregister1
    L pew [AR1,P#0.0] // lädt das Pew 512
    T Db201.dbw2

    Damit müßte zumindest erstmal das PEW 512 auf den DB201 Adresse 2 geschrieben werden, oder?
    Ja_______________________-

  14. #10
    WieGehtDas ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.06.2011
    Beiträge
    9
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja sorry Larry, das hatte ich vorher nur fix rein kopiert und dabei irgendwie auch gleich reingestellt ohne es bearbeitet zu haben.

    Damit könnte ich im nächsten Schritt versuchen über das ganze eine Schleife zu legen:

    L 512
    T #Temp1 // Startadresse des ersten PEW

    L 10 // Anzahl der PEW's
    Next: T MB 1 // Schleifen-Anfang

    L #Temp1
    SLD 3
    LAR1 // ergibt einen pointer von P#512.0 in adressregister1
    L pew [AR1,P#0.0] // lädt das Pew 512
    T #Temp2 // Adresse DB bspw. DB201.dbw2

    L #Temp1 // Berechnung der nächsten PEW-Adresse --> PEW 514
    L 2
    +D
    T#Temp1

    L #Temp2 // Berechnung der nächsten DB-Adresse --> DB201.dbw4
    L 16
    +D
    T#Temp2

    L MB 1
    Loop Next


    Könnte das so funktionieren?
    Geändert von WieGehtDas (10.06.2011 um 09:53 Uhr)

Ähnliche Themen

  1. Mit Schleife DB-Werte rückwärts auslesen?
    Von Rauchegger im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 28.10.2011, 10:46
  2. Auslesen der Programmierung?
    Von blimaa im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 04.04.2011, 20:37
  3. S7 Software zum einlesen u. auslesen von Programme
    Von SlaveMaster im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.03.2011, 09:26
  4. Antworten: 5
    Letzter Beitrag: 11.06.2008, 16:08
  5. Antworten: 6
    Letzter Beitrag: 10.07.2007, 02:15

Lesezeichen

Berechtigungen

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