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

Ergebnis 1 bis 9 von 9

Thema: ANY-Zeiger als Rückgabewert

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, habe mal den Titel geändert. das ist der gleiche Eintrag wie er mit dem Titel Retval:

    Hallo, ich habe einen FC, in dem ich einen ANY-Zeiger erzeuge. diesen möchte ich nun als retval zurückgeben. wie weise ich denn den Temporären ANY-zeiger dem retval zu?

    Ps. ist ein awl FC
    Zitieren Zitieren ANY-Zeiger als Rückgabewert  

  2. #2
    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

    Hi,

    Code:
          L     P##RET_VAL
          LAR1
    und danach den ANY weiterverarbeiten.

    Siehe z.b. http://www.sps-forum.de/showthread.php?t=12923

    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. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Und wie lädt man dann etwas über das Adressregister in RET_VAL?
    Also mit
    Code:
    T LW [AR1, P#0.0]
    oder
    Code:
    T W [AR1, P#0.0]

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ich würde mal sagen, mit der 2. Variante:
    Code:
    T W [AR1, P#0.0]
    Die Transferanweisung darf keine Bereichskennung enthalten, die Bereichskennung steckt ja schon in:
    Code:
          L     P##RET_VAL
          LAR1
    Ich habe das aber jetzt nicht ausprobiert, kann auch sein, daß das ganz anders funktioniert und (speziell bei FC) vom Aktualparameter abhängig ist.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Und wie lädt man dann etwas über das Adressregister in RET_VAL?
    Also mit
    Code:
    T LW [AR1, P#0.0]
    oder
    Code:
    T W [AR1, P#0.0]
    Mit Variante 2, die Bereichskennung sollte auf die Vorgängerlokaldaten zeigen!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  6. #6
    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

    Hi,

    so wie es bei einem IN_OUT auch ist:

    Code:
          L     P##RET_VAL
          LAR1  
          L     B [AR1,P#1.0]
          L     #tTyp
          <>I   
          SPB   FEHL                        // Typ ungleich
          L     W [AR1,P#4.0]
          T     #tDBNr
          AUF   DB [#tDBNr]
          L     D [AR1,P#6.0]
          LAR1  
          L     #tWert
          UN    #tInt
          SPB   DD
          T     W [AR1,P#0.0]               // 16 Bit nach RET_VAL speichern
          SPA   ENDE
    DD:   T     D [AR1,P#0.0]               // 32 Bit nach RET_VAL speichern
    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)

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

    Bensen83 (04.06.2011)

  8. #7
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hey danke die letzte Variante hat mir super weiter geholfen.
    Zitieren Zitieren Super funktioniert  

  9. #8
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo noch mal es funktioniert alles wunderbar, jedoch wenn ich als datentyp bool auswähle, dann bekomme ich einen lesefehler vom blockmov angezeigt, muss ich da noch was beachten?
    Zitieren Zitieren Probleme mit Bitverarbeitung  

  10. #9
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hat sich geklärt. bei bool, muss der wiederholungsfaktor durch 8 teilbar sein
    Zitieren Zitieren Erledigt ;-)  

Ähnliche Themen

  1. Zeiger
    Von snowleopard1702 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.05.2011, 17:07
  2. Funktion mit Array-Rückgabewert
    Von cas im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 25.03.2011, 12:07
  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
  •