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

Ergebnis 1 bis 2 von 2

Thema: S7 840D Achsenposition $AA_IM mit FB5 einlesen

  1. #1
    Registriert seit
    11.09.2015
    Ort
    Bremen
    Beiträge
    13
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,

    ich arbeite mit S7, Steuerung 840D und versuche, die Achsenpositionen mit Hilfe von FB5 einzulesen. Soweit ich weiß, sind die aktuelle Achsenpositionen im Array $AA_IM erhalten. Deswegen habe ich einen DB mit diesem Namen:
    Code:
    // READ_POS_ACHSE_X //////////////////////////////
    DATA_BLOCK DB 1659
      STRUCT
      Varname : STRING[32] := '$AA_IM';
      Vartype :
      STRUCT
      SYNTAX_ID :         BYTE;
      BEREICH_U_EINHEIT:  BYTE;
      SPALTE :            WORD;
      ZEILE :             WORD;
      BAUSTEINTYP :       BYTE;
      ZEILENANZAHL :      BYTE;
      TYP :               BYTE;
      LAENGE :            BYTE;
      END_STRUCT;
    END_STRUCT;
    
    BEGIN
    END_DATA_BLOCK
    
    DATA_BLOCK DB 1759
    FB 5
    BEGIN
    END_DATA_BLOCK
    Danach rufe ich FB5 wie folgt auf:
    Code:
      CALL FB 5, DB 1759(
           Req := M659.0,
           Addr := DB1659.Varname,
           Area := B#16#0,
           Unit := B#16#1,
           Index1 := 1,
           Index2 := 0,
           CnvtToken := TRUE,
           VarToken := DB1659.Vartype,
           Error := M659.2,
           Done := M659.1,
           State := MW700,
           RD := P#DB1501.DBX12.0 BYTE 4);
    Hiermit müssen die Daten von Länge BYTE 4 in P#DB1501.DBX12.0 eingelesen werden. Die Daten bekomme ich nicht.

    Wie kann ich die Richtichkeit von Parametern Area, Unit und Index1 überprüfen? In der Doku steht es:
    Area - Bereichsadresse: 0: NCK-Variable, 2: Kanal-Variable
    Unit - Bereich NCK: Unit:= 1, Bereich Kanal: Kanalnr.
    Index1 - Feldindex 1 der Variable. Der Wert der Variable ist 0, wenn der Feldindex nicht benutzt wird.

    Ich bitte um die Hilfe und Erklärung. Es ist meine erte Erfahrung mit S7 und 840D. Ich kann sehr einfache Sachen übersehen oder falsch verstehen.

    Danke.
    Zitieren Zitieren S7 840D Achsenposition $AA_IM mit FB5 einlesen  

  2. #2
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.249
    Danke
    15
    Erhielt 120 Danke für 108 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für alle die hier suchen oder Lesen,
    eine Alternative Prinzipielle Lösung gibts hier Auslesen Achsenposition mit FB5

    Hier wird der IST-Wert der Achse gelesen (im Bsp. 1' Kanalachse) und damit die Frage von TE dort beantwortet ...
    Geändert von Boxy (09.09.2016 um 15:41 Uhr)

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

Ähnliche Themen

  1. Step 7 Kommunikation 840D sl mit PC über FC1005
    Von Sarutobi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.01.2016, 13:56
  2. Sonstiges 840d mit ADI4 (fehlende Geberwerte)
    Von robolab im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.11.2014, 12:38
  3. Step 7 Kommunikation mit 840d powerline Steuerung
    Von Kipfle im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 21.07.2014, 14:21
  4. FB1348 wird von FB5 aufgerufen
    Von Springbock im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.10.2010, 08:20
  5. IM308b mit Sinumerik 840D an Profibus
    Von KalEl im Forum Feldbusse
    Antworten: 4
    Letzter Beitrag: 20.10.2006, 20:16

Stichworte

Lesezeichen

Berechtigungen

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