TwinCat 3 TE2000 TC3 HMI Visualisierung Erfahrungen

Olli_BS

Level-2
Beiträge
444
Reaktionspunkte
91
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi!
Ich mache nur 1-2 im Jahr mit TwinCat rum. Großer Knackpunkt ist eigentlich immer die HMI (TARGET).
Auf WinCE Funktions arm, auf nicht CE gleichzeitig online programmieren nicht möglich.
Bei beiden nur 1 x HMI pro PLC.
Und ganz grundsätzlich etwas altbacken. Optisch sowie Editor / Funktionsumfang.

Als Fremd-Alternative kenne ich nur Beijer Panels. Und die sind ja höchstens "naja".
Nach "iX Developer" findet man WinCC auf einmal ganz toll...

Dann sollte ja die neue TC3 HMI die Lösung sein.
Da habe ich mal vor 2-3 Jahren mit rum experimentiert und war ziemlich enttäuscht.
Das war nicht sehr intuitiv und ohne HTML5/Javascript (?) Kenntnisse nicht wirklich verständlich.
Ich hatte nur ein Beispielprojekt gefunden (Ampel !). Und das war keine Hilfe.
Außer einer Sprachumschaltung war da kaum was Relevantes drin (Wir machen Sondermaschinenbau, keine Azubi-Beschäftigungstherapien ...).

Jetzt die Frage:
Kann man da aktuell angenehm+ zügig mit Arbeiten?
Also ohne Web-Entwickler/Hochsprachen Fähigkeiten.
Und wenn man WinCC-Komfort gewohnt ist (Ich hätte früher nie geglaubt, das ich das mal schreibe ...).

Das Meldesystem war am Anfang komplett extra. Und gefühlt noch umständlicher wie das alte. Ist das komfortabler geworden?

Wie gesagt: Es geht um Sondermaschinen. Also nicht einmal viel Arbeit reinstecken und dann nur noch kopieren.
Man sollte schon spontan mal ein Seite Handbetrieb für einen Servo oder so (Tast-Funktionen, Anzeigen, Zahleneingabe, Text-Symbol-listen (Eingabe+Ausgabe) hinbekommen.

Mehrere HMIs sind ja wohl problemlos möglich, oder?
Gibt es irgendwo ein frei zugängliches Beispiel-Projekt mit gehobenen Funktionsumfang?

Wäre nett wenn jemand mal praktischer Erfahrungen teilen könnte. DANKE !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben bisher ein größeres Projekt mit der TE2000 HMI realisiert.

Von Hause aus ist der Funktionsumfang recht spärlich. Sind halt mehr oder weniger nur die Standard Elemente enthalten.
Die wirkliche Stärke des HMIs zeigt sich erst wenn man tiefer in die Materie einsteigt. Wir haben unsere HMIs bisher in C# programmiert und sind es daher gewohnt alle Freiheiten zu haben ohne auf die Limitationen von diversen HMI-Anbietern Rücksicht nehmen zu müssen (wir haben einige getestet und waren mit keinem so recht zufrieden)

Das TE2000 gibt einem fast alle Freiheiten. Der Haken ist, man muss wissen wie. Die Dokumentation von Beckhoff ist traditionell "grenzwertig" und endet oft da, wo es anfängt interessant zu werden.
Web-Programmierung (Javascript + HTML + CSS) ist auch so eine Sache. Für einen Programmierer der die "traditionellen" Hochsprachen + SPS gewohnt ist, ist Javascript erstmal ein Kulturschock (so ging es mir jedenfalls) - siehe asynchrone Funktionsaufrufe, Variablen Scopes um nur 2 Dinge zu nennen, die mir massiv Kopfschmerzen bereitet haben.
Ich habe vor gut einem Jahr angefangen mich einzuarbeiten (meistens privat in meiner Freizeit) und bin mittlerweile auf einem Stand wo ich auch komplexere Sachen recht zügig umsetzen kann, kratze aber immer noch mehr oder weniger an der Oberfläche von dem was Möglich ist. (z.B. habe ich noch nicht mit Extensions gearbeitet)

Dynamische Grafiken lassen sich z.B. sehr schön umsetzen, wenn man SVG nutzt. Zudem gibt es eine Fülle von freien Bibliotheken im Netz (auch für die kommerzielle Nutzung), die eine Menge nützliche Funktionen enthalten.


Tl;dr
Das TE2000 HMI ist ein mächtiges Tool, wenn man sich einarbeitet. Preislich steht die Lizenz im Vergleich zu anderen Herstellern auch recht gut da. Beckhoff erweitert die Funktionalität stetig. Und man kann es, wie die meisten Sachen bei Beckhoff, unbegrenzt Testen ohne einen Cent zu bezahlen.

Was Beckhoff aus meiner Sicht vergessen hat, das man auch eine Möglichkeit braucht das HMI auf der Anlage darzustellen. Der Kiosk-Modus ist bei den meisten Browsern nur noch halbgar implementiert. Den Live-View hat Beckhoff ja auch auf Chromium Basis selber erstellt, hier wäre es doch ein Leichtes einen abgespeckten Browser mit guten Kiosk Funktionen auszuliefern (meinetwegen auch für einen geringen Obolus). Wir haben unseren eigenen Browser (chromium) mit cefsharp erstellt.
 
Bin auch gerade dabei ein größeres Projekt mit der TE2000 zu visualsieren, als Alternative zu einer VB Visualisierung. Viele Sachen werden dadurch vereinfacht (z.B. das direkte ansprechen und lesen der PLC Variablen), wenn man WinForms gewohnt ist gibt es aber auch ein paar Sachen die erheblichen Mehraufwand bedeuten als gewohnt. Zumindest mir ist es so ergangen, einige Funktionen habe ich vermisst z.B.


  • Radio Button oder eine einfache LED sind nicht vorhanden, hätte ich als Standard Element für eine Automatisierungssoftware erwartet
  • CheckBox gibt es, keine CheckBoxGroup -> die muss man sich selber erstellen inklusive der Funktion, dass nur eine CheckBox aktiv ist.
  • TabSheet? Leider nein :???: Muss man sich selber basteln ...
  • Kurz über ShowMessage modal was ausgeben und darauf reagieren? Nene ... Das muss man sich mit Regions oder Contents selber erstellen und auflösen ;)

