如 何 使 用 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); 示 例 : 读 取 时 间 并 存 入 原 始 数 据 类 型 变 量 中 #pragma code("kernel32.dll") VOID GetLocalTime(SYSTEMTIME *lpst); #pragma code(); SYSTEMTIME zeit; GetLocalTime(&zeit); SetTagRaw("varname",(Byte*)&zeit,sizeof (SYSTEMTIME)); 示 例: 通过 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");...