TwinCAT HMI Button verknüpfen bzw. neue Seite erstellen

brandlpb

Level-1
Beiträge
24
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend zusammen,

momentan arbeite ich mich für meine Bachelorarbeit in die Beckhoff TwinCAT HMI ein. Leider habe ich noch keine Erfahrungen mit TwinCAT. Weder das Handbuch TwinCAT HMI noch die Beiträge hier im Forum haben mir bei der praktischen Umsetzung meines Theoriewissens viel geholfen.

Die Anlage wurde bereits aufgebaut und die Modellierung und Ansteuerung des Demonstrators sind ebenfalls bereits über Matlab/Simulink programmiert.

An dieser Stelle geht es bei mir erstmal darum, wie die ersten Schritte in TwinCAT HMI modelliert werden. Ich würde beispielsweise erstmal durch Daraufklicken eines Buttons auf eine neue Seite kommen, wo ich die weiteren Funktionen aufgelistet darstelle. Danach muss ich wiederum durch Daraufklicken eines anderen Buttons z.B. eine Simulation abspielen können.

Zunächst habe ich zur Probe zwei Buttons über Drag-und-Drop-Funktion auf meine Hauptseite gelegt. Leider weiß ich nicht, wie ich dem Button einen Befehl zuordnen kann, sodass er dem Benutzer eine neue Seite öffnet.

Ich wäre sehr dankbar, falls mir jemand dabei weiterhelfen könnte.

Vorab schonmal danke! :)

Gruss

Brand
 

Anhänge

  • TwinCATHMI_Desktop.jpg
    TwinCATHMI_Desktop.jpg
    392,1 KB · Aufrufe: 112
Moin,

als erstes Empfehle ich dir, sofern du es noch nicht getan hast, dich im Beckhoff Infosys zum Thema einzulesen. LINK
Die Dokumentation ist leider wieder (typisch für Beckhoff) sehr mangelhaft und unvollständig. Aber für den Anfang immer noch besser als nichts.
Dort findest du auch ein Beispielprojekt (Ampelkreuzung) das du dir herunterladen und anschauen kannst.

Um Seiten in deinem HMI zu wechseln solltest du ein "Region" Control in dein View ziehen. In dieser Region kannst du dann den Content anzeigen.
Stichwort Content: Deine einzelnen HMI Seiten legst du als Content Dateien an. (Im Projekt-Explorer neues Element hinzufügen -> Content)

Das Region Control hat die Eigenschaft Common->TargetContent Da kannst du festlegen welcher Content in der Region dargestellt werden soll.

Willst du den Content mit einem Button-Click wechseln, musst du eine Funktion für den .OnMouseClick oder .OnMouseUp Event des Buttons anlegen.
In den Eigenschaften des Buttons auf die Event-Ansicht wechseln und beim entsprechenden Event auf das Stift Symbol Clicken. Jetzt ziehst du eine "WriteToSymbol" Funktion in das rechte Feld.
Ziel-Symbol -> Create Databinding -> Controls -> dein Region Control -> Common -> TargetContent
Wenn du das ZielSymbol ausgewählt hast, bietet TwinCAT dir automatisch als Value alle Content-Dateien an, die es in deinem Projekt findet. Hier kannst du einfach den Content auswählen, der mit dem Button angezeigt werden soll.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo MasterOhh,

zunächst einmal vielen vielen Dank für die hilfreiche Antwort. Ich habe das endlich heute hingekriegt. :)

Damit ich von meiner HMI Seite aus auf die Dateien zugreifen kann, die ich unter POUs->Main(PRG) deklariert habe, muss ich die Parameter erst in TC HMI Konfiguration unter Mapped Symbols -> Create Server Symbol definieren?

Über das Beispielprojekt , Ampelkreuzung, wurde hier in einem anderen Beitrag wieder gesprochen aber verstehe irgendwie nicht, was das mit TC-HMI zu tun haben soll. Ich glaube, da bin ich auf der falschen Seite. Meintest du die Seite: https://infosys.beckhoff.com/index....l/tcplcctrl_sample.htm&id=4384142450390528268 ?

Ich danke dir nochmal für deine Hilfe!

Gruss

Brand
 
Es gab im Infosys ein HMI Beispiel, das eine Ampelkreuzung visualisiert hat. Scheinbar hat man bei Beckhoff den Link mittlerweile entfernt (warum auch immer)....
Wenn ich wieder in der Firma bin, kann ich ja mal nachschauen ob ich das Beispielprojekt noch irgendwo gespeichert habe. Mir hatte es sehr geholfen einige Funktionen zu verstehen.

