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

Ergebnis 1 bis 6 von 6

Thema: Kein Gültiges Eigenschaftenmonitoring angegeben ???????

  1. #1
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was bedeutet die Meldung im Titel dieses Beitrages bezüglich Codesys V3?
    Zitieren Zitieren Kein Gültiges Eigenschaftenmonitoring angegeben ???????  

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

    Standard

    Wenn man ein Property in der Symbolkonfiguration konfiguriert, dann geht das nur, wenn das Property eines der beiden Attribute definiert:
    {attribute 'monitoring' := 'call'}
    {attribute 'monitoring' := 'variable'}
    Ich glaube du bist in sowas reingelaufen.
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  3. #3
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Und wie bekomme ich die Attribute? Bzw. Was machen die?
    Zitieren Zitieren Und wie lösen?  

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

    Standard

    Auszug aus der Hilfe:

    Programmierreferenz > Deklaration > Pragma-Anweisungen > Attribut-Pragmas > Attribut Monitoring
    Attribut Monitoring

    Dieses Attribut-Pragma ermöglicht das Monitoring von Eigenschaften und Funktionsaufrufen in der Online-Ansicht des IEC-Editors oder in einer Überwachungsliste (watchlist). Siehe im Folgenden: „Monitoring von Eigenschaften“, „Monitoring der Ergebnisse von Funktionsaufrufen“.

    Monitoring von Eigenschaften
    Das Pragma muss in der Zeile oberhalb der Definition der Eigenschaft eingefügt werden. Dann wird in der Online-Ansicht des Bausteins, der die Eigenschaft verwendet, bzw. in einer Überwachungsliste der Name, Typ und Wert der Variablen der Eigenschaft angezeigt. Dort können auf Werte für das Forcen der Eigenschaften-Variablen vorbereitet werden.

    Abb. 559: Beispiel einer zum Monitoring vorbereiteten Eigenschaft


    Abb. 560: Beispiel einer Monitoring-Ansicht


    Es gibt zwei verschiedene Wege, den aktuellen Wert der Eigenschaften-Variablen angezeigt zu bekommen. Im jeweiligen Anwendungsfall muss sorgfältig erwogen werden, welches Attribut-Pragma geeignet ist, den gewünschten Wert anzuzeigen. Das hängt davon ab, ob innerhalb der Eigenschaft weitere Operationen mit den Variablen implementiert sind.

    1. Pragma '{attribute 'monitoring':='variable'}'
    Eine implizite Variable wird für die Eigenschaft angelegt, die immer wenn die Applikation die Set oder Get Methode aufruft. Der zuletzt in dieser Variablen gespeicherte Wert wird im Monitoring dargestellt.
    Syntax:
    {attribute 'monitoring':='variable'}

    2. Pragma '{attribute 'monitoring':='call'}'
    Dieses Attribut kann nur für Eigenschaften verwendet werden, die einfache Datentype oder Pointer zurückgeben, nicht für strukturierte Typen:
    Der zu monitorende Wert wird durch direktes Aufrufen der Eigenschaft geholt, d.h. der Monitoring-Dienst des Laufzeitsystems ruft die Get Methode auf und die Eigenschaften-Funktion wird ausgeführt!
    HINWEIS!

    Wenn dieser Monitoring-Typ gewählt wird anstelle eine implizite Zwischenvariable zu verwenden (siehe oben, 1.), müssen mögliche Seiteneffekte bedacht werden, die auftreten können wenn innerhalb der Eigenschaft-Funktion die Variable betreffende Operationen implementiert sind!
    Syntax:
    {attribute 'monitoring':='call'}

    Monitoring der Ergebnisse von Funktionsaufrufen
    Monitoring von Funktionsaufrufen kann für jeden konstanten Wert verwendet werden, der als 4-byte-numerischer Wert interpretiert werden kann (z.B. INT, SHORT, LONG). Für alle anderen Eingabeparameter (z.B. BOOL) muss eine Variable anstelle des konstanten Parameters verwendet werden. Das Pragma '{attribute 'monitoring':='call'}' muss in der Zeile oberhalb der Funktionsdeklaration eingefügt werden. Dann wird in der Online-Ansicht einer POU, in der einer Variable das Ergenis eines Funktionsaufrufs zugewiesen wird, diese Variable in der Texteditor-Ansicht gemonitored werden. Die Variable kann zum gleichen Zweck auch einer Überwachungsliste hinzugefügt werden. Man beachte, dass dabei der Befehl "Watchliste" verwendet werden kann, um die Variable unmittelbar in einer Überwachungsliste bereitgestellt zu bekommen.

    Abb. 561: Beispiel, Funktionen FUN2 und FUN_BOOL2 mit Attribut 'monitoring'


    Abb. 562: Beispiel, Aufrufe der Funktionen FUN2 und FUN_BOOL2 in einer Programm-POU


    Abb. 563: Beispiel, Funktionsaufrufe im Online-Modus


    Zu beachten für das Monitoring von Variablen mit einem impliziten Aufruf einer externen Funktion:
    • Die Funktion muss mit {attribute 'monitoring' := 'call'} gekennzeichnet werden
    • Die Funktion muss mit der Eigenschaft immer binden versehen sein
    • Die Variable muss mit {attribute 'monitoring_instead' := 'MyExternalFunction(a,b,c)'} gekennzeichnet sein
    • Die Werte a,b,c müssen ganzzahlige Werte sein und müssen zu den Eingabeparameter der aufzurufenden Funktion passen

    Forcen oder Schreiben von Funktionen wird nicht unterstützt. Forcen kann jedoch implizit implementiert werden, indem ein zusätzlicherEingabeparameter für die jeweilige Funktion hinzugefügt wird, der als internes "Force-Flag" funktioniert dient.
    Funktionsmonitoring ist im Kompakt-Laufzeitsystem nicht möglich.
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  5. #5
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Und wie gebe ich das nun in der Eigenschaft ein? Finde da auch in der Hilfe nichts.
    Zitieren Zitieren Wie gebe ich das ein?  

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    An der Stelle nicht, aber einen Link weiter steht es:

    Programmierreferenz > Deklaration > Pragma-Anweisungen > Attribut-Pragmas > Benutzerdefinierte Attribute
    Benutzerdefinierte Attribute

    Ein beliebiges benutzer- oder applikationsdefiniertes Attribut kann einem Baustein, einer Typdefinition oder einer Variablen zugewiesen werden. Dieses Attribut kann vor der Übersetzung des Projekts mit Hilfe von bedingten Pragmas abgefragt werden.
    Syntax:
    {attribute 'attribute'}
    Dieses Pragma wirkt auf die nachfolgende POU- bzw. Variablendeklaration.
    Ein Attribut kann den Objekten POUs und Aktionen, dem Objekt Variablen sowie Typen zugewiesen werden.

    Beispiel zu POUs und Aktionen
    Attribut "vision" für Funktion fun1:
    {attribute 'vision'}
    FUNCTION fun1 : INT
    VAR_INPUT
    i : INT;
    END_VAR
    VAR
    END_VAR



    Beispiel zu Variablen
    Attribut "DoCount" für Variable ivar :
    PROGRAM PLC_PRG
    VAR
    {attribute 'DoCount'};
    ivar:INT;
    bvar:BOOL;
    END_VAR



    Beispiel zu Typen
    Attribut "aType" für Datentyp DUT_1:
    {attribute 'aType'}
    TYPE DUT_1 :
    STRUCT
    a:INT;
    b:BOOL;
    END_STRUCT
    END_TYPE



    Sehen Sie „Bedingte Pragmas“ zum Gebrauch von bedingten Pragmas.

    Und bei Properties sieht das dann so aus:
    {attribute 'monitoring' := 'call'}
    PROPERTY Prop : INT
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

Ähnliche Themen

  1. kein DATE
    Von Markus_CX9001 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 09.12.2011, 16:50
  2. Antworten: 19
    Letzter Beitrag: 17.01.2008, 14:27
  3. Warum muss der lokale Port angegeben werden?
    Von schatte im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 22.05.2007, 13:00
  4. Antworten: 4
    Letzter Beitrag: 26.04.2007, 21:05
  5. Antworten: 1
    Letzter Beitrag: 02.06.2006, 14:35

Lesezeichen

Berechtigungen

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