Struct Variablen und AT-Deklaration

guerillero
2009-08-03
2009-08-04
  • guerillero - 2009-08-03

    Hallo,

    ich habe eine Struktur angelegt und möchte einer Variablen in dieser Struktur eine Hardwareadresse mittels AT-Deklaration zuweisen.

    Mess1: Mess;

    Mess1.Variable AT %IB1.2.3:UINT;

    so wie oben aufgeführt geht es leider nicht. Funktioniert es prinzipiell so wie es mir gedacht habe?

    Gruß

    Michael

     
  • Ralph Holz - 2009-08-03

    Nö kann so nicht gehen!

    Die Variablen einer Struktur liegen immer aufeinaderfolgend im Speicher. Deine komplette Struktur könntest du also auf eine Absolutadresse legen, aber eine Komponente davon, wie du es versuchst, nicht.

    Gruß

    Ralph

     
  • guerillero - 2009-08-03

    Hi,

    habe ich schon befürchtet. Ich muss also den Umweg gehen "Normalen Variablen" eine feste Adresse zuzuordnen und diese dann im Programm der Stucturvariablen zuordnen. Etwa so.

    Mess1: Mess;

    Variable1 AT %IB1.2.3:UINT;


    Mess1.Variable:=Variable1

    Gruß

    Michael

     
  • guerillero - 2009-08-04

    Hallo,

    könnte man es denn möglich machen die einzelnen Komponenten absolut zu Adressieren? Würde das arbeiten mit Strukturen dann sehr aufwerten.

    Gruß

    Michael

     
  • Ralph Holz - 2009-08-04

    Aber nur scheinbar!

    Dann würde nämlich das übergeben eine Strucktur an Bausteine oder das verwenden von Strukturen in Arrays nahezu unmöglich machen oder den Zugriff darauf wesentlich verlangsamen, weil dann nähmlich jedesmal auf verschiedene Speicherstellen zugegriffen werden muss.

     
  • guerillero - 2009-08-04

    Ok,

    wäre aber schick gewesen.

    Danke

    Michael

     
  • Ralph Holz - 2009-08-04

    In V3 gibt es ein sogenanntes Mapping dann sieht es für dich so aus, als ob du genau das tun könntest (nicht mit der AT deklaration) aber es passiert im Hintergrund genau das gleiche wie du dir selbst geschrieben hast: Die Werte werden umkopiert.

     
  • guerillero - 2009-08-04

    Hi,

    werde mir die V3 bei gelegenheit mal näher anschauen.

    bis denn

    Michael

     

Log in to post a comment.