关于用C脚本实现在WINCC中读取系统时间的问题

在网上看到一段代码,是用C脚本实现在WINCC中读取系统时间。
     “如何在WinCC中读取系统时间? 
   答: 通过如下C-Action:
   #pragma code("kernel32.dll");
   Void GetLocalTimes(SYSTEMTIME*lpst);
   #pragma code();
   SYSTEMTIME time;
   GetLocalTime(&time);
   SetTagWord("Varname",time.wYear);
   SetTagWord("Varname",time.wMonth);
   SetTagWord("Varname",time.wDayOfWeek);
   SetTagWord("Varname",time.wDay);
   SetTagWord("Varname",time.wHour);
   SetTagWord("Varname",time.wMinute);
   SetTagWord("Varname",time.wSecond);
   SetTagWord("Varname",time.wMilliseconds);

 ”

 我想在WINCC上试验一下,可以编译都不能通过,有30个错误。
 提示是ILLEGAL TOKEN,还有GETLOCALTIME不能识别,是怎么回事呢?这个程序是对的吗?

问题补充:
谢谢三位的答复
 1.我试验了一下,如果编译一个空项目,是没有错误的。
 2.我将声明的API函数改成了VOID GetLocalTime(LPSYSTEMTIME lpSytemTime); 
 ,还是不能成功。

 另外我到网上也搜了许多类似问题,有的说是KERNEL32.DLL的路径问题,但是他又没有说明,请问是否是这种可能,该怎么改??

最佳答案

#pragma code("kernel32.dll")
 VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
 #pragma code()

 SYSTEMTIME sysTime;
 char szTime[20]="";

 GetLocalTime(&sysTime);
 sprintf(szTime,"%04d年%02d月%02d号  %02d:%02d:%02d",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);

 return szTime;

 函数名多写了个“s”,你用我这个试试,在我的WINCC上验证通过的。有问题找我。
 QQ:19216436

提问者对于答案的评价:
试验过了
 非常感谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