WinCC标准函数总结 下载本文

{ //德语

SetLanguage(0x0407); }

该运行系统语言被设置为德语。

6. void FillDiagnoseInTags(BOOL bfill)函数,激活或取消激活在变量中存储诊断信息。由于填充变量表示附加系统负载,只应为了诊断信息才激活它。

7. void GetServerTagPrefix(char** ppszServerPrefix, char** ppszTagPrefix, char** ppszWindowPrefix)函数,为了从分布式系统中的多客户机访问相关服务器中的变量,必须通过添加服务器前缀和变量前缀来扩展变量名。如果使用函数GetTagxx或SetTagxx访问变量,该动作控件提供必要的扩展名。如果WinCC API函数被用来获得访问,必须由用户扩展变量名。在这种情况下,GetServerTagPrefix函数提供必要的前缀。 分别为服务器前缀、变量前缀和窗口前缀返回一个“字符”类型的指针。 用户既不修改(不包括strcat)也不释放存储器。 读出服务器前缀的实例 {

char* pszServerPrefix; char* pszTagPrefix; char* pszWindowPrefix;

//获得服务器前缀和变量前缀 GetServerTagPrefix (&pszServerPrefix, &pszTagPrefix, &pszWindowPrefix); //自定义代码

//在那里用户可以使用返回值做某事 ... }

GetServerTagPrefix函数参数:

“pszServerPrefix”是在其中写入服务器前缀的变量。 “pszTagPrefix”是在其中写入变量前缀的变量。 “pszWindowPrefix”是在其中写入窗口前缀的变量。 1). 读出服务器前缀、变量前缀和窗口前缀。

2). 返回的服务器前缀缓冲存储在pszServerPrefix中。 3). 返回的变量前缀缓冲存储在pszTagPrefix中。 4). 返回的窗口前缀缓冲存储在pszWindowPrefix中。 5). 执行处理返回值的自定义代码。 读出服务器前缀的实例 {

char* pszServerPrefix; char* pszTagPrefix; char* pszWindowPrefix; int nServerPrefixLen = 0; int nTagPrefixLen = 0; int nTagLen = 0;

char myTagName[MAX_DM_VAR_NAME+1]; //初始化返回值

memset(myTagName,0,MAX_DM_VAR_NAME + 1);

//获得服务器前缀、变量前缀和窗口前缀 GetServerTagPrefix (&pszServerPrefix, &pszTagPrefix, &pszWindowPrefix); //是否存在服务器前缀 if (pszServerPrefix) {

//获得该字符串的长度

nServerPrefixLen = strlen(pszServerPrefix); } else {

printf(\ return; }

//是否存在变量前缀 if (pszTagPrefix) {

//获得该字符串的长度

nTagPrefixLen = strlen(pszTagPrefix); }

//获得该变量的长度

nTagLen = strlen(\

//检查长度

//ServerPrefix+TagPrefix+VarName + the double points < MAX_DM_VAR_NAME if (nServerPrefixLen + nTagPrefixLen + nTagLen+2 < MAX_DM_VAR_NAME) {

sprintf(myTagName,\ //自定义代码

//在那里用户可以使用返回值做某事 ... } else {

printf(\ return; } }

1). 初始化myTagName变量。

2). 读出服务器前缀、变量前缀和窗口前缀。

3). 如果未返回服务器前缀,发出文本,并且该函数被终止。

4). 如果返回服务器前缀,建立其长度并将其存储在nServerPrefixLen中。 5). 如果返回变量前缀,建立其长度并将其存储在nTagPrefixLen中。 6). 确定变量名的长度和nVarLen中的缓冲区。

7). 如果变量名的长度太长,发出文本,并且该函数被终止。 8). 如果变量名的长度不太长,组成多客户机环境要求的变量名。 9). 执行处理返回值的自定义代码。