我在学wincc的用户归档功能,用PLC的外部变量触发生成一条归档数据,当PLC输入值=3时,触发归档,现在归档是触发了,但是读取到的系统时间是格林威治时间和我们的时间差了8小时,我是看教程学的,教程中用的是C脚本写的,现在有什么办法把这个时间改过来,附件图片是我外部变量=3时,触发的情况,可以看到小时不对,脚本如下
//变量声明
UAHCONNECT hConnect=0;
UAHARCHIVE hArchive=0;
LONG num;
LONG plCount;
CHAR pString[60];
SYSTEMTIME SysDate;
SYSTEMTIME SysTime;
CHAR sYear[10];
CHAR sMonth[10];
CHAR sDay[10];
CHAR sHour[10];
CHAR sMinute[10];
CHAR sSecond[10];
//保存文件名加上日期信息
GetSystemTime(&SysDate);
sprintf(sYear,"%d",SysDate.wYear);
sprintf(sMonth,"%d",SysDate.wMonth);
sprintf(sDay,"%d",SysDate.wDay);
strcpy(pString,"abc");
strcat(pString,"");
strcat(pString,sYear);
strcat(pString,"-");
strcat(pString,sMonth);
strcat(pString,"-");
strcat(pString,sDay);
GetSystemTime(&SysTime);
sprintf(sHour,"%d",SysTime.wHour);
sprintf(sMinute,"%d",SysTime.wMinute);
sprintf(sSecond,"%d",SysTime.wSecond);
strcat(pString,"-");
strcat(pString,sHour);
strcat(pString,"-");
strcat(pString,sMinute);
strcat(pString,"-");
strcat(pString,sSecond);
最佳答案
用一个脚本的内部变量myhour保存SysTime.wHour的值,然后myhour=myhour+8,
sprintf(sHour,"%d",myhour);
提问者对于答案的评价:
谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc365419.html