TwinCat3 PLC HMI Targetvisualisierung - Masterfolie, Datumsanzeige

drng

Level-2
Beiträge
40
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,


beim erstellen einer Target Visualisierung mit TC3 stehe ich momentan vor 2 Problemen, eventuell kann mir ja hier jemand helfen.


1. Wie erstelle ich eine Masterfolie, die dann auf allen Visualisierungsseiten zu sehen ist, d.h. z.B. eine Kopf Zeile (Allgemeine Anzeige, User-Login, Firmenlogo etc.) und eine Fusszeile (Navigationsbuttons)
Momentan konnte ich leider nur die Einzelbestandteile Kopieren und auf jeder Seite Einfügen. Dadurch sind Änderungen auf jeder Seite für sich notwendig.


2. Ich möchte Datum und Uhrzeit (in der in Punkt 1. beschriebenen Kopfzeile) anzeigen. Um die Zeit aus der Steuerung auslesen zu können, habe ich den FB "NT_GetTime" verwendet. Weiterhin habe ich die Ausgabe von NT_GetTime mithilfe von "SYSTEMTIME_TO_DT" in den Datentyp DT gewandelt.
In der Visualisierung habe ich nun als Textvariable die Ausgabevariable hinterlegt (beide, unabhängig voneinander getestet) und dann Platzhalter eingefügt. Leider werden mir, wenn ich "%t%A %d.%m.%y %H:%M:%S" als (Platzhalter)Text eingebe nur wirre Zahlenkombinationen angezeigt.

Wäre schön, wenn mir da jemand weiterhelfen kann

Mit freundlichem Gruß,

drng
 
Okay,

die Masterfolie habe ich nun in Form eines "Frames" im Hintergrund jeden Bildes abgelegt. Das funktioniert zumindest so wie ich es mir vorstelle. Ob das tatsächlich die richtige Lösung ist, weiß ich allerdings nicht. ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Frame als Ersatz der Masterfolie ist goldrichtig.

Für die Uhrzeit mal zwei copy/past Infos, damit solltest du dann klarkommen hoffe ich.

"Die in CODESYS V2.3 verwendete Zeitformatierung %t wird automatisch in das neue %t[] Format konvertiert, wenn ein altes Projekt importiert wird, jedoch werden die folgenden Platzhalter nicht mehr unterstützt: %U, %W, %z, %Z."
" %t['Last update:' ddd MMM dd.MM.yy 'at' HH:mm:ss]
-> Anzeige im Online-Modus: Last update: Wed Aug 28.08.02 at 16:32:45 "


Ach ja: %t[] arbeitet im allgemeinen auf der Systemzeit, da operierst du nicht mit einer Variable. Wenn du es aber auf eine Var (TOD, DT, TIME..)zugreifen willst:

Deklaration in PLC_PRG: LTIME1 : LTIME := LTIME#1000D23H44M12S34MS2US44NS

Eigenschaft Textvariable: PLC_PRG.LTIME1
Eigenschaft Text: Time1: %t[dd.HH.m.s.ms.us.ns]
Anzeige im Online-Modus:
Time1: 1000.23.44.12.34.2.44


Gruss Guga
 
Hallo,

Danke für die Hilfe ersteinmal. Das hat mich schon weiter gebracht.
Allerdings kannte ich den Copy/Paste Auszug schon. Mir wurden nur immer ausschließlich 00:00:00:00 etc. angezeigt
Wenn ich auf die Systemzeit ohne Textvariable zugreife wird das auch nicht anders.

Wenn ich nun eine Textvariable mit LTIME hinterlege bekomme ich folgende Anzeige:

Ausgabe.PNG

Mein verwendeter Text sieht so aus:

%t[dd.MM.yy HH.m.s]

Das heißt der Teil mit der Uhrzeit funktioniert. Tag Monat Datum leider nicht.

Hinterlege ich eine DT Variable oder die SystemZeit Struct bekomme ich weiterhin nur 00:00:00....



Weiterhin zeigt er die Zeit nur beim Visustart und dann bei jedem Bildwechsel an. Kann das daran liegen, dass das Element nur im Frame Dargestellt wird?
Gruß,

drng
 
Zuletzt bearbeitet:
ich hab das Ganze jetzt ausprobiert.
Funktioniert ohne Probleme mit und ohne hinterlegte Variable.
Allerdings nicht mit Variablen vom Datentyp Timestr. Da müsstest du das Konvertieren mit z.B. SYSTEMTIME_TO_DT.

Auch wenn ich das ganze in einem Frame laufen lasse wird die Uhrzeit regelmaessig aufgefrischt.

Benutzt du die aktuelle TwinCAT-Version? Wenn nicht wäre eventuell ein update angebracht.

Guga
 
Habe selber noch eine Frage: Möchte in der Visu eine Kurve darstellen und such das Control dazu, Trace oder so ähnlich, in TC2 gab es das, in TC3.1 finde ich es nicht...

Gerry
 
Ich hab das zwar selbst noch nicht genutzt, aber dafür musst du denke ich ein "Histogram" aus der Toolbox (Werkzeugkasten) hinzufügen.

Wenn du das Element eingefügt hast, kannst du in den Elementeigenschaften den Darstellungstyp von Balken auf Kurve Umstellen.

Vielleicht hilft dir das ja :)

Meine Datums- /Zeitanzeige gibt allerdings immernoch nur die Zeit korrekt aus. Das Datum nicht. Und aktualisiert wird tatsächlich nur bei Bildwechsel.. so langsam bin ich ratlos :?