Hinzu kommt das erschwerte Debuggen und Suchen nach Variablen da die TE2000 ist nunmal HTML basiert ist ...


Es ist halt eine Umstellung, bisher habe ich es nicht bereut. Ein paar mehr Standardkomponenten hätte ich aber nach über 6 Jahren aber schon erwartet :cool:

Ob du dich da einarbeiten willst kann weiss ich nicht, bequem alles kostenlos testen kannst du ja Beckhoff :)
 
Zuletzt bearbeitet:
Dank der wenigen, aber dafür ausführlichen Infos ist das Fazit für mich ja recht eindeutig:
Für Gelegenheit-User ohne WebTech-Fähigkeiten ist die neue HMI keine Lösung.
Also bleibst gebastelt oder Fremd-Systeme...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@O'Gigis: Zu deinen Punkten.


  • Die Checkbox hat ein Attribut ToggleGroup, damit kannst du genau das machen.
  • TabSheet gibt es nicht. Mit den Regions kann man das aber einfach und schnell machen, es will ja auch nicht jeder Tabs.
  • ShowMessage gibt es nicht. alert() macht aber genau das gleiche.

Grüße
 
@Hack

Danke für deine Hinweise!

Das mit der Checkbox habe ich genau so mit der internen Variablen ToggleGroup gemacht. Leider verhindert es nicht ,dass beim Klicken einer schon ausgewählten CheckBox diese auch ausgewählt bleibt. Das muss ebenfalls programiert werden. Da kann man schnell drauf reinfallen, dass die Zustände der Checkboxen beim wiederanklicken je nach ausgewählten Ereignis zu Beginn des Ereignis noch True sind und am Ende erst auf False gesetzt werden :???: War 'ne schöne Suche ;)

