WinCC 如何使用 WinCC 全局脚本访问系统时钟?【工控老鬼】

标签:
plc培训工控老鬼wincc脚本时钟 |
分类: WinCC |
WinCC 如何使用 WinCC 全局脚本访问系统时钟?【工控老鬼】
说明:
使用下列函数设置或读取系统时间:
- SetSystemTime
- SetLocalTime
- GetSystemTime
- GetLocalTime
系统中本地计算机时间和格林威治时间是有区别的。函数“SetSystemTime / GetSystemTime”用于设置或读取格林威治时间。
函数“SetLocalTime / GetLocalTime”用于设置或读取本地计算机时间。
两种时间会因地理的时区不同而改变,也会受到冬令时和夏令时的影响。两个函数使用方法相同。
操作本地计算机时间的函数是 Windows 系统函数,因此它独立于 WinCC
函数“GetLocalTimeString”或 WinCC
早期版本的“GetLocalTime”函数。
下面的例子程序说明如何在 WinCC 中操作本地计算机时间:
示例:
读取时间并将其存入 Word
类型变量中
#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);
示例1:
读取时间并存入原始数据类型变量中
#pragma code("kernel32.dll")
VOID GetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME zeit;
GetLocalTime(&zeit);
SetTagRaw("varname",(Byte*)&zeit,sizeof (SYSTEMTIME));
示例2:
通过 Word 类型变量设置时间
#pragma code("kernel32.dll")
BOOL SetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME zeit;
zeit.wYear=GetTagWord("varname");
zeit.wMonth=GetTagWord("varname");
zeit.wDayOfWeek=GetTagWord("varname");
zeit.wDay=GetTagWord("varname");
zeit.wHour=GetTagWord("varname");
zeit.wMinute=GetTagWord("varname");
zeit.wSecond=GetTagWord("varname");
zeit.wMilliseconds=GetTagWord("varname");
SetLocalTime(&zeit);
示例3:
通过原始数据类型变量设置时间
#pragma code("kernel32.dll")
VOID SetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME zeit;
GetTagRaw("varname",(BYTE*)&zeit,sizeof (SYSTEMTIME));
SetLocalTime(&zeit);
设置时间的参数可以通过 WinCC 的内部变量来指定,例如通过过程画面中的输入/输出域来实现。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
启程培训中心
工控老鬼技术Blog:http://blog.sina.com.cn/wincchome
E-mail:gongkong8@foxmail.com
QQ空间 :920500908
工控老鬼执着坚守,坚韧笃定,专注于工业自动化技术的传播和推广以及