//EDIT:

Momentan wird mir als Text in der Runtime folgendes Angezeigt:
16889.00.0 08:58:26 Uhr
Hinterlegt ist das:
%t[dd.MM.y HH:mm:ss 'Uhr']
Und als Variable habe ich die Systemzeit mit NT_GetTime ausgelesen, mit SYSTEMTIME_TO_DT in DT gewandelt und von DT mit DT_TO_LTIME in eine LTIME Variable geschrieben. Diese ist dann auch angebunden.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@gerryvel
Habe Beckhoff danach mal gefragt, deren Aussage war, dass es mit TC 3.1 Build 4020 wieder ins Spiel kommt. Dies sollte im 1. Quartal geschehen, wie man jedoch sieht, sieht man nichts. Vielleicht ja im 2. Quartal.

Bone
 
Die erkenntnis, die ich gerade gemacht habe ist, dass er mir die Anzahl der Tage aus der LTIME Variable als "Tag" anzeigt.
Mit DT werden mir aber wie gesagt nur Nullen angezeigt. Genauso auch, wenn ich die Variable komplett weg lasse.
Meine TwinCat Version ist die 3.1.4018, also die aktuellste..

//EDIT:
Mit einer Targetvisualisierung lässt sich die Systemzeit nur Anzeigen, wenn Sie in einer Variable gespeichert ist.

"Die Darstellung der Systemzeit mithilfe der zuvor beschriebenen Platzhalter ist momentan nur ohne Verwendung der PLC HMI und der PLC HMI Web möglich. Um auch in Kombination mit Clientvarianten die Systemzeit in der Visualisierung darstellen zu können, kann zum Beispiel der Funktionsblock ‚FB_LocalSystemTime‘ aus der Bibliothek ‚Tc2_Utilities‘ in der SPS verwendet werden. Die Zeit kann mithilfe einer Instanz dieses Funktionsblocks erfragt und in einer Variablen gespeichert werden. Über die Kategorie ‚Textvariablen‘ der Elementeigenschaften kann die Zeit dann in einem Visualisierungselement angezeigt werden."

Wenn ich die Targetvisu abschalte funktionierts auch wunderbar ohne Variable. Aber in der Targetvisu bekomme ichs momentan nur als String ans laufen. Dabei wird mir das ganze aber noch als "DT#2016-03-29-11:43:52" angezeigt. Etwas unschön, aber da lässt sich der String ja noch manipulieren. Vor allem wird dauerhaft aktualisiert. Habe also eigentlich alles was ich will, wenn auch etwas umständlicher als gedacht.


 
Zuletzt bearbeitet:
Das selbe Problem

Hallo,

Danke für die Hilfe ersteinmal. Das hat mich schon weiter gebracht.
Allerdings kannte ich den Copy/Paste Auszug schon. Mir wurden nur immer ausschließlich 00:00:00:00 etc. angezeigt
Wenn ich auf die Systemzeit ohne Textvariable zugreife wird das auch nicht anders.

Wenn ich nun eine Textvariable mit LTIME hinterlege bekomme ich folgende Anzeige:

Anhang anzeigen 32198

Mein verwendeter Text sieht so aus:

%t[dd.MM.yy HH.m.s]

Das heißt der Teil mit der Uhrzeit funktioniert. Tag Monat Datum leider nicht.

Hinterlege ich eine DT Variable oder die SystemZeit Struct bekomme ich weiterhin nur 00:00:00....



Weiterhin zeigt er die Zeit nur beim Visustart und dann bei jedem Bildwechsel an. Kann das daran liegen, dass das Element nur im Frame Dargestellt wird?
Gruß,

drng


Hallo Zusammen,

Weis zufällig jemand, ob es mittlerweile einen Baustein gibt der diese angezeigte Zeit synchronisiert? Mein Problem ist aktuell, dass ich die Windowszeit mittels SNTP aktualisiere was auch gut funktioniert. In der Visu lasse ich die Zeit über %t[dd.MM.yy HH:mm:ss] anzeigen. Jedoch läuft mir diese Zeit und die Windowszeit total auseinander. die Zeit der Visualisierung wird erst bei einem Neustart der Steuerung aktualisiert. Hat vielleicht für dieses Problem schon jemand eine Lösung?

Grüße aus dem Allgäu
 
Hallo,

danke für den Baustein. Mit diesem kann ich zwar die aktuelle Windowszeit auslesen, jedoch wenn ich diese in meiner Visu als Textvariable einfüge gefriert mir die Zeit auf meinem Panel ein. Irgendwie verwirrt mich diese Zeitaktualisierung im Moment immer mehr :confused::confused:
 
Dann bin ich grad erstmal zu weit entfernt vom nächsten Programmiergerät um das angucken zu können :D am besten mal den Support anrufen. Die helfen eigentlich recht schnell und gut. Nur manchmal etwas schwer zu erreichen. Hartnäckigkeit zählt sich dann aus :D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke für den Baustein. Mit diesem kann ich zwar die aktuelle Windowszeit auslesen, jedoch wenn ich diese in meiner Visu als Textvariable einfüge gefriert mir die Zeit auf meinem Panel ein. Irgendwie verwirrt mich diese Zeitaktualisierung im Moment immer mehr :confused::confused:
Wie führst Du denn den Baustein aus? Das er nur nach einer positiven Flanke an Start die neue Zeit ausliest ist Dir bewusst?
 
Zurück
Oben