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

Objekt-orientierte Visualisierung

takoller
2014-03-18
2014-03-20
  • takoller - 2014-03-18

    Kollegen:

    In unserem System befinden sich 4 Motoren, die wir schön brav als Objekte mit jeweils eigenen Instanzen in Codesys abgebildet haben. Auf unserem "Homescreen" habe ich nun 4 Blöcke (Frames) welche auf die Konfigurationsseite des jeweiligen Motors zeigen soll. Ich möchte nun immer die gleiche Visualisierung verwenden aber natürlich die korrekten Werte aus dem richtigen Motorenobjekt auslesen und darstellen. Kurz: Klicke auf "Motor 1" im Homescreen, gehe zur generischen Motor-Config-Page, aber fülle die Text- und Werteelemente mit den Daten aus "Motor 1". Klicke im Homescreen auf "Motor 2", werden die Werte von "Motor 2" im Motor-Config-Screen dargestellt.

    Weiss jemand wie man das hinkriegt? Danke für Eure Hilfe.

    Config:
    Win 7, Codesys 3.5, SP2

    Beste Grüsse,
    Adrian

     
  • J Schohaus - 2014-03-19

    Hallo Adrian

    1. Leg bei der Visu für dein Motor eine Schnittstelle an.
      Editor wird im Menu Visualiesierung -> Schnitstellen-Editor geöffnet.
      Hier deine Schnittstelle eingeben könnte zum Beispiel dein FB sein.
      Itf_FB_Motor : FB_Motor ;

    2. Bei deinen Visuobjekte verwendest du die neue Variable Itf_FB_Motor

    3. Aufrufen der Visu mit der Instanz.
      Für jeden Motor eine Visu Seite erstellen wo deine Visu vom Motor mit Frame eingebunden ist.
      Beim Frame deine Visu Auswählen und unter dem Parameter Referenzierte Visualisierung findest du das Interface wieder die du mit deiner Instanz Verknüpfen musst.

    Jochen

     
  • takoller - 2014-03-19

    Hallo Jochen

    Danke für Deinen Lösungsansatz. Ich werde das noch im Detail ausprobieren, aber so wie beschrieben scheint bei mir noch der Wurm drin zu sein und ich denke, das hat damit zu tun, dass ich zu wenig genau beschrieben habe, was mein Problem ist.

    Wir haben drei Stufen von Visu:

    HomeScreen: Darauf sind 4 "Motorstatusflächen" (die nennen wir "MotorButton" --> eigene Visu) abgebildet. Auf dieser "Motorstatusfläche" steht der Name des Motors, aktuelle Drehzahl [0..250], Status [OK, NOK], Eingangsssignal [-1..1].

    Das heisst nun, bei jeder MotorButton-Instanz, die ich mittels 4x "Frame" auf dem Homescreen eingebaut habe, sollte ich nun gemäss Deiner Anleitung unten das korrekte Motorobjekt verbinden und die aktuellen Werte anzeigen können. Bis hier bin ich noch zuversichtlich.

    Wenn ich nun den "MotorButton" anklicke, muss sich der Config-Screen für diesen Motor öffnen (das nennt sich dann bei uns "MotorScreen"). Da stehe ich jetzt an, wie ich dies hinkriege. Bis jetzt habe ich in der Framekonfiguration unter "Eingabekonfig", OnMouseDown... "Visualisierungswechsel" eingebaut mit Link auf "MotorScreen". Aber dort weiss ich dann natürlich nicht welchen Motor ich anzeigen soll.

    Auf dem MotorScreen möchte ich die Einstellungen ändern können. Wenn ich "EXIT" klicke, sollen die Änderungen verworfen werden, wenn ich "OK" klicke sollen die neuen Einstellungen übernommen werden. Egal ob "EXIT" oder "OK", danach sollte ich wieder auf dem "HomeScreen" sein.

    Wäre super, wenn Du noch Geduld hast, mir hier weiterzuhelfen.

    Beste Grüsse,
    Adrian

     
  • J Schohaus - 2014-03-20

    Wahrscheinlich geht das nur mit einem Umweg.
    Deine Seite Config-Screen wie vorher beschrieben mit dem Interface erstellen.
    Eine neue Anzeigeseite erstellen wo die Config-Screen als Frame angezeigt wird.
    Für Jeden Antrieb ein Eintrag im Frame mit der Visu Config-Screen und in den Variablen die Instanzen zu dem Frames zuweisen. Jetzt könntest du über eine Index Variable oder der Aktion die Anzuzeigende Frameseite Auswählen.
    In MotorButton auf dein HomeScreen mit OnMouseDown Frame umschalten und dann zur Anzeigeseite Config-Screen springen.

     
  • takoller - 2014-03-20

    Jochen,

    Danke, so geht es. Ist zwar ein etwas wüster Häck, aber naja. Es tutet.

    Beste Grüsse,
    Adrian

     

Log in to post a comment.