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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Any Pointer in multi FB

  1. #1
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Auch auf die Gefahr hin, dass ich hier gleich gesteinigt werde, ich hab's halt noch nicht verstanden:
    Wie bzw. warum funktioniert mein Any Pointer in einem Multiinstanzierten FB nicht? Ich habe irgendwas zu einer Offset Adressierung bei Multiinstanzzugriff gelesen, kriege es aber nicht hin.
    Help me, please!
    Angehängte Grafiken Angehängte Grafiken
    SG Farinin
    Zitieren Zitieren Any Pointer in multi FB  

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

    Standard

    LAR1 P##tmp_quell_anypointer
    L W#16#10 //SyntaxID. bei S7 immer 10
    T LB [AR1,P#0.0]
    L W#16#2 //Typ byte
    T LB [AR1,P#1.0]
    L 16 //Anzahl bytes
    T LW [AR1,P#2.0]
    L #DBNR_Messdaten //Quell-DB
    T LW [AR1,P#4.0]
    L #tmp_laufvariable1 //Anfang der Quelle
    SLD 3
    T LD [AR1,P#6.0]
    L B#16#84 //Speicherbereich (hier DB)
    T LB [AR1,P#6.0]
    versuch das mal du hast da ein paar fehler drinn mit 2 Lade befehlen hinter einander oder bei dir fehlt die Syntax ID vll hilfts dir ja

  3. #3
    Avatar von Farinin
    Farinin ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Vielleicht habe ich mich noch nicht ganz genau ausgedrückt.

    Ich habe einen FB(ist multiinstanziert) mit einem Any Pointer. Dort ist z.B. P#DB100.DBX 36.0 Byte 12 eintragen. Ich möcht nun die DB Nummer öffnen und die Startadresse 36 ins AR1 schreiben.
    SG Farinin

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

  5. #5
    Avatar von Farinin
    Farinin ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard

    An welcher Stelle:
    Code:
          TAR1  #tAR1
          TAR2  #tAR2
     
          LAR1  P##iKopplung
          L     W [AR1,P#0.0]
          T     LW     0
          L     W [AR1,P#2.0]
          T    LW     2
          L     W [AR1,P#4.0]
          T     LW     4
          L     D [AR1,P#6.0]
          T     LD     6
     
          L     LW     4
          T     #tDB_No
     
          AUF DB [tDB_No]
     
          L     D [AR1,P#6.0]
          SLD   8
          SRD   8
          LAR1
    SG Farinin

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    "IKopplung" ist der schon durchgereichte ANY-Pointer ? Also nicht der, in den du deinen "P#DB100.DBX 36.0 Byte 12" eingetragen hast ?
    Wenn ja, so hast du mit "LAR1 P##iKopplung" erstmal den Pointer auf die ANY-Pointer-Daten.

    Gruß
    Larry

  7. #7
    Avatar von Farinin
    Farinin ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard

    ja genau der iKopplung ist durchgereicht. Aber was heißt das dann?
    SG Farinin

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Und das Durchreichen hast du wie gemacht ?

    ...

  9. #9
    Avatar von Farinin
    Farinin ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ich habe einen Eingang names iKopplung vom Typ ANY angelegt und diesen von außen mit einem Pointer P#DB100.DBX 36 Byte 12 beschaltet (siehe Anhang).
    Angehängte Grafiken Angehängte Grafiken
    SG Farinin

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... ich muß noch einmal etwas weiter vorher anfangen ...

    Du hast einen FB1. Diesem übergibst du direkt den genannten ANY-Pointer (also "P#DB100.DBX 36.0 Byte 12 ? Den ANY-Pointer willst du in dem FB1 auswerten ? Den FB rufst du mit "call FB1, DB100" auf oder hast du ihn in die Instanz eines anderen FB (ich nenne ihn mal FB2) im STAT-Bereich eingelagert ?

    Im Falle von "call FB1 , DB100" sollte der Code, so wie du ihn hast funktionieren.
    Im anderen Fall mußt du dem "LAR1 P##iKopplung" danach noch den Inhalt des AR2 hinzufügen.

    Gruß
    Larry

Ähnliche Themen

  1. PNOZ Multi Mini
    Von Anaconda55 im Forum Schaltschrankbau
    Antworten: 1
    Letzter Beitrag: 10.02.2011, 17:09
  2. Antworten: 17
    Letzter Beitrag: 06.08.2010, 09:41
  3. Multi-Instanzen
    Von JOKER83 im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 11.06.2009, 19:08
  4. multi touch TP´s
    Von cindy im Forum HMI
    Antworten: 1
    Letzter Beitrag: 14.11.2008, 15:06
  5. Multi FB`S
    Von MichaelHuf im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.07.2005, 16:19

Lesezeichen

Berechtigungen

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