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

Ergebnis 1 bis 3 von 3

Thema: Pointer an FB Übergabe

  1. #1
    Registriert seit
    17.03.2012
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe noch ein weiteres Problem mit meiner S7 Programmierung. Ich möchte einen FB bauen, der als IN Parameter bekommt Startbit(Pointer), Sprungweite(Pointer), DB_Nr(DB), Anzahl(DINT).

    Jetzt übergabe ich dem FB Startbit = P#1.4, Sprungweite P#2.0, DB_Nr = DB900, Anzahl = L#50.

    In der Funktion soll nun an der Adresse DB900.DBX1.4 das erste Bit gelesen werden und dann in einer Schleife die nächsten 49 Bits die dann immer um die Sprungweite weiter liegen also DB900.DBX3.4, DB900.DBX5.4 etc....

    Mein Ansatz innerhalb des FB's war bislang der

    AUF DB_Nr //DB Aufschlagen

    L P##Startbit // Startbitpointer laden
    LAR1 // Ins Adressregister 1

    U DBX[AR1, P#0.0]


    und in der Schleife dann
    L P##Sprungweite
    +AR1

    U DBx[AR1, P#0.0]


    Das funktioniert aber nicht. Ich habe dann mal testweise die Werte von Akku1, Akku2 und AR1 nach dem LAden von P##Startbit mit dem internen Laden von L P#1.4 verglichen und da sind Werte von Akku1 und Akku2 vertauscht. Was mache ich da falsch?

    Danke für eure Hilfe...
    Zitieren Zitieren Pointer an FB Übergabe  

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

    Standard

    Hallo,
    mit der Anweisung :
    L P##Startbit
    bzw.
    L P##Sprungweite
    ... lädst du nicht den Inhalt des übergebenen Pointers sondern die Adresse des Instanz-DBs deines FB's an der der Pointer steht.

    Gruß
    Larry

  3. #3
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hatte mich vorhin wieder mal ein bißchen zu Pointern belesen und bin dabei auch darüber gestolpert: Pointer als IN im FC verarbeiten.

    Ich nehme an, das ist sowas, was Du suchst.

Ähnliche Themen

  1. S7 LAR P##... --- pointer auf pointer
    Von milmu im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.11.2010, 17:39
  2. Parameter Übergabe in ST
    Von RobiHerb im Forum Programmierstrategien
    Antworten: 10
    Letzter Beitrag: 11.05.2010, 07:20
  3. Problem bei Übergabe von Wert an Pointer
    Von rapser im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 26.08.2009, 15:30
  4. Parameter-Übergabe an FC
    Von Larry Laffer im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 09.07.2007, 18:41
  5. Antworten: 2
    Letzter Beitrag: 01.01.2005, 21:13

Lesezeichen

Berechtigungen

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