在做西门子PLC程序的报警监控的时候,可能会遇到几乎发生的报警,HMI报警视图里面显示的日期时间不准确。,一排查原来是PLC与触摸屏上的时间不一致。如图Demo示例,第一条报警是通过HMI的离散量报警触发,第二条报警是由西门子Prodiag监控报警触发,第三条是通过指令Program_Alarm生成的报警,实际上这三个报警是Zui终源头是同一个变量触发。如何解决时间不一致的问题(本文阐述的均是基于西门子PLC与西门子的HMI设备)。
需要明确的是默认情况下Prodiag监控或者Program_Alarm生成的报警采用的PLC的系统时间(大多数情况下)或者有专门配置时间戳,而HMI报警使用的时间是HMI系统的时间,往往这两个时间是不一致的,需要准确的监控好系统中的报警,此时需要将进行HMI与PLC的时间同步。
针对同步有两种第一个是将PLC的时间同步到HMI上,第二种是将HMI的时间同步到PLC上。
1、PLC时间同步到HMI上。
1)启用区域指针中的作业信箱,需要在PLC程序中配置相关的变量,如图。
2)利用作业信箱的作业号14、15功能编写PLC程序,选择合适的触发激活这两个功能即可。作业号14用来设置时间、作业号15用来设置日期。需要注意的是程序中传递的参数为BCD格式的时间日期。(参考程序如下)
3)此时HMI与PLC间的时间已经能够正常进行同步了,需要注意的是为了显示一致,还需要根据你所在的地区将PLC和HMI的时区设置好。(PLC设置时区在硬件组态里面,HMI设置时区根据设备不同略有不同,一般情况都是需要退出运行系统在操作系统的设置中设置,此处不做阐述)。
2、HMI时间同步到PLC上,进行该操作有两种方式。
1)利用系统函数(设置PLC日期时间),比如给一个按钮添加该事件即可。
2)作业信箱作业号40、41进行传送。同样需要用到区域指针操作方式与将PLC时间同步到HMI上基本一致,且相对上面方法较为麻烦,如果要将HMI时间同步到PLC上建议采用系统函数的方式
以上就是PLC与HMI之间进行之间日期时间同步方式,需要注意的时候,无论采取哪一种方式为了使Zui终显示效果一致,均需要将PLC与HMI的时区,是否冬夏令时进行正确的设置。HMI同步PLC的方式相对简单,由于现场工况环境,可能会存在多个HMI或者HMI会存在关机重启之类,PLC往往会持续运行。结合来看建议使用PLC同步HMI的方式。后续将介绍多个CPU之间进行日期时间同步的以实现更大系统的监控追溯。不足之处,大家评论交流指正。