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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: Adressregister im FB

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.173
    Danke
    922
    Erhielt 3.288 Danke für 2.657 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von moggi Beitrag anzeigen
    Am in Parameter steht Pew256
    An den out Parametern kommen die simulierten Werte :
    out1: 4 (Pew256)
    out2: 8 (Pew258 )
    heraus!
    Simuliere mal Deine PEW256 und PEW258 auf andere Werte und Du wirst sehen, daß trotzdem immer 4 und 8 rauskommen.

    Tip: Beobachte Deinen FB und blende die Spalte AR1 ein. Zeigt Dein AR1 tatsächlich auf P256.0 ?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.173
    Danke
    922
    Erhielt 3.288 Danke für 2.657 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für einen FB müßte Dein Code etwa so aussehen:
    Code:
    // IN   : test : POINTER
    // OUT  : out1 : WORD    
    //        out2 : WORD
    // TEMP : tmpW_DBnr : WORD
    
    //Pointer AR1 auf IN-Parameter test erstellen
          LAR1  P##test             //Adresse Parameter test im DI in AR1
          TAR2                      //Multiinstanz-Offset von AR2 in Akku1
          +AR1                      //zu AR1 addieren => Pointer auf Parameter test
    
    //Wert des Pointers test in AR1 laden
          L     W [AR1,P#0.0]       //POINTER: DB-Nummer
          T     #tmpW_DBnr
          L     D [AR1,P#2.0]       //POINTER: Bereichskennung + Adresse
          SRD   3                   //wg. Wordzugriff sicherheitshalber auf
          SLD   3                   // garantierte Bitadresse .0 bringen
          LAR1  
          AUF   DB [#tmpW_DBnr]
    
    //über Pointer-Parameter test adressierten Bereich lesen
          L     W [AR1,P#0.0]
          T     #out1
          L     W [AR1,P#2.0]
          T     #out2
    
    //## Testvergleich ##
          L     PEW  256
          L     PEW  258
    Die blau markierten Codezeilen kann man unter bestimmten Voraussetzungen weglassen.
    Sie machen aber den FB universeller und robuster.

    Aufrufen kannst Du den FB so (das PEW256 kann sogar symbolisch angegeben werden):
    Code:
          CALL  FB   123 , DB123
           test:=PEW256
           out1:=MW100
           out2:=MW102
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. max. Adressierung Adressregister
    Von dan_mue im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 17.08.2010, 12:24
  2. Adressregister u Pointer in FB
    Von Gerri im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 30.09.2009, 18:17
  3. Adressregister und Pointer
    Von jan820813 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 29.03.2008, 18:54
  4. Adressregister
    Von Ralle im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 31.08.2004, 10:46
  5. Verwenden der Adressregister in SCL
    Von Zappel im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 31.12.2003, 13:03

Stichworte

Lesezeichen

Berechtigungen

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