Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Variablenzugriff mit VAR_EXTERNAL

Belacqua
2007-03-29
2007-04-03
  • Belacqua - 2007-03-29

    Welchen Vorteil bringt die Variablendeklaration im Deklarationsteil 'VAR_EXTERNAL'? Die CoDeSys Hilfe sagt dazu:

    "Globale Variablen, die in einen Baustein importiert werden sollen, werden mit dem Schlüsselwort EXTERNAL gekennzeichnet. Sie erscheinen online auch im Watch-Fenster des Deklarationseditors...."

    Ich kann aber auf die globalen Variablen zugreifen ohne sie dort zu deklarieren - wozu dient also dieser Deklarationsblock?

     
  • Anonymous - 2007-04-02

    Originally created by: Bernhard Werner

    Hallo,

    VAR_EXTERNAL dient nur dazu, mit anderen Tools erstellte Listen importieren zu können. Die Norm schreibt eine solche Doppeldeklaration eigentlich vor.

    Wir fanden das aber sehr umständlich und unnötig und deswegen braucht man das in CoDeSys nicht.

    Bernhard Werner

     
  • Belacqua - 2007-04-03

    Wenn ich das richtig interpretiere würde das dann ja so funktionieren, dass ich eine globale Variable deklariere, diese innerhalt eines Funktionsblocks aber nur verwenden kann wenn ich sie hier nochmals als external deklariere. Das wirkt erstmal umständlich würde aber die Darstellung erleichtern welche Funktion Zugriff auf welche globale Variable hat. Im Bereich Datenkapselung und Datenkonsistenz wäre das durchaus hilfreich zumal es ja keine Funktion gibt Variablen nur in bestimmten Modulen/Funktionen zur Verfügung zu haben (wie z.B. in C mit includes und extern Deklarationen).

     
  • Anonymous - 2007-04-03

    Originally created by: Bernhard Werner

    Hallo Belacqua,

    das ist richtig, nur muss man die Deklaration immer konsistent halten.

    Schlecht an der VAR_EXTERNAL Deklaration ist, dass man die gesamte Deklaration nochmal abtippen muss (Name und Typ).

    Wenn sich etwas ändert an der Variablendeklaration muss man es an allen Verwendungsstellen nachziehen.

    Es kann ja jeder machen wie er will, wir fanden das umständlich und haben es erstmal weggelassen und später aus Kompatibilitätsgründen nachgezogen. Verwendet wird das kaum.

    Bernhard

     

Log in to post a comment.