WINCC的系統(tǒng)時間如何讀取到變量中
劉玉蓉
發(fā)布于2014-10-09 15:30
1
0
標簽:
想在WINCC中把系統(tǒng)時間賦值到變量中,然后用變量比較實現(xiàn)時間歸檔,但是我按下面這個程序做的時候變量沒有賦過來。請問是什么原因呢?
#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的內(nèi)部變量里面定義?如果是該變量應(yīng)該是無符號16位數(shù)嗎?是需要定義8個不同的varname變量嗎?
以上的程序是不是能直接復(fù)制過來用?還是需要做一些定義,請問能否幫忙指點一下如何修改該程序?
佳答案
做個例子,定義一個16位文本集的字符串內(nèi)部變量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);