WINCC的系统时间如何读取到变量中
刘玉蓉
发布于2014-10-09 15:30
1
0
标签:
想在WINCC中把系统时间赋值到变量中,然后用变量比较实现时间归档,但是我按下面这个程序做的时候变量没有赋过来。请问是什么原因呢?
#pragma code("kernel32.dll")
VOID GetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME zeit;
GetLocalTime(&zeit);
SetTagWord("varname",zeit.wYear);
SetTagWord("varname",zeit.wMonth);
SetTagWord("varname",zeit.wDayOfWeek);
SetTagWord("varname",zeit.wDay);
SetTagWord("varname",zeit.wHour);
SetTagWord("varname",zeit.wMinute);
SetTagWord("varname",zeit.wSecond);
SetTagWord("varname",zeit.wMilliseconds);
是不是varname变量需要在WINCC的内部变量里面定义?如果是该变量应该是无符号16位数吗?是需要定义8个不同的varname变量吗?
以上的程序是不是能直接复制过来用?还是需要做一些定义,请问能否帮忙指点一下如何修改该程序?
佳答案
做个例子,定义一个16位文本集的字符串内部变量Date1,以下代码把年月日写入变量
#pragma code("kernel32.dll")
VOID GetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME zeit;
char *p;
GetLocalTime(&zeit);
p=SysMalloc(32);
sprintf(p,"%4d年%02d月%02d日",zeit.wYear,zeit.wMonth,zeit.wDay);
SetTagChar("Date1",p);