检查DATE_AND_TIME是否有效
IS_VALID_DT检查年、月、日、时、分、秒和毫秒的INT值组合是否是有效的日期和时间值。如果日期和时间值有效,则设置布尔输出标志。
输入
第1个输入:年
第2个输入:月
第3个输入:日
第4个输入:时
第5个输入:分
第6个输入:秒
第7个输入:毫秒
输出
如果结果日期和时间值有效,则设置为TRUE
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
YEAR_value: INT:=2011;
MONTH_value: INT:=12;
DAY_value: INT:=24;
HOUR_value: INT:=18;
MINUTE_value: INT:=29;
SECOND_value: INT:=59;
MILLISECOND_value: INT:=0;
VALID: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 9 ;
NETWORK_BODY
B(B_VARIN,,YEAR_value,15,1,17,3,);
B(B_VARIN,,MONTH_value,15,2,17,4,);
B(B_VARIN,,DAY_value,15,3,17,5,);
B(B_VARIN,,HOUR_value,15,4,17,6,);
B(B_VARIN,,MINUTE_value,15,5,17,7,);
B(B_VARIN,,SECOND_value,15,6,17,8,);
B(B_VARIN,,MILLISECOND_value,15,7,17,9,);
B(B_F,IS_VALID_DT_INT!,Instance,17,0,26,9,);
B(B_VAROUT,,VALID,26,1,28,3,);
L(1,0,1,9);
END_NETWORK_BODY
END_NET_WORK
END_BODY
VALID := IS_VALID_DT_INT(YEAR := YEAR_value,
MONTH := MONTH_value,
DAY := DAY_value,
HOUR := HOUR_value,
MINUTE := MINUTE_value,
SECOND := SECOND_value,
MILLISECOND := MILLISECOND_value);