Was meinst du mit "auf Dateien zugreifen"? Redest du von Variablen im PLC Programm?

Um Variablen aus deinem PLC Programm in dein HMI zu mappen musst du das Programm in dein Zielsystem geladen haben (auf deine SPS oder die lokale Runtime). Der HMI Server greift über ADS auf die Variablen zu und das geht nur, wenn sie auch über ADS erreichbar sind, sprich sie in einer Runtime exisitieren.

Wenn du das getan hast, findest du die Variablenlisten in der TwinCAT HMI Configuration unter "All Symbols". Dort sollte der Reiter "ADS" zu sehen sein, unter dem alle Variablen aus dem Projekt zu finden sind. Dann einfach Rechsklick auf eine Variable und dann "Map Symbol". Neuen Symbolnamen eingeben oder den vorhandenen Namen mit OK bestätigen und schon hast du die Variable gemapped und kannst sie im HMI verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich stehe gerade vor genau dem selben Problem wie brandlbp. Ich habe mich bereits eingelesen in die TwinCat HMI, allerdings kriegt man dort ja nicht besonders viel Infos...
Außerdem habe ich das Ampelkreuzung-Beispielprojekt auch nicht gefunden, kann es sein, dass es das nicht mehr gibt? Wenn ja, könnte es hier jemand hochladen, der es zufällig noch hat?

Jetzt zu meinem eigentlichen Problem:
Ich habe meine Desktop.View und darauf befinden sich 4 Buttons, mit denen ich auf eine andere Visualisierungsseite wechseln möchte. Dafür habe ich eine Region in der Desktop.View erstellt und diese genauso groß wie die View gemacht. Jetzt habe ich bei den Buttons bei onMouseClicked ein Event hinzugefügt, sodass ich den TargetContent auf einen von mir angelegten Content schreibe. Das klappt auch alles, allerdings sehe ich immer noch die Buttons von der Desktop.view...Was mache ich falsch?

Gibt es keine einfachere Variante einfach nur die Visualisierungsseite zu wechseln? Habe ich in meiner ganzen HMI eigentlich nur eine .View?

Vielen Dank :)
Liebe Grüße
Lena
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi, könnte gut sein das sie das Beispiel nicht ständig aktualisieren wollen da sich die Software noch in der Entwicklung befindet, vielleicht funktioniert in der aktuellen Version auch nicht mehr alles...

Lenaxus die Buttons sind also nicht in der Region ?

Sollen die immer sichtbar sein unabhänging vom geladenen Content ?

Wenn ja vielleicht mal bei Z-Index ne 2 schreiben, damit kannst du überlappende Elemente in der Ebene verschieben, ansonsten dein Projekt mal zum download bereit stellen, damit man reinschauen kann.


Gruß Mathias
 
Hallo Zusammen,

muss eine kleine Visu über TwinCAT2 erstellen.

Kann mir jemand sagen wie ich über einen Button auf eine andere Seite wechseln kann? Zum Beispiel von der Seite "Übersicht" auf Seite "Station1"
In der Info finde ich allgemein recht wenig zur Visualisierung mit TC2.

Danke schonmal im Voraus

Gruß MaNo
 
Hallo MaNo,

erstmal generell macht es keinen Unterschied ob Du TC2 oder TC3 als Datenquelle hast.
Die TwinCAT HMI funktioniert hier gleich. Nur die Daten kommen halt per ADS-Protokoll von einer TC2 Steuerung, was aus Sicht der HMI aber egal ist.
Eine Seitenumschaltung realisierst Du mit Content-Seiten und einer Region.
Das Region Control stellt eine Content-Seite dar. Diese kann per Button Event dann umgeschaltet werden.
Du hast also immer eine feste gleichbleibende Hauptseite (Desktop.view) in der innerhalb einer Region dann verschiedene Content-Seiten angezeigt werden.
Es ist sogar möglich dieses Prinzip in einander zu verschachteln, so dass man kontextsensitive Unterelemente bauen könnte.

Beckhoff InfoSys Region:
https://infosys.beckhoff.de/content...54043199373769995.html?id=6253346448006614130

Beckhoff Infosys Content-Seiten:
https://infosys.beckhoff.de/content...45036000119033099.html?id=3597752050281273573

Hoffe das hilft Dir weiter.

Viele Grüße,
Oliver
 
Zurück
Oben