TIA BildBaustein in verschiedenen Sprachen

Benpai

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin gerade dabei ein Ventil zu Standartisieren. In der VISU soll ein kleiner Button mit dem Ventil dargestellt werden, wenn man diesen betätigt öffnet sich ein Fenster in dem mehr Information stehen und das Ventil sich öffnen oder schließen lässt. Meine Überlegung war es ein Bildbaustein für das erweiterte Ventil Fenster zu erstellen, der seine Informationon aus einen übergeordneten DB bekommt den alle Ventil-FBs bearbeiten können.

Mein Problem dabei ist, die Ventilbeschreibung für das Fenster in verschiedenen Sprachen zu übergeben.

Meine erste Idee war es die Texte in einem Array eines übergeordneten DBs zu sammeln. Unbenutzte aussortieren und der VISU übergeben, sodass man die Texte noch bearbeiten kann und diese auf dem Speicher des Panels ablegen kann, falls die CPU ausgeschaltet wird und alle daten weg sind. Als Remanent kann ich den Array nicht machen, da ist der Remanet Speicher sehr schnell voll. Da sich die Position im Array eines Ventils nicht ändern sollte, wenn ich ein neues Ventil anlege, wollte ich die Position im Array über die DB-Nummer des Instanz-DBs des Ventilbausteins bestimmen, doch leider kann ich die DB-Nummer nur bei nicht Optimierten DBs auslesen.

Hättet ihr noch eine andere Idee wie ich an die Sache ran gehen kann? Ich würde ungerne für 100 Ventile ein eingenes Popup erstellen an dem ich die Ventielbeschreibung direkt in der VISU übergebe.
 
Was ist mit der Standard Sprachverwaltung von Siemens? hab das mal in Tia 14 mit Bildbausteinen gemacht. sollte ja immer noch gehen bei Bildbausteinen
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich vermute jetzt mal, dass du nur ein Popup mit einer instanz auf der HMI hast und das Popup nicht einfach mehrfach mit unterschiedlichen das eine Popup viele male aufrufst.
Du hast vermutlich ja einen FB für jedes Ventil. Hier wird es dann vermutlich auch enen HMI Struktur geben die du dann an die HMI Übergibst.
An den Eingang des FB's würde ich dann einfach einen eingan mit ArrayOfCurrentName[x] z.B. packen und an die HMI Struktur übergeben.
Dann hast du in dem DB noch weitere Arrays die Sprache1 usw.
Jetzt kannst du je nach Sprache das Sprache1 Array in das CurrentName Array packen.
Wenn du ein Problem mit dem Remanenten Speicher hast kannst du dieie Namen auch einfach in den Startwert schreiben.
 
Um wieviele Texte handelt es sich denn hier ?
Und inwieweit unterscheiden die sich von Ventil zu Ventil ?
Nach meiner Vorstellung sollte da doch alles gleich sein bis auf die Überschrift - also den Namen des Ventil selbst bzw. dessen Funktion ...
Du kannst bei einem Bildbaustein auch alle Texte auf die Schnittstelle legen - also von den Schaltflächen etc.
Naja ... und ich würde da dann auch erstmal an die Standard-Sprachverwaltung denken ...
 
Um wieviele Texte handelt es sich denn hier ?
Und inwieweit unterscheiden die sich von Ventil zu Ventil ?
Nach meiner Vorstellung sollte da doch alles gleich sein bis auf die Überschrift - also den Namen des Ventil selbst bzw. dessen Funktion ...
Du kannst bei einem Bildbaustein auch alle Texte auf die Schnittstelle legen - also von den Schaltflächen etc.
Naja ... und ich würde da dann auch erstmal an die Standard-Sprachverwaltung denken ...
Ich will mir ersparen, für jedes Ventil ein eigendes PopUp (ein versteckter Bildbaustein, da man Popups nicht aus ein Bildbaustein öffnen kann) zu erstellen. Aber da ich den Button um das PopUp zu öffnen ja eh für jedes Ventiel neu erstellen muss, kann ich die Texte auch an dem Ort erstellen und der HMI-Struktur übergeben, dieser kann das dann weiterreichen an das Popup
 
So einfach ist das dann doch nicht. Ich wollte nun eine Statische String-Variable an den Bildbaustein für den Button einfügen. An dieser könnte ich dann an der Schittstelle ein Text eingeben und dann mit einem Skript den Text auf einem String vom UDT übergeben.

SmartTags("Properties\EA.Line1") = SmartTags("Properties\Text_1")

Doch leider lässt sich eine Statische Variable nicht auslesen oder gibt es da noch ander Möglichkeiten?
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    11,6 KB · Aufrufe: 6
Statisch passt
1700210323843.png

Unter Reiter Sprache gewünshcte Sprachen anwählen z.b. so und unter Texte die Übersetzung der Initialen Texte einfügen.
1700210586184.png
Und wenn du im Bild in dem du den Baustei verwendest einen text eiträgst. z.b:
1700210937442.png
kannst du unter dem Reiter Texte oder Global über die Projekttexte Liste die übersetzung dazu eintragen
1700211022363.png

Wenn du über einen Bildbaustein Mehrere Texte Aufrufen willst ohne für jeden Zylinder extra diesen anzulegen den x mal anzulegen hätte ich das über nen Symbolisches EA Feld auf ausgabe konfiguriert alle Zylinder oder was auch immer durchnummerriert und darüber die Info angezeigt. die Textliste kannst auch normal über die Sprachverwaltung übersetzen

Die Textliste finde ich ne Bessere lösung wie eben alles Per String von der SPS zu Senden.
 
Zurück
Oben