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

Ergebnis 1 bis 10 von 10

Thema: Funktion mit Array-Rückgabewert

  1. #1
    Registriert seit
    01.03.2008
    Beiträge
    490
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    wie muß eine Function aussehen, wenn diese als Rückgabewert
    ein z.b. 10 stelliges Array erhaten soll ?

    Also als Eingang der Function irgendwelche Datendypen wie Bool usw und als Ausgang dann Array[10] as Bool;

    Hmmmmm

    MfG CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!
    Zitieren Zitieren Funktion mit Array-Rückgabewert  

  2. #2
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Du musst einen entsprechenden Datentyp definieren, z. B. eine Struktur, bestehend aus einem Array.
    Diesen Datentyp kannst du dann als Rückgabewert der FUN auswählen.

  3. #3
    Registriert seit
    01.03.2008
    Beiträge
    490
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard

    ist ja mist....


    aber sowas dachte ich mir schon.

    Danke

    MfG CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!

  4. #4
    Registriert seit
    29.08.2006
    Beiträge
    195
    Danke
    0
    Erhielt 35 Danke für 21 Beiträge

    Standard

    warum den nicht einfach!

    Function TEST : ARRAY[0..9] of Bool
    OSCAT
    Open Source Community for Automation Technolgy
    www.oscat.de

  5. #5
    Registriert seit
    01.03.2008
    Beiträge
    490
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard

    hab ich so versucht, geht irgendwie nicht...

    MfG CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!

  6. #6
    Registriert seit
    24.04.2008
    Ort
    Lübeck
    Beiträge
    324
    Danke
    8
    Erhielt 64 Danke für 62 Beiträge

    Standard

    Ich würde entweder VAR_IN_OUT (compiler pointer) oder direkt eigene Pointer empfehlen.

    FUNCTION F_Array : BOOL
    VAR_IN_OUT
    arrData: ARRAY[1..10] OF INT;
    END_VAR

  7. #7
    Registriert seit
    01.03.2008
    Beiträge
    490
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard

    ist aber alles nicht so, wie ich mir das vorstelle,

    Die "Ausgangsseite) , also das Array, benötige ich im FUP auf der rechten Seite um die Daten an einen Aderen FB übersichtlich weiterzugeben.

    Hab es jetzt statt mit einer Function mit einem FB gelöst. Da Klappt das natürlich. Aber man eine unnötige Instanz anlegen.

    Danke erstmal..


    MfG CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!

  8. #8
    Registriert seit
    17.10.2007
    Ort
    35043 Marburg
    Beiträge
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Standard

    Zitat Zitat von cas Beitrag anzeigen
    ...Die "Ausgangsseite) , also das Array, benötige ich im FUP auf der rechten Seite um die Daten an einen Aderen FB übersichtlich weiterzugeben.

    Hab es jetzt statt mit einer Function mit einem FB gelöst. Da Klappt das natürlich. Aber man eine unnötige Instanz anlegen.

    Danke erstmal..


    MfG CAS
    Also bei funktioniert das wunderbar! CoDeSys V3.4
    Du musst halt beim hinzufügen der Function Rückgabetyp "ARRAY [0..9] OF BOOL" per Hand eingeben, oder später im Deklarationsteil deiner Function.
    Angehängte Grafiken Angehängte Grafiken
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

  9. #9
    Registriert seit
    01.03.2008
    Beiträge
    490
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard

    spitzenmäßig...

    So bin ich da nicht rangegangen.

    Ich werds mir merken.

    Vielen Dank.


    CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!

  10. #10
    Registriert seit
    30.08.2005
    Beiträge
    281
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn es geht, dann sollte man ARRAYs oder Strukturen als Rückgabewerte vermeiden. Der Wert wird dann nämlich als ganzes kopiert. Reicht man einen Array als VAR_IN_OUT in eine Funktion rein und lässt sich das Array von der Funktion füllen, dann wird nur eine Referenz (POINTER) kopiert.
    Das ist deutlich performanter.

Ähnliche Themen

  1. Antworten: 22
    Letzter Beitrag: 26.11.2012, 22:10
  2. ANY-Zeiger als Rückgabewert
    Von Bensen83 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.06.2011, 11:41
  3. Pointer als Rückgabewert einer Funktion
    Von kai86 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 12.04.2010, 12:07
  4. Funktion Rückgabewert
    Von Basstarono im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 17.07.2008, 18:26
  5. LibNodave 0.8.4 - daveConnectPLC liefert Rückgabewert 4
    Von Nuecke im Forum Hochsprachen - OPC
    Antworten: 58
    Letzter Beitrag: 29.05.2008, 13:32

Lesezeichen

Berechtigungen

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