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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 35

Thema: Byte adresse aus Any-Inparameter ziehen!

  1. #21
    Registriert seit
    18.12.2008
    Beiträge
    33
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wie schon oben beschrieben fb
    aufrufstruktur:
    ob1
    ..fb80
    ......fb81
    .............fb88 // der oben gezeigte fb

    die fb´s ein gemeinsamer idb

    wie gesagt der pointer den ich mir baue zeugt auf die richtige stelle im idb
    nur wenn ich da was lade is da nix... sollte im 6.0er die 1000, stehen und im 4.0er wort der db81
    Geändert von droop38 (14.11.2011 um 13:09 Uhr)

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Code:
    LAR1     P##Offs_Quelle
          TAR2  
          +AR1  
    
          L     D [AR1,P#6.0]
          UD    DW#16#FFFFFF                // vorderen Bereich ausmaskieren
          SRD   3                           // Bit-Adresse in Byte-Adresse umrechnen
          T     #offset_1
    so geht es auf jeden Fall - ist getestet ...!

    Gruß
    Larry

  3. #23
    Registriert seit
    18.12.2008
    Beiträge
    33
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    mhm funktioniert schon wenn man keine 10000 byte vorher hat
    kanns vielleicht daran liegen dass im AR1 nach der +d das DI fehlt?
    bzw wie kann ich dafür sorgen dass es nicht verschwindet`?
    die obenangegebene version funktioniert leider nur wenn der idb eben nicht so lang ist....
    sobald der idb länger wird (die genaue grenze weis ich leider nicht) hauts nimma hin

    DB.JPG
    Geändert von droop38 (16.11.2011 um 08:21 Uhr)

  4. #24
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    bei mir gehts ... (wie in meinem Beispiel realisiert)
    Welchen Typs ist denn bei dir der "#offset_1" - bei mir ist das ein Doppelwort (oder DINT) ...

    Gruß
    Larry

  5. #25
    Registriert seit
    18.12.2008
    Beiträge
    33
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    soweit komm ich ja gar nicht bei l d [ar1 usw wusw] steht ja schon nix drinnen!?!
    der pointer (11830) würde stimmen
    beim beispiel wird ja mit +AR1 gearbeitet...
    kanns sein dass hier das problem liegt? dass dieser begrenzt ist?
    der hat ja normalerweise mit 32000 herum aber mit diesem DI oder DB?

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

    Standard

    Hallo,

    Dann schreibs doch mal so wie in Larry's Code

    Code:
    LAR1     P##Offs_Quelle
    TAR2
    +AR1
    L     D [AR1,P#6.0]

  7. #27
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    ... klar ist der begrenzt ... das ist ein Doppelwort. Ich fürchte nur, dass du eher einen Adressierfehler bekommst (weil du den Adressraum der SPS sprengst) bevor du hier einen Überlauf bekommst.
    Wie schon von Verpolt netterweise genannt - ich beziehe mich auf den zitierten Codeschnipsel - du auch ?

  8. #28
    Registriert seit
    18.12.2008
    Beiträge
    33
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hallo noch mal
    wie schon oben beschrieben funktionierts leider doch nicht!
    im roten kreis sollte ja dann 10784 stehen oder?`tuts aber nicht
    der offs_ziel liegt im idb ab byte 10.0 wie hier im AR1 zu sehen
    Der idb offset liegt bei 10774 im AR2
    im übrigen ist die cpu fehlerfrei...
    ich schätze ja wie oben schon gesagt dass das "DI" wie hier im AR 2 zu sehen ist im Doppelwort mitreincodiert ist!
    gibts da ne beschreibung wie´s im AR1 auszusehen hat?

    ich hoffe ich habe mich klar genug ausgrdrückt!

    mfg christian

    DB.JPG

  9. #29
    Registriert seit
    20.12.2007
    Beiträge
    48
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo,
    ich denke, dass die Kennung des Operandenbereiches ausgeblendet werden muss (bereichsinterner Zeiger/ bereichsübergreifender Zeiger).

    so:
    Code:
    LAR1 P##Offs_Ziel
    TAR2
    UD DW#16#FFFFFF
    +AR1
    L D[AR1, P#6.0]
    _____________________________________________________________
    Männer schnarchen, um Frauen nachts vor wilden Tieren zu beschützen!

  10. #30
    Registriert seit
    18.12.2008
    Beiträge
    33
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    nope keine besserung er schreibt mir wie oben di 2592 rein statt di1074.... =(

Ähnliche Themen

  1. Antworten: 15
    Letzter Beitrag: 09.09.2011, 10:56
  2. SImatic Update ziehen
    Von GreenWhiteAngel im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.02.2009, 17:58
  3. Antworten: 4
    Letzter Beitrag: 08.07.2008, 08:52
  4. Byte-, & Bit-Adresse aus einer Ganzzahl errechnen
    Von LittleJack86 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 21.04.2008, 20:18
  5. Kabel ziehen
    Von waldy im Forum Stammtisch
    Antworten: 3
    Letzter Beitrag: 18.11.2005, 18:14

Lesezeichen

Berechtigungen

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