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

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

Thema: Pointer in SCL (kein any)

  1. #11
    jck0815 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.02.2008
    Beiträge
    28
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also ich habe es auch mit einem FB getestet und er wollte auch dort im VAR-Teil keine VAriable vom Typ Pointer anlegen Ich habe nun einen kleinen FC in AWL geschrieben und rufe die besagte Funktion damit auf. Ist zwar nicht das was ich wollte, aber es funktioniert... Wie sagt man: Nicht schön, aber selten

  2. #12
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Ja, Du hast natürlich recht, habe es auch gerade mal probiert Funktioniert nur bei Datentyp ANY.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  3. #13
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Ha, komisch SCL gibt wieder Rätsel auf.

    Code:
    FUNCTION_BLOCK FB10
    
    VAR_IN_OUT
        INPUT : POINTER;
        LENGTH : INT;
        OUTPUT : POINTER;
    END_VAR
    
    BEGIN
    
    FC2(INPUT :=  INPUT, LENGTH := LENGTH, OUTPUT := OUTPUT);
    
    END_FUNCTION_BLOCK
    und es geht doch.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  4. #14
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Und als FC auch.

    Code:
    FUNCTION FC10: VOID
    
    VAR_IN_OUT
        INPUT : POINTER;
        LENGTH : INT;
        OUTPUT : POINTER;
    END_VAR
    
    BEGIN
    
    FC2(INPUT :=  INPUT, LENGTH := LENGTH, OUTPUT := OUTPUT);
    
    END_FUNCTION
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  5. #15
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    So nach weiteren Test FC geht nicht da kein AT auf Pointer möglich ist.
    Mit einem FB und im INPUT Bereich geht es.

    Code:
    FUNCTION_BLOCK FB10
    
    VAR_INPUT
        INPUT : POINTER;
            _INPUT AT INPUT : STRUCT
               DBNr: WORD;
               Adr: DWORD;
            END_STRUCT;    
        OUTPUT : POINTER;
            _OUTPUT AT OUTPUT : STRUCT
               DBNr: WORD;
               Adr: DWORD;
            END_STRUCT;    
    END_VAR
    VAR
        LENGTH : INT;
    END_VAR    
    
    BEGIN
    
    FC2(INPUT :=  INPUT, LENGTH := LENGTH, OUTPUT := OUTPUT);
    
    END_FUNCTION_BLOCK
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  6. Folgender Benutzer sagt Danke zu dalbi für den nützlichen Beitrag:

    Larry Laffer (07.01.2009)

  7. #16
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Code:
    FUNCTION_BLOCK FB10
    
    VAR_INPUT
        INPUT : POINTER;
            _INPUT AT INPUT : STRUCT
               DBNr: WORD;
               Adr: DWORD;
            END_STRUCT;    
        OUTPUT : POINTER;
            _OUTPUT AT OUTPUT : STRUCT
               DBNr: WORD;
               Adr: DWORD;
            END_STRUCT;    
    END_VAR
    VAR
        LENGTH : INT;
    END_VAR    
    
    BEGIN
    
    _INPUT.DBNr := w#16#131;        // DB305
    _INPUT.Adr := DW#16#8400_0000;  // DBX0.0
    
    _OUTPUT.DBNr := w#16#131;       // DB305
    _OUTPUT.Adr := DW#16#8400_00C8; // DBX25.0
    
    FC2(INPUT :=  INPUT, LENGTH := LENGTH, OUTPUT := OUTPUT);
    
    END_FUNCTION_BLOCK
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  8. #17
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo Daniel,
    Danke dir für deine Bemühungen.
    Auf diese Weise hatte ich es bislang nicht probiert ...

    Gruß
    LL

  9. #18
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ist beim längeren nachdenken auch irgendwie logisch das es als INPUT geht da es ja ein POINTER (Zeigt auf irgendwas) ist.
    Es ist ja lediglich nur die Adresse auf die geschrieben oder von der gelesen werden soll, aber warum geht es nicht als STAT oder TEMP.

    Meiner Meinung nach Käse.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

Ähnliche Themen

  1. Kein Pack & Go für OP270 ?
    Von JesperMP im Forum HMI
    Antworten: 6
    Letzter Beitrag: 16.04.2010, 17:33
  2. TP177A kein Störmeldearchiv?
    Von Poldi007 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 25.03.2010, 10:23
  3. Kein Querverweis im FC
    Von klauserl im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 11.01.2010, 14:55
  4. DOC ist kein Grafikformat!
    Von marlob im Forum Stammtisch
    Antworten: 13
    Letzter Beitrag: 14.03.2008, 13:51
  5. Antworten: 4
    Letzter Beitrag: 26.04.2007, 21:05

Lesezeichen

Berechtigungen

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