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

Ergebnis 1 bis 7 von 7

Thema: SCL sichten

  1. #1
    Registriert seit
    22.12.2015
    Beiträge
    60
    Danke
    5
    Erhielt 2 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo,

    habe eben meine deklaration um einen struct block (kennzeichnung //-----Fehler) erweitert. seit dem kommt ein fehler. wenn der block auf 5 einträge begrenzt wird geht es.
    manchmal nervt es gewaltig. hat jemand eine idee?

    Code:
    VAR_TEMP
      RET_V:  INT;
      RET_M:  INT;
      ReNew:  BOOL;
      i:      INT;
      BOff:   DINT;
      NULL:   DWORD;
      
    //------ Fehler start
     
      IniA:   ANY;
      Ini AT IniA: STRUCT
        DevIDB_DBNo:    INT;
        DefRcp_DBNo:    INT;
        DevRcp_DBNo:    INT;
        HMIRcp_DBNo:    INT;
        RcpCnf_Offset:  INT;
        RcpCnf_Length:  INT;
        RcpPar_Qffset:  INT;
        RcpPar_Length:  INT;
        RcpEdt_Offset:  INT;
        RcpEdt_Length:  INT;
        HMIRed_Offset:  INT;
        HMIRed_Lenght:  INT;
        HMIWrt_Offset:  INT;
        HMIWrt_Length:  INT;
        HMIBtn_Offset:  INT;
        HMIBtn_Length:  INT;
      END_STRUCT; 
      
    //------ Fehler end
    
         
      ANY1:   ANY;
      sAny1 AT ANY1: STRUCT
        S7BYTE :BYTE;   // Byte 0       Reserviert für S7 (10h)
        DatTyp :BYTE;   // Byte 1       Datentyp *1
        Anzahl :INT;    // Byte 2+3     Länge der Variablen
        DBNR   :INT;    // Byte 4+5     DB-Nummer
        //SpBer1 :BYTE;   // Byte 6       Datentyp beim Auslesen *3 (Speicherbereich *2)
        //Null   :BYTE;   // Byte 7       Null beim Auslesen
        //SpBer2 :WORD;   // Byte 8+9     Speicherbereich Nummer beim Auslesen *3
        Zeiger :DWORD;  // Byte 6+7+8+9 Bereichszeiger_DW OR Adressword_DW (ShiftLinks 3)
      END_STRUCT;
    
      ANY2:   ANY;
      sAny2 AT ANY2: STRUCT
        S7BYTE :BYTE;   // Byte 0       Reserviert für S7 (10h)
        DatTyp :BYTE;   // Byte 1       Datentyp *1
        Anzahl :INT;    // Byte 2+3     Länge der Variablen
        DBNR   :INT;    // Byte 4+5     DB-Nummer
        //SpBer1 :BYTE;   // Byte 6       Datentyp beim Auslesen *3 (Speicherbereich *2)
        //Null   :BYTE;   // Byte 7       Null beim Auslesen
        //SpBer2 :WORD;   // Byte 8+9     Speicherbereich Nummer beim Auslesen *3
        Zeiger :DWORD;  // Byte 6+7+8+9 Bereichszeiger_DW OR Adressword_DW (ShiftLinks 3)
      END_STRUCT;
      
      Head1: STRUCT
        DvID: INT;
        Leng: INT;
        RcpQ: INT;
        RcpN: INT;
      END_STRUCT;  
      Head2: STRUCT
        DvID: INT;
        Leng: INT;
        RcpQ: INT;
        RcpN: INT;
      END_STRUCT;  
    END_VAR
    
    //--------------------------------------------------------------------------
    //
    //F: .... Der Typ der Sicht ist nicht mit dem Typ der Variablen verträglich.
    Zitieren Zitieren SCL sichten  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.181
    Danke
    129
    Erhielt 1.510 Danke für 1.109 Beiträge

    Standard

    Die At-Sicht-Struktur muss vom Speicherbedarf her genau so groß sein, wie die Variable auf die sie "schaut".

    IniA hat 10 Bytes. Ini AT hat zumindest mehr
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    s7Opa (30.07.2016)

  4. #3
    s7Opa ist offline Benutzer
    Themenstarter
    Registriert seit
    22.12.2015
    Beiträge
    60
    Danke
    5
    Erhielt 2 Danke für 1 Beitrag

    Standard

    jau, jau. stimmt. heute ist kein Tag für Programmarbeit.

    danke

  5. #4
    s7Opa ist offline Benutzer
    Themenstarter
    Registriert seit
    22.12.2015
    Beiträge
    60
    Danke
    5
    Erhielt 2 Danke für 1 Beitrag

    Standard

    der Punkt war, ich wollte den gesamten Struct-kladradatsch in Einem in einen auf einen Ausgang legen...

  6. #5
    s7Opa ist offline Benutzer
    Themenstarter
    Registriert seit
    22.12.2015
    Beiträge
    60
    Danke
    5
    Erhielt 2 Danke für 1 Beitrag

    Standard

    ...so muß es aussehn.

    Code:
    VAR_OUTPUT
      IniData: STRUCT
        DevIDB_DBNo:    INT;
        DefRcp_DBNo:    INT;
        DevRcp_DBNo:    INT;
        HMIRcp_DBNo:    INT;
        RcpCnf_Offset:  INT;
        RcpCnf_Length:  INT;
        RcpPar_Qffset:  INT;
        RcpPar_Length:  INT;
        RcpEdt_Offset:  INT;
        RcpEdt_Length:  INT;
        HMIRed_Offset:  INT;
        HMIRed_Lenght:  INT;
        HMIWrt_Offset:  INT;
        HMIWrt_Length:  INT;
        HMIBtn_Offset:  INT;
        HMIBtn_Length:  INT;
      END_STRUCT; 
    END_VAR

  7. #6
    Registriert seit
    29.03.2004
    Beiträge
    5.181
    Danke
    129
    Erhielt 1.510 Danke für 1.109 Beiträge

    Standard

    In SCL kannst du doch Strukturen direkt einander zuweisen, wenn sie denn die gleiche Größe besitzen.
    Code:
    VAR_OUTPUT
      oIni : STRUCT 
        a : INT;
        b : INT;
      END_STRUCT;
    END_VAR
    
    VAR_TEMP
      tIni : STRUCT 
        a : INT;
        b : INT;
      END_STRUCT;
    END_VAR
    
    BEGIN
    oIni := tIni;
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  8. #7
    s7Opa ist offline Benutzer
    Themenstarter
    Registriert seit
    22.12.2015
    Beiträge
    60
    Danke
    5
    Erhielt 2 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ...vollkommem richtig.
    Ich binn völlig daneben. Bin hier an Irakischer Grenze in einer Stahlbude. 50° Umgebung, Höllenlärm usw. da verliert man schonmal die kühle Übersicht:

Ähnliche Themen

  1. Step 7 AT-Sichten in AWL
    Von Löwensenft im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 26.10.2015, 14:09
  2. Step 7 AT-Sichten
    Von siemek im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 28.08.2013, 07:02
  3. SCL, Any und Sichten
    Von Ralle im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 09.01.2008, 12:48
  4. Antworten: 0
    Letzter Beitrag: 01.06.2006, 15:04
  5. WinCC User-Archive -> Sichten
    Von vido im Forum HMI
    Antworten: 1
    Letzter Beitrag: 14.01.2006, 18:16

Lesezeichen

Berechtigungen

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