在实际生产中,需要同步HMI和PLC时间,有些PLC在失点的情况下,只能保持一至两个礼拜(有些安装了电池,有些是靠电容存电,电容内存储的电只能保持一段时间),所以,在每次上电的时候,把HMI的时间写入PLC内,同步二者时间。
在PLC中新建时间设置的变量 (变量是根据PLC中写入时间指令来设置的):
调用功能块:
回到触摸屏界面,找到通信——变量——系统变量,点击进入页面,在页面右侧,选择“系统时间”,添加需要的时间变量:
这此页下面,找到事件——更改数值——计算——setvalue:
在变量输出 关联PLC新建的相关标量 “hui_年”, 值 关联相关的变量,例如¥Year,继续同样的操作,把对应的年、月、日、小时、分、秒进行关联。
回到PLC程序中,调用时间设置FB块,xExecute直接写TRUE,上升沿触发写入,既在上电的一刻,立马把HMI的时间写入PLC:
FB_设置HMI时间(
xExecute:= TRUE,
uiMillisecond:= ,
uiSecond:= hui_秒,
uiMinute:= hui_分,
uiHour:= hui_小时,
uiDay:= hui_日,
uiMonth:= hui_月,
uiYear:= hui_年,
iTimezone:= ,
xResult=> ,
eErrorID=> );
设置系统时间功能块时:SysHC_SetSystemDate,其各个接口定义具体如下:
在设置年、月、日等变量时,得注意 ,其数据类型是UINT,无符号整形数据,不能调用其他数据类型,不然系统会报错。
查看系统时间是否写入,打开Device,选择“系统设置”,查看“时间配置”,对比“日期、时间”的值是否与HMI的值一样。
|