Sonntag, 18. März 2012

Sprachumschaltung für Texte in WinCC C-Scripten

In WinCC C-Scripten werden teilweise auch Texte verwendet. Wenn diese Texte in den C-Scripten kodiert werden, kann eine Sprachumschaltung für diese Texte nicht erstellt werden.

Die sprachabhängigen Texte in C-Skripten gehören in die Text Library und werden von dort mit der Funktion TXTRTGetInfoText ausgelesen. Die WinCC-internen Mechanismen der Sprachumschaltung greifen bei dieser Art der Implementierung. Wenn die Projektsprache Deutsch ist, wird der Text aus der deutschen Spalte der Text Library verwendet, ist die Projektsprache Englisch, so wird der Text aus der englischen Spalte verwendet.

Die Verwendung des Textes aus der Text Library sorgt dafür, dass der Text immer in der richtigen Sprache vorliegt.

Der folgende C-Code zeigt den Einsatz der Funktion TXTRTGetInfoText um den Text aus der Text Library zu lesen.

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("text_rt.dll")
#include "text_rt.h"
#pragma code()
BOOL bOK;
DWORD dwTextID=31 ;  //hier TextID aus der Text Library anpassen.
char szBuffer[256];
CMN_ERROR scError;
DWORD dwSize;
dwSize = sizeof(szBuffer);
bOK = TXTRTGetInfoText (dwTextID, szBuffer, &dwSize, &scError );
printf ("#I101: TXTRTGetInfoText () - szBuffer=\"%s\" dwSize=%d\r\n", szBuffer, dwSize);
SetPropChar(lpszPictureName, lpszObjectName, "Text", szBuffer);

Quelle Siemens:
How can texts be read out of the text library per script at runtime and be displayed in the process screen?
https://support.automation.siemens.com/WW/llisapi.dll?func=ll&objid=21923156&nodeid0=10805585&caller=view&lang=en&siteid=cseus&aktprim=0&objaction=csopen&extranet=standard&viewreg=WW#A29545892

und auf Deutsch:
Wie können zur Runtime Texte per Skript aus der Text Library ausgelesen und im Prozessbild angezeigt werden?
https://support.automation.siemens.com/WW/llisapi.dll/29420392?func=ll&objId=30537268&objAction=csView&nodeid0=10805585&lang=de&siteid=cseus&aktprim=0&extranet=standard&viewreg=WW&load=treecontent