全国服务热线 158****1992

6SL3120-2TE21-8AA3

发布:2023-06-01 17:17,更新:2023-10-26 04:00

由于*近手头一个项目用NTP和SMITIC模式去做时间同步都不成功,咨询西门子热线怀疑是plc硬件版本的问题,由于项目已经运行,程序太多不能停机,所以就想着用wincc读取服务器的时间,然后把读取的时间写入PLC来做时钟同步,服务器是外置gps时钟的客户端,时间同步没问题,具体步骤如下:

下面的方法是使用WinCC的脚本把本地或者系统时间写到数据块(DB350)的变量中。

这些变量作为"Date_And_Time"数据类型变量被调用,传送到系统块"SET_CLK" (SFC0)中。

说明

步骤1

1、创建一个共享数据块DB350,在里面建立如下变量,如图所示:

F01.png


2、创建1个功能FC30,在里面调用SFC0,如图所示:

F02.png


3、写设置校对周期的循环时间程序,示例中设置为60S,如图所示:

F03.png

4、在OB1中调用FC30,Step7的程序到此结束。

步骤2

1、打开wincc变量管理器,新建如下变量,变量类型为无符号8位值,格式调整为ByteToBCDByte,如图所示:

F04.png


2、打开全局脚本,在全局动作中写如下脚本,编译保存,

注意
函数使用“设置系统时间”将格林威治时间写入控制器。
如果希望将系统时间写入控制器,可以在C脚本中,将“Get Local Time”注释掉,用“Get System Time”(在C脚本中被注释掉的部分)替代。如图所示:

F05.png


联系方式

  • 地址:上海杨浦 上海市松江区广富林路4855弄88号3楼
  • 邮编:200093
  • 电话:158****1992
  • 经理:聂聪
  • 手机:158****1992
  • 传真:021-33556143
  • QQ:2724917714
  • Email:2724917714@qq.com