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

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

Thread: Fragen zu Pointern

  1. #1
    Join Date
    28.01.2004
    Location
    Bodensee
    Posts
    272
    Danke
    19
    Erhielt 15 Danke für 13 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    in einem Programm sind folgende Befehle programmiert:

    DBX (AR1,P#101.6) und DBX (AR1,P#101.7)

    DBW (AR1,P#100.0)

    Wie kann man die oben angegebenen Befehle beschreiben bzw. Erklärung dafür?

    Danke für euere Bemühungen!!!
    Reply With Quote Reply With Quote Fragen zu Pointern  

  2. #2
    Join Date
    30.08.2003
    Posts
    2,235
    Danke
    31
    Erhielt 260 Danke für 230 Beiträge

    Default

    Hallo,

    ohne unhöflich zu erscheinen... Aber die Onlinehilfe von S7 ist da sehr aussagekräftig. Ansonsten Suchfunktion im Forum.

    MfG
    André Räppel
    Reply With Quote Reply With Quote Pointer  

  3. #3
    Anonymous Gast

    Default

    Vorher wurde mit Sicherheit das Adressregister 1 Beschrieben

    DBX(AR1.P#101.6) spricht das Bit an das 101 Byte 6 Bit aufsteigend von dem Pointer in AR1 steht,
    DBW(AR1,P#100.0) das Wort an das 100 Byte 0 Bit aufsteigend von dem Pointer in AR1 steht

    Gruß

    Ralf

  4. #4
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    Im AR1 steht eine dynamische Adresse. Zu dieser wird ein Offset in Form Byte.Bit addiert. Das ergibt eine neue Adresse mit der gearbeitet wird.

    Kein schönes Thema bei S7.

    Gruß pt

  5. #5
    INST is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    28.01.2004
    Location
    Bodensee
    Posts
    272
    Danke
    19
    Erhielt 15 Danke für 13 Beiträge

    Default

    Hallo sps-concept,

    Danke für deine Antwort, aber wenn ich in der Online Hilfe was gefunden hätte, dann würde ich hier nicht inserieren. Ich habe gehofft, das ich hier auf meine Frage ein Antwort bekomme, die mir weiterhilft bzw. eine Erklärung finde.
    Reply With Quote Reply With Quote Antwort zu sps-concept  

  6. #6
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    Ist es Dir denn jetzt klar geworden?

  7. #7
    Join Date
    30.08.2003
    Posts
    2,235
    Danke
    31
    Erhielt 260 Danke für 230 Beiträge

    Default

    Das hab ich nicht grundlos geschrieben.... Gefunden in der Siemens-Hilfe

    Code:
    Verwenden des Parametertyps POINTER 
    
    Ein Pointer wird verwendet, um auf einen Operanden zu zeigen. Der Vorteil dieser Adressierung ist, daß Sie den Operanden der Anweisung während der Programmbearbeitung dynamisch modifizieren können. 
    
    Pointer zur speicherindirekten Adressierung 
    
    Programmanweisungen, die mit der speicherindirekten Adressierung arbeiten, setzen sich zusammen aus einer Operation, einem Operandenkennzeichen und einem Versatz (der Versatz muß in eckigen Klammern angegeben werden). 
    
    Beispiel für einen Pointer im Doppelwortformat: 
    
    
    L  P#8.7  Lade den Wert des Pointers in AKKU 1. 
     
    T  MD2  Transferiere den Pointer nach MD2. 
     
    U  E [MD2]  Frage den Signalzustand an Eingang E 8.7 ab, 
     =  A [MD2]  und weise den Signalzustand Ausgang A 8.7 zu. 
     
    Pointer zur bereichsinternen und bereichsübergreifenden Adressierung 
    
    Die Programmanweisungen, die mit diesen Adressierungen arbeiten, setzen sich zusammen aus einer Operation und den folgenden Teilen: Operandenkennzeichen, Adreßregister-Kennung, Versatz. 
    
    Das Adreßregister (AR1/2) und der Versatz müssen zusammen in eckigen Klammern angegeben werden. 
    
    Beispiel zur bereichsinternen Adressierung 
    
    Der Pointer enthält keine Angabe zu einem Speicherbereich: 
    
    
    L  P#8.7  Lade den Wert des Pointers in AKKU 1. 
     LAR1  Lade den Pointer von AKKU 1 in AR1. 
     
    U  E [AR1, P#0.0]  Frage den Signalzustand an Eingang E 8.7 ab und 
     =  A [AR1, P#1.1]  weise den Signalzustand dem Ausgang zu A 10.0 zu 
     
    
    
    Der Versatz 0.0 hat keinen Einfluß. Ausgang 10.0 errechnet sich aus 8.7 (AR1) plus den Versatz 1.1. Das Ergebnis ist 10.0 und nicht 9.8, siehe Pointer-Format. 
    
    Beispiel zur bereichsübergreifenden Adressierung 
    
    Bei der bereichsübergreifenden Adressierung ist im Pointer der Speicherbereich angegeben (im Beispiel E bzw. A). 
    
    
    L  P# E8.7  Lade den Wert des Pointers und Bereichskennung in AKKU 1. 
    LAR1  Lade Speicherbereich E und die Adresse 8.7 in AR1. 
     
    L  P# A8.7  Lade den Wert des Pointers und Bereichskennung in AKKU 1. 
    LAR2  Lade Speicherbereich A und die Adresse 8.7 in AR2. 
     
    U  [AR1, P#0.0]  Frage den Signalzustand an Eingang E 8.7 ab und 
    =  [AR2, P#1.1]  weise den Signalzustand Ausgang A 10.0 zu. 
     
    
    
    Der Versatz 0.0 hat keinen Einfluß. Ausgang 10.0 errechnet sich aus 8.7 (AR2) plus 1.1 (Versatz). Das Ergebnis ist 10.0 und nicht 9.8, siehe Pointer-Format.
    MfG
    André Räppel
    Reply With Quote Reply With Quote Onlinehilfe  

  8. #8
    INST is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    28.01.2004
    Location
    Bodensee
    Posts
    272
    Danke
    19
    Erhielt 15 Danke für 13 Beiträge

    Default

    Hallo nochmal,

    die von dir aufgeführte Erklärung des Pointers habe ich auch gefunden, aber hat mir leider nicht weiter geholfen, da ich bei Pointerprogrammierung Anfänger bin. Deshalb habe ich speziell die Befehle hier reingeschreiben, die ich benötige, um ein vorhandenes Programm zu verstehen. Aber trotzdem Danke. Kennt ihr vielleicht eine gute Seite, wo Pointer vom Anfang an bis ...... gut erklärt sind??
    Reply With Quote Reply With Quote S7 Hilfe  

  9. #9
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    Ich habe noch nichts besseres gefunden und habe mich auch mit Kopfschmerzen in die Geschichte eingearbeitet. Es gibt noch ein Software Referenzhandbuch von Siemens das ich als CD habe und wahrscheinlich jeder andere auch. Das hatte ich mir noch zur Hilfe genommen.

    Aber denk einfach nicht zu kompliziert.

    Bei Deienm Bsp. wird bei dem vorher aufgeschlagenen DB ein Bit angesprochen.

    Im AR1 steht zum Beispiel 10.0
    Hinzuaddiert wird der Zeiger mit dem Wert 101.6
    Ergibt: 111.6

    Also, DBX111.6 wird manipuliert.

    Gruß pt

  10. #10
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren


    Schau Dir mal Kapiltel 4.4 an.

    Son ähnlicher Link ist gerade in einem anderen Topic aufgetaucht.

Similar Threads

  1. Konvertierung von Pointern
    By Thost in forum CODESYS und IEC61131
    Replies: 3
    Last Post: 15.07.2017, 18:18
  2. Step 7 Verständniss zu Pointern
    By Bekanor in forum Simatic
    Replies: 7
    Last Post: 15.04.2016, 17:43
  3. Hilfe mit Pointern
    By d.schubert1982 in forum Simatic
    Replies: 7
    Last Post: 08.02.2012, 16:36
  4. Frage(n) zu Pointern
    By pinolino in forum Simatic
    Replies: 10
    Last Post: 08.07.2009, 07:29
  5. Arbeiten mit zwei Pointern im FB
    By ottokar24 in forum Simatic
    Replies: 11
    Last Post: 28.01.2009, 10:13

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
  •