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

Ergebnis 1 bis 3 von 3

Thema: Hilfe beim nachfolgenden Code

  1. #1
    Registriert seit
    30.07.2010
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, kann mir einer bitte mal Step by Step erklären was beim nachfolgenden Code passiert.
    Die #tmp_p_Variable ist ein Doppelword

    L #tmp_p_Variable
    UD DW#16#FFFFF
    OD DW#16#84000000


    LAR1 P##ANY_Zeiger
    T LD [AR1,P#6.0]


    L #DB_Number
    T LW [AR1,P#4.0]

    L #tmp_Anzahl_Bytes
    T LW [AR1,P#2.0]


    L W#16#1002
    T LW [AR1,P#0.0]
    Zitieren Zitieren Hilfe beim nachfolgenden Code  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Such hier im Forum mal nach ANY Pointer. so einer soll hier gebaut werden.
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    Registriert seit
    13.10.2007
    Beiträge
    12.035
    Danke
    2.789
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Code:
    //Der Pointer der in dieser Variablen steckt wird
    //auf den Operandenbereich "Global DB" gesetzt
    //Es wird ein Bereichszeiger erstellt
    L #tmp_p_Variable 
    UD DW#16#FFFFF 
    OD DW#16#84000000 
    
    //In das Adressregister 1 wird ein Any-Zeiger geladen
    //über das Adressregister 1 wird der vorher erstellte
    //Bereichszeiger in die Variabel "ANY_Zeiger" geladen.
    LAR1 P##ANY_Zeiger 
    T LD [AR1,P#6.0] 
    
    //Eine Daten Baustein Nummer wird über das Adressregister 1
    //in die Variabel "ANY_Zeiger" geladen
    L #DB_Number
    T LW [AR1,P#4.0] 
    
    //Die Anzahl (die Länge) wird über das Adressregister 1 
    //in die Variabel "ANY_Zeiger" geladen
    L #tmp_Anzahl_Bytes
    T LW [AR1,P#2.0] 
    
    //Über das Adressregister 1 wird der Datentyp in die
    //Variabel "ANY_Zeiger" geladen, in diesen Fall "Byte"
    L W#16#1002
    T LW [AR1,P#0.0]
    Geändert von rostiger Nagel (08.11.2011 um 12:42 Uhr) Grund: Nullen im Bereichszeiger falsch gezählt

  4. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    Rose2 (08.11.2011)

Ähnliche Themen

  1. Hilfe beim Programmieren (CAN-Bus)
    Von Dennis27 im Forum Feldbusse
    Antworten: 0
    Letzter Beitrag: 14.10.2010, 11:14
  2. Hilfe beim programmieren
    Von Shierasse im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 14.12.2009, 07:46
  3. Hilfe beim Start mit SPS
    Von solojo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 26.09.2007, 17:21
  4. Brauche Hilfe beim programmieren
    Von spiderman696 im Forum Programmierstrategien
    Antworten: 13
    Letzter Beitrag: 20.02.2007, 20:32
  5. Brauche Hilfe beim FiFo
    Von DJMetro im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.08.2006, 10:52

Lesezeichen

Berechtigungen

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