一、有关时间的数据类型
1、S5TIME。长度为16位,包括时基和时间常数两部分,其数据格式如图1.1所示。详细说明可参见《S7-300/400进阶笔记8:深入浅出的认识一下S7的定时器》。
图1.1S5TIME数据结构
2、IEC时间(TIME)。长度为32位,时基为固定值1ms,数据类型为双整数,所表示的时间值为整数值乘以时基,其格式为:
TaY-bM-cD
由于其为长度16位的整数,因此,其取值范围为:D2163-12-31。
4、日计时(TIME_OF_DAY)。长度为32位,用于记录一天中的24小时,数据类型为双整数,以1ms为时基。其格式为:
TOD0:0:0.000–TOD1990-01-01-00:00:00.000到DT#2089-12-31-23:59:59.999之间。
2)输入"T"加上时间偏移量"D"后的时间值可能会超出有效值范围内,但功能FC1不会对运算结果校验。运算结果溢出后,状态字的二进制结果(BR)会被设置为"0"。
3)DATE_AND_TIME为复杂数据类型,不能采用立即寻址,需在DB块中定义好之后,通过符号地址来访问。
2、FC3(D_TOD_DT)
该功能将数据格式DATE和TIME_OF_DAY组合在一起,形成DATE_AND_TIME类型的数据。
图2.2FC3(D_TOD_DT)
3、FC6(DT_DATE)
该功能从DATE_AND_TIME变量中提取日期,即DATE格式。
图2.3FC6(DT_DATE)
4、FC7(DT_DAY)从DATE_AND_TIME变量中提取"周",用法简单,图解略去。
5、FC8(DT_TOD)从DATE_AND_TIME变量中提取"时间",即TIME_OF_DAY,用法简单,图解落去。
6、FC33(S5TI_TIM)将S5TIME格式的时间转换为TIME格式,用法简单,图解略去。
7、FC40(TIM_S5TI)将TIME格式的时间转换为S5TIME格式,用法简单,图解略去。
标准库中,共提供了上述若干个功能,来实现不同"时间"格式之间的相互转换,方便不同的应用场合,汇总如下:图3有关“时间转换”的功能汇总