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

Ergebnis 1 bis 8 von 8

Thema: Structur an FB-Eingang --> Wie ist das Pointerformat ?

  1. #1
    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
    Wenn ich einen IO vom Datentyp Struct deklariere und diesen mit eienm Zeiger auf einen DB lege, dann habe ich einen 6 Byte großen IO.

    Im ersten Wort steht die DB-Nr
    Code:
    L p##EinAusgang
    LAR1
    
    L W[AR1,P#0.0]
    T DB_Nr
    Aber, wo steht die Anfangsadresse, also der Offset im DB?

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

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren Structur an FB-Eingang --> Wie ist das Pointerformat ?  

  2. #2
    Registriert seit
    06.10.2003
    Beiträge
    3.410
    Danke
    449
    Erhielt 504 Danke für 407 Beiträge

    Standard

    Hallo pt,

    wenn du die nächsten 4 Byte des DB-Pointers lädst
    Code:
    L     D [AR1,P#2.0]
    ..dann lädst du den Bereichszeiger, in dem deine Startadresse wie folgt steht.

    • 00000000_00000yyy_yyyyyyyy_yyyyyxxx

      x - Bitadresse
      y - Byteadresse


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  3. #3
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Das dachte ich auch, aber da steht eigentlich nicht das drin, was ich suche, obwohl der Abstand (16Byte)zwischen den beiden Structuren in den Adressen zu finden ist, aber halt nicht die absolute Adresse.

    Ich probier noch mal.

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

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

  4. #4
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Geht doch. Ich hätte schwören können, dass ich die Bit´s links vorher auch schon mal rausgeschoben habe.

    Nu denn, danke sagt pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

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

  5. #5
    Registriert seit
    06.10.2003
    Beiträge
    3.410
    Danke
    449
    Erhielt 504 Danke für 407 Beiträge

    Standard

    ...obwohl der Abstand (16Byte)zwischen den beiden Structuren in den Adressen zu finden ist...
    Die Datenlänge der Struktur stände bei einem ANY-Pointer (10Byte) im zweiten Wort. Als was ist der Parameter denn deklariert, Pointer oder ANY?


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  6. #6
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert
    ...obwohl der Abstand (16Byte)zwischen den beiden Structuren in den Adressen zu finden ist...
    Die Datenlänge der Struktur stände bei einem ANY-Pointer (10Byte) im zweiten Wort. Als was ist der Parameter denn deklariert, Pointer oder ANY?


    Gruß, Onkel
    Ich hatte die EingangsVar als Structur deklariert. Also bekomme ich das Pointerformat. Das kenne ich, umso mehr war ich gestern verwundert, das ich nicht die richtige Adr. bekam. Aber wahrscheinlich habe ich beim ausmaskieren einen Fehler gehabt. Mit ANY habe ich es auch schon probiert, hat den Vorteil, dass ich die Länge der Structur mitbekomme.

    Ich bin mir im Augenblick nicht sicher wie ich das aktuelle Problem angehe. Ich habe fertige Bausteine mit IO-Parametern vom Typ WORD. Diesen Baustein rufe ich in einem FB auf, der später mehrfach benutzt wird. Als IO an dem FB soll eine große Structur übergeben werden. Nun habe ich aber das Problem, das ich dann die Unterstrukturen erst wieder suchen muss. Ich kann ja leider nicht wie in einer Hochsprache dynamisch arbeiten. L P##Daten.Befehl geht ja nicht.

    Ich denke ich leite die IO direkt auf IO weiter. Gibt zwar ne mörder SChnittstelle,, aber erleichtert die Sache ungemein.

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

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

  7. #7
    Anonymous Gast

    Standard

    Hallo,

    mal wieder 'ne Frage in den Raum stell.

    Was unterscheidet eigentlich den Parametertyp "Struct" vom Parametertyp "Pointer" ?


    Gruß, Onkel

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das Format Pointer gibt es eingentlich nur zum "Durchreichen" an einen FB, SFC etc, der einen Pointer als Eingangsparameter nutzt. (Etwa so bei Siemens in der Hilfe gelesen).
    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

Ähnliche Themen

  1. SCL akzeptiert Structur nicht
    Von Bensen83 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.03.2011, 11:52
  2. IN-Typ wird in Pointerformat umgewandelt
    Von gingele im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.07.2010, 15:17
  3. Pointerformat
    Von Uwe16 im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 10.05.2010, 16:03
  4. Einausgaenge in Structur initialisieren
    Von Ebias im Forum CODESYS und IEC61131
    Antworten: 27
    Letzter Beitrag: 06.03.2009, 18:30
  5. 3 Byte in eine Structur laden
    Von INST im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 09.02.2009, 09:41

Lesezeichen

Berechtigungen

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