项目有外置GPS时钟源,由于通过NTP和SMITIC方式做时钟同步总是失败(PLC 不向GPS时钟源发送时钟同步请求),咨询了西门子热线判断可能是PLC硬件版本问题,由于项目已完成,不能再用其他软件版本测试,所以现在的思路是用wincc读取服务器的时间(服务器是外置GPS时钟的客户端,时间同步没问题),然后把这个时间再写进PLC,现在的问题是,我在DB块定义了一个DATE_AND_Time的变量,如图
在wincc中建对应的变量,如图
然后拉个IO域用于监视时间,如图
在全局脚本中写C脚本,设置触发器时间为1S,如图
然后再PLC的OB1中调用SFC0,仿真如图
报错8080,日期出错,但是再wincc中监视时间日期是正确的,如图
现在猜想DATE_AND_Time类型的数据占8个字节,在wincc中建的日期时间变量长度虽然是8,但是地址只能选双字类型,是不是这个原因导致的写入时间错误呢?希望各路大神赐教。