INT型データの連結によるDATE TOD型への変換
CONCAT_TOD_INT命令は、時、分、秒、msを表すINT型のデータを連結します。演算結果をTIME_OF_DAY型の出力変数に格納します。入力変数の値が無効な日時データのときBOOL型出力ERRORをセットします。
入力
入力1: 時
入力2: 分
入力3: 秒
入力4: ms
出力
演算結果
入力変数の値が無効な日時データのときBOOL型出力ERRORをセットします。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
TOD_value: TIME_OF_DAY:=TOD#00:00:00;
HOUR_value: INT:=18;
MINUTE_value: INT:=29;
SECOND_value: INT:=59;
MILLISECOND_value: INT:=0;
ERROR: 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_VAROUT,,TOD_value,27,1,29,3,);
B(B_VAROUT,,ERROR,27,2,29,4,);
B(B_VARIN,,HOUR_value,15,1,17,3,);
B(B_VARIN,,MINUTE_value,15,2,17,4,);
B(B_VARIN,,SECOND_value,15,3,17,5,);
B(B_VARIN,,MILLISECOND_value,15,4,17,6,);
B(B_F,CONCAT_TOD_INT!,Instance,17,0,27,6,,?DHOUR?DMINUTE?DSECOND?DMILLISECOND?C?CERROR);
L(1,0,1,9);
END_NETWORK_BODY
END_NET_WORK
END_BODY
TOD_value := CONCAT_TOD_INT(HOUR := HOUR_value,
MINUTE := MINUTE_value,
SECOND := SECOND_value,
MILLISECOND := MILLISECOND_value,
ERROR => ERROR);