Die TabSheets habe ich ebenfalls mIt den Regions/Contents erstellt. Da muss man sich aber mit einer angesetzten Buttonreihe für die Tabsheet-Leiste weiterhelfen, ist auch nicht schön wenn man mal was versetzen will. Zudem werden Inhalte wie z.B. die Farbe eines Buttons beim Wechseln der "Tabsheets" nicht behalten, da muss man sich über weitere SPS Variablen weiterhelfen die den gesetzten Status beibehalten. Geht, ist aber halt aufwendiger.

alert() funktioniert auch um was mitzuteilen, kann ich da auch eine Button plazieren und die Antwort auslesen? Sieht aber nicht wirklich schön aus das alert- Fenster.


Aber nochmals, die Vorteile Überwiegen und ich habe es nicht bereut :)
 
Zuletzt bearbeitet:
Wenn du etwas eingeben möchtest musst du prompt() anstatt von alert() verwenden.

prompt() und alert() lassen sich nicht anpassen ihr Aussehen hängt vom verwendeten Browser und OS style ab.

Du kannst dir aber auch ein eigenes Meldungs-Control erstellen, dass bei Aktivierung im Desktop View einblendest.
Ich habe z.B. im Main View eine halbtransparente Region auf der so ein Meldungsfenster abgelegt ist. Die Region hat einen Z-Index von 9999 und sollte somit immer über allen anderen Controls liegen wenn sie eingeblendet wird. Da die Region die Größe des gesamten Bildschirms hat, wird verhindert das andere Controls betätigt werden, während sie aktiv ist.
Mit etwas Bastelei ist da schon einiges drin... Und wenn man es dann auch noch ordentlich und Sauber macht (Parametrierungsmöglichkeiten, relative Positionierung der Controls, Skalierbarkeit, etc.) dann kann soetwas auch in anderen Projekten weiter verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@MasterOhh

Soähnlich mache ich es auch :D Das mit dem Z-Index ist nochmals ein guter Hinweis, aber reicht nicht das halbtransparentes Fenster über den gesamten Bildschirm um sicher zu gehen, dass die dahinterliegenden Controls nicht ausgeführt werden? Bei mir funktioniert es auch so, habe aber auch kein anderes Control mit einem Z-Index belegt.
 
Wir haben die TF2000 mittlerweile auch im Einsatz, da es für uns kein richtig Zugeschnittene HMI gab.
Ich habe zuerst privat ein bisschen Experimentiert, das ganze ist nun gewachsen und kann es recht gut mit aktuellen Systemen aufnehmen.
Die Schulung zur HMI sehe ich aber als notwendig an, wenn man sich nicht die ersten Schritte im Kreis bewegen will.
Insbesondere mit der aktuellen Version und dem Meldungsmamagement kann man schon sehr viel erreichen.
 
@MasterOhh
So ähnlich mache ich es auch :D Das mit dem Z-Index ist nochmals ein guter Hinweis, aber reicht nicht das halbtransparentes Fenster über den gesamten Bildschirm um sicher zu gehen, dass die dahinterliegenden Controls nicht ausgeführt werden? Bei mir funktioniert es auch so, habe aber auch kein anderes Control mit einem Z-Index belegt.

Wenn dein Control über dem ganzen Bildschirm liegt, kann man mit dadrunter liegenden Controls nicht mehr interagieren.

Wenn ihr jedoch eh JavaScript-Programmierung (in controls oder code-behind) nutzt solltet ihr euch auch den TopMostLayer ansehen. In Aktion kann man ihn in der Combobox (Attribut "DropDownStyle" auf "mobile" stellen) sehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben die TF2000 mittlerweile auch im Einsatz, da es für uns kein richtig Zugeschnittene HMI gab.
Ich habe zuerst privat ein bisschen Experimentiert, das ganze ist nun gewachsen und kann es recht gut mit aktuellen Systemen aufnehmen.
Die Schulung zur HMI sehe ich aber als notwendig an, wenn man sich nicht die ersten Schritte im Kreis bewegen will.
Insbesondere mit der aktuellen Version und dem Meldungsmamagement kann man schon sehr viel erreichen.

