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

Ergebnis 1 bis 6 von 6

Thema: Externer Zugriff auf lokale "VAR........ END_VAR" Variablen über "."- Operator

  1. #1
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    warum ist es in Codesys möglich, von extern auf die lokalen Variablen Beispielsweise eines PROGRAMM- Bausteins zuzugreifen.
    Die Variablen werden zwar nicht in der Autovervollständigung angzezeigt nach Eingabe des "."- Operators, schreibt man sie dennoch hinter den Punkt ist es doch möglich darauf zuzugreifen. Sauber ist das ja nicht, und dafür gedacht sind die lokalen (internen) Variablen auch nicht.

    Warum ist es dennoch möglich? Ein Bug der Entwicklungsumgebung??

    Viele Grüße

    Dax
    Zitieren Zitieren Externer Zugriff auf lokale "VAR........ END_VAR" Variablen über "."- Operator  

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

    Standard

    Hallo Dax,

    Also ich würde das eher als Feature bezeichnen . Tatsache ist, dass das vermutlich mal ein Bug war. Zu Anfang hat man da halt mal eine
    Prüfung zu wenig gemacht.
    Da der Zugriff aber nun mal möglich ist, wird er auch in tausenden Anwendungen gemacht. Sowas bekommt man daher kaum noch raus.
    Daher ist das heute eine zugesicherte Eigenschaft, die wir nicht mehr ändern werden.
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  3. #3
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard

    hallo und danke für deine Antwort.

    Das habe ich mir schon gedacht das es so entstanden ist. Allerdings kann ich deine Meinung nicht teilen und halte es für den falschen Weg.
    Denn unerfahrene Programmierer sind leicht versucht dieses "feature" wie du es nennst, zu nutzen. In der Doku steht ja auch das von außen nicht darauf zugegriffen werden kann.
    Grund für den Thread war, dass ich es tatsächlich schon so oft gesehen habe und es ist jedes Mal einfach nur unnötig. Erleichtert auch nicht das debuggen.
    Meine Meinung: In den Einstellungen aktivierbar machen für diejenigen die nicht umsteigen wollen weil der Aufwand zu groß wäre, grundsätzlich sollte der Zugriff aber vom Compiler gemeldet werden (zumindest als Warnung) bzw. nicht zugelassen werden.
    Denn schön ist diese Art der Programmierung nicht und konsequent ist diese Lösung in meinen Augen auch nicht.

    mfg

    Dax

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

    Standard

    Für alle Tests die über den normalen Umfang des Compilers hinausgehen haben wir mittlerweile ein eigenes Tool.
    Das könnte für dich interessant sein, im Moment testet es diesen Fall allerdings noch nicht ab:
    http://store.codesys.com/codesys-sta..._store=default
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  5. #5
    Registriert seit
    28.08.2014
    Beiträge
    21
    Danke
    0
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Wobei man noch erwähnen sollte, dass dieses "Feature" nur den lesenden Zugriff ermöglicht. Daher halte ich perönlich den Zugriff zwar für unschön, aber nicht unbedingt kritisch.

  6. Folgender Benutzer sagt Danke zu singleton für den nützlichen Beitrag:

    Werner29 (28.04.2015)

  7. #6
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Bernhard Werner,

    das Input- Variablen eines Function_Block, entgegen der Doku, von außen gelesen werden können, ist dann auch so ein "Feature"?
    Ich stelle leider fest, das Programmierer intern Input-Variablen beschreiben und von außen diese wieder auslesen. Dies sollte laut Doku gar nicht möglich sein.
    Dafür sind Input Variablen meiner Meinung nach gar nicht gedacht. Das es dennoch möglich ist, fördert meiner Meinung nach das schlechte Programmieren.

    Viele Grüße

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 17.03.2015, 15:04
  2. Antworten: 8
    Letzter Beitrag: 01.07.2013, 17:16
  3. Antworten: 0
    Letzter Beitrag: 05.09.2012, 12:08
  4. lokale Variable "hängt sich auf"
    Von Dodo im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 27.03.2006, 08:20
  5. S5: FB mehrfach verwenden; "lokale Variablen"
    Von burner im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 15.01.2006, 19:38

Lesezeichen

Berechtigungen

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