Dyn. Sprachumschaltung: Texte über TextID aus Textlist auslesen

Daxgehtsteil

Level-1
Beiträge
74
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
TwinCAT System Service v3.1.0.2204
TwinCAT v3.1.4020.0


Hallo zusammen,

ich würde gerne in TwinCAT Texte aus einer Textlist dynamisch auslesen, in dem ich die zugehörige TextID angebe.
In der Original Codesys-Plattform von 3S sieht der Aufruf dann so aus und funktioniert auch:

VisuElems.cmpDynamictext.DynamicTextGetDefaultText(ADR(sTextList), ADR(sTextListID))^


Im TwinCat ist diese Funktion aber scheinbar noch nicht implementiert, jedenfalls wird immer ein Leerstring herausgegeben.

Gibt es eine andere Möglichkeit auf die Texte über die IDs zuzugreifen? Mir geht es hier aber ausdrücklich nicht um die Dynamische Sprachumschaltung z.b. über On-Mouse-click-events an sich. Diese funktioniert einwandfrei. Viel mehr möchte ich Fehlertexte in einer Textlist organisieren und diese erst mal unabhängig von der Sprachumschaltung auslesen können.

Viel Grüße,

Dax
 
Hallo Dax

Habe das gleiche Problem.
Hast du schon eine Lösung gefunden ?

Besten Dank für deine Antwort

Grüsse,

Beni
 
Wie werden Einträge von Textlisten programmatisch ausgelesen? (CODESYS V3)

TwinCAT System Service v3.1.0.2204
TwinCAT v3.1.4020.0


...
In der Original Codesys-Plattform von 3S sieht der Aufruf dann so aus und funktioniert auch:

VisuElems.cmpDynamictext.DynamicTextGetDefaultText(ADR(sTextList), ADR(sTextListID))^


...


Hallo Dax,
wie geht das mit diesem Aufruf unter CODESYS (V3), ich bekomme das bei mir nicht hin.

Wie genau wird der Name der Textliste an diese Funktion übergeben? Die Textliste heißt ErrorTxt
sTextList ist wohl eine STRING-Variable. Was steht da drin?

Mein, nicht funktionierendes, Programm:
Code:
PROGRAM PLC_PRG
VAR
    uiID : UINT:=1001; // ID in der Textlist (mit diesem nummerischen Wert funktioniert es in der Visu)
    sText : STRING;
    sID : STRING;
    sTextList : STRING:= 'ErrorTxt';
END_VAR


sID:= UINT_TO_STRING(uiID);

sText:= VisuElems.CmpDynamicText.DynamicTextGetDefaultText(pstTextList:= ADR(sTextList), pstTextIndex:= ADR(sID))^;
 
Zuletzt bearbeitet:
Zurück
Oben