问题描述:
使用Modicon M580 CPU的系统字%SW51读的本地小时和实际时间的小时显示的值相差8个小时解决方法所属产品线:
Modicon M580 ePAC解决方法:
因为M580的时钟是UTC时间,中国时区处于东八区,因此相对于标准时间会相差8个小时。
本地时间可以通过RRTC_DT函数读取。RRTC_DT读取出来的时间不会差8小时。
RRTC_DT函数以DateTime Type格式返回日期和时间。
这个值可以被转换为一个4个INT类型的数组(BCD格式),包含:
DateAndTime_ARRAY[1] = 16#SS00(秒)
DateAndTime_ARRAY[2] = 16#HHMM(小时和分钟)
DateAndTime_ARRAY[3] = 16#MMDD(月和日)
DateAndTime_ARRAY[4] = 16#YYYY(年)
这4个INT的结构与%SW50到%SW53的结构相同。
此外,使用RRTC_DT函数提取本地时间小时,如下图所示为例:
由INT型变量组成的DT_TO_ARINT类型数组的值最初是BCD格式的,必须将BCD格式转换为INT类型。然后最左边的两个数字表示当地时间小时,可以通过将BCD值除以100(使用DIV函数没有余数)提取。
是否有帮助?