找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
WinCC与S7 PLC的时钟同步问题;
在PCS7中,实现PLC与WinCC的同步,一般有两种方法:
1,使用WinCC的时钟同步(time synchronization),再在S7 PLC和WinCC中做诸多配置,即可;西门子网上课堂好像有这方面的描述;
2,在WinCC中编写脚本,S7 PLC中设置一个定时中断,每天的固定时刻往WinCC给出一个脉冲信号,WinCC收到此信号之后,开始执行脚本,进行同步;
感觉比较简单,脚本如下:
#i nclude "apdefap.h"
int gscAction( void )
{
#pragma code("kernel32.dll");
void GetLocalTime(SYSTEMTIME *lpst);
BOOL WINAPI SetSystemTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME time;
GetLocalTime(&time);
time.wHour=0;//在此设置需要的时间
time.wMinute=0;
time.wSecond=0;
time.wMilliseconds=200;//在此设置需要的延时时间
SetSystemTime(&time);
return 0;
}
把以上脚本拷到全局脚本的Action,使用PLC的脉冲触发即可;
3.(1)WinCC 数字/模拟时钟控件
使用“ WinCC 数字/模拟时钟控件”可以简单快速的在 WinCC 运行系统的画面中显示时间。
关于该用法的详尽信息可参看 WinCC 在线帮助:“ WinCC 信息系统 > 使用 WinCC > 创建过程画面 > 使用控件 > WinCC 数字/模拟时钟控件”。
注意:
该控件无法为其它应用(例如全局脚本)提供时间值或者通过其设置(改变)时间值。
(2 )WinCC 通道“ System Info ”
从 WinCC V5.0 SP2 开始, WinCC 就提供了通道“ System Info ”,通过该选项就可以建立一个 WinCC 文本变量来获取系统时间。该 WinCC 变量可以用于在过程画面中显示本地计算机的系统时间,或者在全局脚本中利用该变量。但是不可以通过它来进行时间设置。
注意:
本地计算机时间是字符串类型的。通过 WinCC 变量读出后,可以编辑该字符串,可以将其拆分(例如年,月,日,时,分秒)。应该注意的是该时间显示的格式与操作系统的区域设置相一致。
(3) Windows API 函数
可以在 C 全局脚本中调用 Windows API 函数:
GetLocalTime(),
SetLocalTime(),
GetSystemTime() and
SetSystemTime()
来读取或者设置本地计算机的时间或协调世界时 (UTC)。这些函数使用“ SYSTEMTIME ”数据类型 (结构),也就是按时间的数字组成部分 (年,月,日,时,分,秒,毫秒...)。
(4 )VB 脚本
可以在 WinCC 中使用 VB 脚本查询及设置日期和时间。
可以选择:
Time 函数
Time 函数可以返回本地计算机时间 (不含日期)。
"WinCC Information System > Working with WinCC > VBS for Creating Procedures and Actions > Basics Principles of VBScripts > VBScript Language Reference > Functions > Time Function".
Now 函数
Now 函数返回本地计算机时间 (日期及时间)。
"WinCC Information System > Working with WinCC > VBS for Creating Procedures and Actions > Basics Principles of VBScripts > VBScript Language Reference > Functions > Now Function".
Windows 管理规范 ( WMI )
Windows 管理规范 ( WMI ) 可以访问所有系统参数。 WMI 可以用于获得及管理系统信息。因此可以通过 VB 脚本读出本地计算机时间或协调世界时 ( UTC ),也可以读出及设置计算机的时区。
关于“ Windows 管理规范 ( WMI )”的详细信息请参看 Microsoft 的文档:
http://www.microsoft.com/technet/scriptcenter/scripts.
在那您可以找到 VB 脚本的样例代码,简要的描述及与不同的 Windows 版本的兼容性。
(5) Windows “Date”及“Time” 命令
Windows 提供了命令提示符命令“Time”及“Date”用于显示及设置系统的时间及日期。
可以在 Windows 提示符窗口中输入“help time”或者“help date”可以看到这两个命令的简要描述。
可以在 WinCC 的脚本 ( C 或者 VB 脚本 ) 中使用以上提及的命令提示符命令。下面提供了 C 及 VB 脚本样例程序:
Global Script C
ProgramExecute("cmd /c time 14:16");
or
system("time 14:16");
VBScript
Dim objWshShell
Set objWshShell = CreateObject("Wscript.Shell")
objWshShell.Run "cmd /C time 14:16", 1
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!