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

Dienstag, 6. März 2012

Sprachumschaltung für Bildbausteine (Faceplates) unter Simatic WinCC 7

Bis Simatic WinCC 6.2 war für die Sprachumschaltung der Bildbausteine immer eine besondere Vorgehensweise erforderlich. Für alle Textobjekte gab es zwei Alternativen. Entweder musste die Text-Eigenschaft an der Schnittstelle der Bildbausteine veröffentlicht werden oder die Sprachumschaltung musste in die Bildbausteine verlegt werden.

Die erste Alternative machte eine besondere Planung bei der Erstellung der Bildbausteine erforderlich und war bei kommerziellen Bildbausteinen selten anzutreffen.

Bei der zweiten Alternative mussten die Texte für alle Sprachen bereits bei der Erstellung der Bildbausteine projektiert werden. Sollte eine Projektierung später um eine neue Sprache ergänzt werden, musste diese Sprache auch in den Bildbausteinen ergänzt werden. Die Texte wurden nicht von Easy Language berücksichtigt.

Ab Simatic WinCC 7 ist die Sprachumschaltung der Bildbausteine wesentlich besser in WinCC integriert. Die Texte der Bildbausteine werden vom Textdistributor berücksichtigt und können genauso wie die Projektierung behandelt werden. Die Texte der Bildbausteine werden also exportiert und können mit dem gleichen Workflow bearbeitet werden. Klasse!

Weitere Infos zur Erstellung der Bildbausteine: http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=22779943&load=treecontent&lang=de&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=WW