Reference auf ein Propertie

BerndP
2011-07-21
2011-08-05
  • BerndP - 2011-07-21

    Ich möchte auf auf ein Propertie (Typ: Real) eines Objekts via einer Reference zugreifen.

    Der Compiler lässt dies zu.
    Zur Laufzeit gibt es aber ein Ausnahmefehler!?

    "Regler-Objekt":

    Zitat:
    FUNCTION_BLOCK Regler
    VAR_INPUT
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    _SollTemp : REAL;
    END_VAR

    Das Regler-Objekt hat ein dementsprechendes Propertie : SollTemp vom Typ Real.
    Die Getter/Setter lesen/schreiben auf die Variable _SollTemp.

    Deklaration Hauptprogramm:

    PROGRAM PLC_PRG
    VAR
       i: INT;
       Regler1 : Regler;
       MyRef : Reference to real;
    END_VAR
    

    Hauptprogram:

    i:=i+1;
    MyRef REF= Regler1.SollTemp;
    

    Wenn ich versuche die Variable MyRef zu beschreiben (im Online Monitoring)
    wird ein Ausnahmefehler erzeugt!

    Bug or feature?

    Grüsse

     
  • David

    David - 2011-07-21

    Bitte senden Sie Ihr Testprojekt indem dies reproduzierbar auftritt als Archiv zu: e support@3s-software.com e
    Mit welcher CDS-Version arbeiten Sie genau, welches LSZ verwenden Sie?

     
  • David

    David - 2011-07-21

    hier müsste der Compiler eine Fehlermeldung ausgeben. REF= auf Property ist nicht möglich.
    --> CDS-23925

     
  • singleton - 2011-08-05

    DFreiberg hat geschrieben:
    hier müsste der Compiler eine Fehlermeldung ausgeben. REF= auf Property ist nicht möglich.
    --> CDS-23925

    Richtig, die Property selbst muss eine Referenz auf die lokale Variable lieferen. Dann klappt das auch:

    POPERTY SollTemp : REFERENCE TO LREAL
    

    In den Accesoren sieht das dann so aus:

    SollTemp REF= _SollTemp
    

    Und im Programm so:

    MyRef REF= Regler1.SollTemp;
    
     

Log in to post a comment.