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

Ergebnis 1 bis 5 von 5

Thema: ADR von Pointerinhalt übergeben

  1. #1
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich habe in einem FB als Input eine Struktur, welche unter anderem folgendes Element hat.

    Eingangsstruktur.Parameter (wobei Parameter ein Pointer auf eine Struktur ist).
    Diesem Element wurde schon die Adresse auf eine Globale Struktur übergeben.

    nun wollte ich folgendes machen, um einem Unterprogramm, welches ein Zeiger auf einen DINT Wert erwartet, den Zeiger zuzuweisen.

    Code:
    Unterprogramm.Dintpointer := ADR(Parameter^.Dintwert);
    Die Adresse wird richtig übergeben (sehe ich korrekt im Dintpointer), jedoch funktioniert es irgendwie nicht wirklich, da irgendwie Daten auf einem anderen Speicherbereich überschrieben werden. Und diverse Funktionen wie bspw. ein fliehende nicht mehr funktionieren.

    ist die adressübergabe so überhaupt zulässig, oder schaut codesys da vielleicht irgendwie intern auf die Adrsse des Pointers "Parameter" (so kommt es mir nämlich vor, also würde die Adresse von Parameter + der Offset von Dintwert in der Struktur überschrieben).
    Das passiert allerdings sogar, schon, wenn nur der angegeben Code ausgeführt wird, mehr nicht. Dabei wird dort ja nicht mal der Pointer beschrieben, sondern nur ausgelesen.

    Benutze ich ein In_Out anstatt einen Pointer auf "Parameter" dann funktioniert es einwandfrei.

    hat jemand eine Idee?
    Zitieren Zitieren ADR von Pointerinhalt übergeben  

  2. #2
    Registriert seit
    07.06.2007
    Beiträge
    143
    Danke
    2
    Erhielt 24 Danke für 24 Beiträge

    Standard

    Poste mal den Code vom Unterprogramm. Dort musst du halt Dintpointer^ schreiben wenn du den Wert haben willst.

    Wenn du Dintpointer := 2323; oder sowas machst "verbiegst" du den Pointer und es passiert irgendwas.

  3. #3
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das ist ja das was ich nicht verstehe... Der Pointer wird nirgends verwendet, denn das unterprogramm ist leer

  4. #4
    Registriert seit
    07.06.2007
    Beiträge
    143
    Danke
    2
    Erhielt 24 Danke für 24 Beiträge

    Standard

    Dann hilft "alles bereinigen",... oder schick mal dein komplettes Programm (abgespeckt aufs wesentliche!).

  5. #5
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Leider reicht alles bereinigen nicht, sogar eher das Gegenteil. Wenn man alles bereinigen macht, dann tritt der Fehler beim einloggen und starten eher auf, als wenn man es wieder einkommentiert.
    Das Programm habe ich jetzt wie gesagt auf IN_OUT abgeändert. Der Fehler wäre wahrscheinlich auch nicht nachvollziebar... denn er äußert sich so....
    ich habe eine Steuerung, welche einen EtzherCAT Maste rhat. hierzu liegen von 3s Daten auf der Steuerung, welche beim Systemstart gelesen werden.
    Des weiteren habe ich einen FB, welcher ein filehandling macht. Wenn ich diesen jetzt nach der Struktur mit dem Pointer deklariert habe, trat der Fehler auf, dass angeblich keine EtherCAT Lizenz verfügbar wäre.
    Ich nehme an, dass irgendiw ein Problem mit dem Handle besteht, welcher dann nicht mehr die 3s Datei lesen kann.

Ähnliche Themen

  1. Beckhoff Zusammenhang ADR BITADR Pointer etc
    Von pezi179 im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 02.02.2015, 18:34
  2. Daten von einem PC an s7 313C übergeben
    Von Berger im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.03.2011, 17:15
  3. String von TP177A an S7-22x übergeben ??? !!!
    Von jank-automation im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 20.09.2008, 09:47
  4. Beckhoff TwinCat - Übergeben von Daten
    Von Majestic_1987 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 20.07.2008, 14:51
  5. Inhalt von MW in FB Struct übergeben
    Von ottopaul im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 14.07.2007, 21:22

Lesezeichen

Berechtigungen

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