Das Meldungsmamagement ist inzwischen benutzbar?
Das war ja am Anfang noch schlechter editierbar (kopieren !!) wie in TC2.
 
Ich wollte mich auch mal zu dem Thema äußern, und euch meine Erfahrungen mitteilen. Der Thread ist zwar schon etwas älter, aber ich habe keinen aktuelleren zu dem Thema gefunden.

Kurz zu mir: Seit einigen Jahren SPS-Programmierer in TC3, seit anfang des Jahres zusätzlich noch HMI. Da ich mich mit den typischen HMI-Programmiersprachen (javascript etc.) so überhaupt gar nicht auskenne brauchte ich eine HMI, die mir das abnimmt.

Ich bin einigermaßen zufrieden mit der TE2000, vor allem die Verbindung zur Steuerung klappt gut und viele Funktionen, die irgendwo im hintergrund laufen sind schnell per drag and drop implementiert (Fehlerhandling, Busdiagnose, Rezepthandling, Benutzermanagement, etc). Wenn ich das hätte selbst machen müssen, dann wäre ich heute noch nicht damit fertig. Natürlich ist man dann im Funktionsumfang begrenzt, aber damit kann ich leben.

Die Standardelemente lassen aber häufig zu wünschen übrig. Das betrifft teilweise die Funktion, oft aber auch das Design.
Zur Funktion: Gerade so etwas wie Menü-Buttons waren für meine Zwecke dann irgendwie doch nicht ausreichend, weshalb ich mir für fast alles eigene Usercontrols erstellen musste, die dann das machen, was sie sollen.
Zum Design: Das Standard-Design von den Elementen ist grauenhaft. Überall Schattierungen, komische Farben und alles was man nicht haben will. Hier muss man echt einiges tun, um ein vernünftiges Design rein zu bekommen. Aber nach dem, was ich so in der Industrie an HMIs sehe trifft das Problem nur mich, alle anderen legen wohl etwas weniger Wert auf Design.

Im Bereich der Bedienbarkeit ist es mal so mal so. Sehr positiv hervorzuheben ist der Live-View, mit dem man ein umittelbares Feedback bekommt.
Negativ ist z.B. das verhalten beim Kopieren von Elementen. Wenn ich z.B. in einem Num-Input feld mehrere Aktionen definiert habe, dann zeigen viele davon auf das Element selbst. (also wenn die User-Interaktion beendet wurde, dann soll der Wert im Num-Input auf die entsprechende SPS-Variable geschrieben wurde.)
Wenn ich dieses Element jetzt kopiere, dann bekomme ich (natürlich) einen neuen Namen, aber die Aktionen verweißen alle noch auf das alte Element. Natürlich muss ich die Verweise zu der neuen Variablen ändern, aber es nervt, dass ich dem Ding an vielen Stellen noch sagen muss, dass es doch bitte auf sich selbst verweißen soll, und nicht auf seinen Nachbarn.

Ganz katastrophal ist die Doku. Selbst für Beckhoff-Verhältnisse.
Vor kurzem habe ich mich z.B. über das neue Popup gefreut. Das gibt es jetzt schon seit Mai, aber immer noch nicht ist in der Doku etwas darüber zu finden. Und wenn es dort mal drin ist, dann sind es irdendwelche unnützen Tabellen, wie man es einsetzt muss man dann beim Support erfragen. Das war bei mir ein monatelanger Kampf, bis ich endlich mal jemanden hatte, der mir geholfen hat, das Popup so einzusetzen, dass es brauchbar ist.

Ein weiterer positiver Punkt ist die Leistungsfähigkeit bei Plots: Mehrere Tausend datenpunkte, sind kein Problem, und wenn man die Updatezeit anpasst bekommt man sogar super flüssige anzeigen hin.
Als tipp: Ihr verbindet ja sowohl die Daten als auch die Limits der Achsen. Die Limits, das sind ja nur 2 Werte, die könnt ihr auch alle 25ms aktualisieren lassen, die Daten dann nur alle 250ms, dann habt ihr einen flüssigen Plot, ohne, dass es zu sehr auf die Performance geht.
 
Zurück
Oben