PLC Variable über HTML Seite steuern

imha

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

ich haben mittels TF1810 auf TC3 eine Visualisierung erstellt, welche auf einer HTML Seite mit mehreren Reitern angezeigt wird. Aktuell haben ich sowohl auf der Website als auch auf der TC-Visu Buttons um die Sprache zu ändern. Ich würde jetzt aber gerne nur die Buttons auf der HTML Seite verwenden um direkt alles zu übersetzten. Ich dachte mir ich könnte vielleicht eifach über die HTML Buttons eine Variable in TC Steuern und darüber die Sprache einstellen, aber ich weiß nicht genau wie das funktionieren soll und im Internet finde ich auch nichts was funktioniert.
Weiß einer von euch vielleicht mehr oder hat einen anderen Lösungsweg?
 
So tot sagen würde ich die 3S Visu nicht. Wenn es nur ein kleines 7 Zoll Panel ist (CE) und man kommt mit kleiner 10 Seiten aus, was ich mit kleineren Anwendungen schon öfters hatte, warum nicht. Aber wenn es richtige Windows-Rechner sind mit komplexeren Maschinen, ganz klar TE2000, keine Diskussion!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So tot sagen würde ich die 3S Visu nicht. Wenn es nur ein kleines 7 Zoll Panel ist (CE) und man kommt mit kleiner 10 Seiten aus, was ich mit kleineren Anwendungen schon öfters hatte, warum nicht. Aber wenn es richtige Windows-Rechner sind mit komplexeren Maschinen, ganz klar TE2000, keine Diskussion!
Ja es ist in meinem Fall auch nur ein kleines Panel und bist jetzt habe ich damit auch alles hinbekommen, auch wenn es manchmal etwas umständlicher war. Genau deshalb fände ich es jetzt aber richtig schade, nur wegen dieser einen Funktion komplett umzurüsten.
 
was ich mit kleineren Anwendungen schon öfters hatte, warum nicht.
Dann wäre es doch schön, wenn Du oder irgendjemand anders für den TE einen Tipp hätte. Ich kann es nicht, weil ich mit der TF1800 nur sehr selten mal eine SPS-Test-Visu gebaut habe. Ich code native Windows-Anwendungen als HMI für die TC-Runtime.

Es wäre schlecht, wenn jetzt das Gefühl aufkommt, wir würden die TF1800 mobben. :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mich mal auf die Suche gemacht. Ist das hier vielleicht was für dich?
Infosys: Text und Sprache
das ist nur eine Anleitung für das einstellen von Texten und der Sprache. Das brauche ich nicht mehr, die Sprachumstellung habe ich sowieso genauso gemacht. Trotzdem Danke!

Ich habe übrigens gerade mit dem Beckhoff Support telefoniert. Sie meinten es wäre unmöglich, selbst wenn ich mit einer TE2000 Visu arbeiten würde...
 
Es sind 3 Sprachen. Und selbst wenn, das Übereinanderlegen würde doch genauso nichts bringen, wenn man keine Bedingung von der html Seite aus geben kann. Wenn die PLC etwas von den Aktionen über die html Seite mitbekommen würde könnte man natürlich 2 Texte übereinanderlegen. Aber wenn das möglich ist, kann man doch sowieso gleich einen Sprachwechsel durchführen.
 
für einen kleinen Moment hast du mir Hoffnung gemacht, aber danach gings wieder steil bergab. Ich weiß nicht ob du das Problem am Anfang durchgelesen hast, aber es geht darum über einen Button, der sich auf der HTML Seite befindet eine Variable im PLC zu steuern. Man soll gar nicht auf der Visu etwas betätigen müssen damit es passiert.
 
Ich glaube, dass hat bei uns allen etwas länger gedauert, es zu verstehen.

Und da kommt am Ende doch die TF2000 ins Spiel. Du müsstest im HTML-Code der Visu einen Listener implementieren. Und wenn ich das richtig verstanden habe, geht das mit der TF2000.

HTML:
window.addEventListener("message", (event) => {
  if (event.origin !== "https://parent.example.com") return;

  const msg = event.data;
  if (msg?.type === "HMI_ACTION" && msg.action === "press") {
    const el = document.querySelector(`[data-name="${msg.target}"]`)
            || document.getElementById(msg.target);
    el?.click(); // oder dispatchEvent(...)
  }
});

Und dann könntest Du Nachrichten an Dein iFrame senden:

HTML:
const iframe = document.getElementById("plchmi");
iframe.contentWindow.postMessage(
  { type: "HMI_ACTION", action: "press", target: "ButtonStart" },
  "https://hmi.example.com" // Ziel-Origin der HMI
);

Den Code habe ich mit ChatGPT generiert.

Eventuell könntest Du Du auch die webvisu.htm nach der Erstellung manipulieren. Das wäre aber nicht permanent und müsste nach jeder Änderung neu angepasst werden.
 
Zurück
Oben