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

Ergebnis 1 bis 9 von 9

Thema: Adressregister: Pointeradresse anzeigen

  1. #1
    Registriert seit
    22.08.2006
    Beiträge
    43
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte gerne mit der Anweisung:

    L DBLG // feststellen der Bausteinlänge

    und dem Auslesen der aktuellen Pointeradressierung feststellen, wenn der Pointer in einen nicht mehr vorhandenen DB-Bereich liest oder schreibt.

    Hierfür muß ich wissen, ob die Pointeradressierung die im Status im Bereich

    AR1 oder AR2 (z.B. P#100.0)

    steht, ausgelesen werden kann.


    Kennt dafür jemand eine Möglichkeit?
    Zitieren Zitieren Adressregister: Pointeradresse anzeigen  

  2. #2
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Das wird nicht so einfach gehen, die Adresse steht in dem AR, welches vom Programmierer verwendet wurde, sicherlich vorzugshalber AR1, aber das ist halt nicht unbedingt so.

    Dann hast du beim schreiben / lesen einen Offset, der dem AR nicht bekannt ist
    Code:
    T DBD[AR1,P#10.0]
    .

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

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

    du könntest dir allerdings einen Hilfspointer basteln.
    Code:
    hm_dword : dword ;
    
    L Anfangsadresse
    SLD 3
    L P#100.0
    +d
    T hm_DWORD
    
    L DBW [hm_dword]
    Die von mir erzeugte Variable kansst du mit sicherheit auch mit deiner DB-Länge vergleichen ...

  4. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Wozu dient das?

    Aber eine Idee- ist nicht zu Ende gedacht ist- dass Du dort wo Du das machst (zB Schleife) ein Bit setzt, und wenn Du wegen Bereichslängenfehler Schreiben/Lesen in einen OB springst und dieses Bit auswertest mit annähender Sicherheit sagen kannst dass dieser Bereich ungültig ist.

  5. #5
    sven ist offline Benutzer
    Themenstarter
    Registriert seit
    22.08.2006
    Beiträge
    43
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Blinzeln

    Hallo,

    die Lösung sprang mich an:

    TAR1 // AR1 im Pointerformat anzeigen lassen
    SRD3 // durch rechtsschieben auf INT-Format bringen
    L DBLG // Siemensbefehl zum anzeigen der DB-Länge in Byte
    >D // Vergleich, das TAR1 < DBLG ist
    =Störbit // sonst Störbit =1
    Zitieren Zitieren Das Leben ist so einfach  

  6. #6
    sven ist offline Benutzer
    Themenstarter
    Registriert seit
    22.08.2006
    Beiträge
    43
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für die Hilfestellung
    Zitieren Zitieren Bedankt  

  7. #7
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Frage

    Hast du meinen Beitrag zur Kenntnis genommen

    pt

    Zitat Zitat von sven Beitrag anzeigen
    Hallo,

    die Lösung sprang mich an:

    TAR1 // AR1 im Pointerformat anzeigen lassen
    SRD3 // durch rechtsschieben auf INT-Format bringen
    L DBLG // Siemensbefehl zum anzeigen der DB-Länge in Byte
    >D // Vergleich, das TAR1 < DBLG ist
    =Störbit // sonst Störbit =1
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren wenn man liest  

  8. #8
    sven ist offline Benutzer
    Themenstarter
    Registriert seit
    22.08.2006
    Beiträge
    43
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja, habe ich, aber damit lese ich den Inhalt des Adressbereichs aus. Ich wollte aber die Pointer Adresse sehen.
    Ich habe mir das gestern schon von einem Kollegen erklären lassen, habe das aber nicht richtig verstanden. Er meinte auch, das dies die Lösung ist.
    Nach meinen Versuchen lese ich aber damit, wie gesagt, den Inhalt aus.

    Habe ich das jetzt korrekt dargestellt?

  9. #9
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich kenne ja nicht dein Vorhaben, wenn du den Source noch schreibst, kannst du den ja entsprechend deinem Vorhaben erstellen, wenn es universell sein soll, wird das halt nicht gehen.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

Ähnliche Themen

  1. Adressregister im FB
    Von moggi im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 02.03.2011, 09:58
  2. Pointeradresse in einer STRUCT
    Von JoeCool16 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2009, 09:18
  3. Adressregister u Pointer in FB
    Von Gerri im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 30.09.2009, 18:17
  4. Pointeradresse erhöhen
    Von tino2512 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 23.08.2006, 11:15
  5. Adressregister
    Von Ralle im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 31.08.2004, 10:46

Lesezeichen

Berechtigungen

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