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

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

Thema: Struct vergleich mit pointer und sizeof

  1. #11
    Registriert seit
    17.08.2010
    Ort
    Blaichach
    Beiträge
    84
    Danke
    1
    Erhielt 9 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dann kannst du ja über die ads-funktionen die struktur auslesen... ist zwar ein "umweg" aber funktioniert...

    Gruß Bernd
    Real programmers don’t comment their code. It was hard to write, it should be hard to understand.

  2. #12
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Zitat Zitat von hago10 Beitrag anzeigen
    Wenn es wie Werner beschrieben hat, keine Möglichkeit gibt zur Laufzeit festzustellen auf welchen Datentyp ein Pointer zeigt, ist es daher auch nicht realisierbar?
    Ich wüsste nicht wie, und ich habe den Compiler geschrieben...
    Die Konsistenz der Daten musst du irgendwie anders sicherstellen.

  3. #13
    Registriert seit
    17.08.2010
    Ort
    Blaichach
    Beiträge
    84
    Danke
    1
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Stimmt hast recht... war ein "unfertiger" Gedanke meinerseits...

    dachte man könnte mit dem FB "PLC_ReadSymInfoByName" (PLC Lib : Utilities) über den Symbolnamen lokal überprüfen ob es sich wenigstens um den gleichen strukturnamen handelt... aber da müßte man wieder die variablennamen mit pflegen...

    Mich würde interessieren wofür man genau diese Anforderung braucht... vlt. gibts ja einen ganz anderen Lösungsansatz für das problemchen...

    Gruß Bernd
    Real programmers don’t comment their code. It was hard to write, it should be hard to understand.

  4. #14
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Hi Bernd,

    Ich hatte deinen Beitrag überlesen, aber so ganz falsch ist dein Gedanke nicht. Die Symbolinformation ist ja sowas wie Runtime Type information, aber da müsste ich mich selber erstmal schlau machen, was man darüber alles rausbekommt.
    Rein mit den Mitteln der Programmiersprache geht es jedenfalls nicht.

    Bernhard, auch Allgäu...

  5. #15
    Registriert seit
    17.08.2010
    Ort
    Blaichach
    Beiträge
    84
    Danke
    1
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Zitat Zitat von Werner29 Beitrag anzeigen
    Hi Bernd,

    Ich hatte deinen Beitrag überlesen, aber so ganz falsch ist dein Gedanke nicht. Die Symbolinformation ist ja sowas wie Runtime Type information, aber da müsste ich mich selber erstmal schlau machen, was man darüber alles rausbekommt.
    Rein mit den Mitteln der Programmiersprache geht es jedenfalls nicht.

    Bernhard, auch Allgäu...
    Wir Allgäuer müssen es wieder richten... lol

    in der .Net DLL hat man da mehr funktionen - da hat man die möglichkeit eine ganze struktur aufzudröseln (mit viel schreibarbeit)

    aber die Bausteine von der Lib sind da etwas eingeschränkter soweit ich weiß... evtl hock ich mal heut aben hin und schau mal was geht...


    Gruß Bernd
    Real programmers don’t comment their code. It was hard to write, it should be hard to understand.

  6. #16
    hago10 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2011
    Beiträge
    7
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey nochmals Danke an euch beide! Freut mich dass dieses Thema auf so großes Interesse stößt.
    @Bernd: Wofür ich diese Anforderung brauche: Wie bereits erwähnt habe ich zwei Tasks auf der PLC laufen, welche beide die gleiche Struktur am Globalen Memory instanziieren (wird so benötigt). Sollte bei einem Task jemand die Struktur ändern, kommt es natürlich zu einer Dateninkonsistenz. Um diese zu erkennen möchte ich eine „Fußabdruck“ der verwendeten Struktur von jedem Task individuell erstellen und in Folge miteinander vergleichen.
    Hoff mal es ist halbwegs verständlich

    LG

  7. #17
    Registriert seit
    17.08.2010
    Ort
    Blaichach
    Beiträge
    84
    Danke
    1
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Dann erkär koch einen Task als "master" der über die ADS Funktion die ich beschrieben habe die strukturdaten vom anderen Task holt (muß irgendwo deklariert sein)

    wenn du dann den namen und die größe vergleichst kann doch kaum noch was schief gehen... zumindest keine schreibversuche über die strukturgrenzen hinaus...

    Gruß Bernd
    Real programmers don’t comment their code. It was hard to write, it should be hard to understand.

  8. #18
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo nochmals,
    ich habe noch nicht auf Beckhoff programmiert. Aber ich werde dir mal kurz schreiben wie ich es bei B&R machen würde, vielleicht gibts ja bei Beckhoff ganz ähnliche Funktionen....

    1) Über die PV-Library kann man die einzelnen Strukturelemente aus dem System auslesen und anschließend den Datentyp bestimmen. Das würde ganz genau zur gestellten Anforderung passen.

    2) Es gibt eine Library ("CSV_xxx") mit welcher Variablen (auch ganze Strukturen) in eine CSV Datei geschrieben werden. Falls Beckhoff sowas hat, kannst du dir 2 Dateien erzeugen und diese dann quasi Zeile für Zeile vergleichen ob Name, Datentyp übereinstimmt. Bei B&R ist dass Format nämlich so
    ----
    Struktur1.test1;BOOL;1.0
    Struktur1.test2;UINT;33.0
    usw.
    ...
    ----
    Vielleicht hat ja Beckhoff ähnliche Funktionen und somit könntest du das Problem einfach lösen...

    bg
    bb

  9. Folgender Benutzer sagt Danke zu bits'bytes für den nützlichen Beitrag:

    hago10 (01.02.2011)

Ähnliche Themen

  1. Pointer Vergleich AWL -> SCL??
    Von Carsten77 im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 16.08.2011, 14:21
  2. SCL: Pointer auf Struct in DB
    Von DunderHEAD im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 13.08.2010, 10:05
  3. ANY-Pointer auf temporären Struct im FB
    Von ChristianPaier im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 21.03.2010, 12:39
  4. Twincat POINTER STRUCT
    Von Basstarono im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 21.07.2008, 11:30
  5. pointer über temp struct...
    Von Jochen Kühner im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.09.2006, 10:23

Stichworte

Lesezeichen

Berechtigungen

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